ValidationListener für Parent-App beim Anlegen einer neuen Application Instanz.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2275 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2013-07-26 14:20:28 +00:00
parent a4cd0245ef
commit ca50661b68
8 changed files with 38 additions and 12 deletions

View File

@ -67,4 +67,9 @@ public class BookmarksAppManager extends AbstractApplicationManager<Bookmarks> {
}
}
public boolean allowRoot() {
return false;
}
}

View File

@ -39,7 +39,9 @@ public abstract class AbstractApplicationManager<T extends Application> implemen
* @return The standard form for creating new instances of an application.
*/
public Form getApplicationCreateForm() {
return new ApplicationCreateForm<T>(getApplication());
return new ApplicationCreateForm<T>(getApplication(), allowRoot());
}
public abstract boolean allowRoot();
}

View File

@ -33,6 +33,7 @@ import com.arsdigita.bebop.form.Option;
import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.form.TextArea;
import com.arsdigita.bebop.form.TextField;
import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.StringInRangeValidationListener;
import com.arsdigita.bebop.parameters.StringParameter;
@ -75,7 +76,7 @@ public class ApplicationCreateForm<T extends Application> extends Form {
private final TextArea applicationDesc;
private final SaveCancelSection saveCancelSection;
public ApplicationCreateForm(final Class<T> appClass) {
public ApplicationCreateForm(final Class<T> appClass, final boolean allowRoot) {
super(FORM_NAME);
@ -109,6 +110,12 @@ public class ApplicationCreateForm<T extends Application> extends Form {
}
});
if (!allowRoot) {
parentApp.addValidationListener(new NotNullValidationListener());
parentApp.addValidationListener(new NotEmptyValidationListener());
}
} catch (TooManyListenersException ex) {
throw new UncheckedWrapperException(ex);
}

View File

@ -46,6 +46,8 @@ public class FaqAppManager extends AbstractApplicationManager<Faq> {
return container;
}
public boolean allowRoot() {
return false;
}
}

View File

@ -39,11 +39,16 @@ public class ForumApplicationManager extends AbstractApplicationManager<Forum> {
final ApplicationInstanceAwareContainer container = new ApplicationInstanceAwareContainer();
final BoxPanel panel = new BoxPanel();
panel.add(new Label(new GlobalizedMessage("forum.ui.admin.no_settings", "com.arsdigita.forum.ui.ForumResources")));
panel.add(
new Label(new GlobalizedMessage("forum.ui.admin.no_settings", "com.arsdigita.forum.ui.ForumResources")));
container.add(panel);
return container;
}
public boolean allowRoot() {
return false;
}
}

View File

@ -250,7 +250,7 @@ public class SciInstitutePublicationsTab implements GenericOrgaUnitTab {
publicationBundlesQuery.setParameter("orgaunitIds", orgaunitIds);
final StringBuilder filterBuilder = new StringBuilder();
final StringBuilder filterBuilder = new StringBuilder();
while (publicationBundlesQuery.next()) {
if (filterBuilder.length() > 0) {
filterBuilder.append(',');

View File

@ -44,4 +44,9 @@ public class WebLogAppManager extends AbstractApplicationManager<WebLogApplicati
return container;
}
public boolean allowRoot() {
return false;
}
}