diff --git a/ccm-bookmarks/src/com/arsdigita/bookmarks/BookmarksAppManager.java b/ccm-bookmarks/src/com/arsdigita/bookmarks/BookmarksAppManager.java index 0a317c17b..3d5350c20 100644 --- a/ccm-bookmarks/src/com/arsdigita/bookmarks/BookmarksAppManager.java +++ b/ccm-bookmarks/src/com/arsdigita/bookmarks/BookmarksAppManager.java @@ -67,4 +67,9 @@ public class BookmarksAppManager extends AbstractApplicationManager { } } + + public boolean allowRoot() { + return false; + } + } diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/AbstractApplicationManager.java b/ccm-core/src/com/arsdigita/ui/admin/applications/AbstractApplicationManager.java index c4ea4f5aa..2491470e4 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/AbstractApplicationManager.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/AbstractApplicationManager.java @@ -39,7 +39,9 @@ public abstract class AbstractApplicationManager implemen * @return The standard form for creating new instances of an application. */ public Form getApplicationCreateForm() { - return new ApplicationCreateForm(getApplication()); + return new ApplicationCreateForm(getApplication(), allowRoot()); } + public abstract boolean allowRoot(); + } diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationCreateForm.java b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationCreateForm.java index 5f55e7f7e..28685d442 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationCreateForm.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationCreateForm.java @@ -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 extends Form { private final TextArea applicationDesc; private final SaveCancelSection saveCancelSection; - public ApplicationCreateForm(final Class appClass) { + public ApplicationCreateForm(final Class appClass, final boolean allowRoot) { super(FORM_NAME); @@ -109,6 +110,12 @@ public class ApplicationCreateForm extends Form { } }); + + if (!allowRoot) { + parentApp.addValidationListener(new NotNullValidationListener()); + parentApp.addValidationListener(new NotEmptyValidationListener()); + } + } catch (TooManyListenersException ex) { throw new UncheckedWrapperException(ex); } diff --git a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationManager.java b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationManager.java index 23911407b..2d1737f4c 100644 --- a/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationManager.java +++ b/ccm-core/src/com/arsdigita/ui/admin/applications/ApplicationManager.java @@ -77,5 +77,5 @@ public interface ApplicationManager { * {@code null} if the is a singleton. */ Form getApplicationCreateForm(); - + } diff --git a/ccm-faq/src/com/arsdigita/faq/FaqAppManager.java b/ccm-faq/src/com/arsdigita/faq/FaqAppManager.java index 7f60a6e7b..9f9f64cd9 100644 --- a/ccm-faq/src/com/arsdigita/faq/FaqAppManager.java +++ b/ccm-faq/src/com/arsdigita/faq/FaqAppManager.java @@ -46,6 +46,8 @@ public class FaqAppManager extends AbstractApplicationManager { return container; } - + public boolean allowRoot() { + return false; + } } diff --git a/ccm-forum/src/com/arsdigita/forum/ForumApplicationManager.java b/ccm-forum/src/com/arsdigita/forum/ForumApplicationManager.java index 0bddcf371..85b9b9f54 100644 --- a/ccm-forum/src/com/arsdigita/forum/ForumApplicationManager.java +++ b/ccm-forum/src/com/arsdigita/forum/ForumApplicationManager.java @@ -39,11 +39,16 @@ public class ForumApplicationManager extends AbstractApplicationManager { 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; + } + } diff --git a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java index d2cc475cc..2c137f1cd 100644 --- a/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java +++ b/ccm-sci-types-institute/src/com/arsdigita/cms/contenttypes/ui/SciInstitutePublicationsTab.java @@ -241,16 +241,16 @@ public class SciInstitutePublicationsTab implements GenericOrgaUnitTab { orgaunit.getContentBundle().getID().toString()); departmentsQuery.setParameter("assocType", SciInstituteDepartmentsStep.ASSOC_TYPE); - while (departmentsQuery.next()) { + while (departmentsQuery.next()) { orgaunitIds.add(departmentsQuery.get("orgaunitId").toString()); } - } else { + } else { orgaunitIds.add(orgaunit.getID().toString()); } - + publicationBundlesQuery.setParameter("orgaunitIds", orgaunitIds); - - final StringBuilder filterBuilder = new StringBuilder(); + + final StringBuilder filterBuilder = new StringBuilder(); while (publicationBundlesQuery.next()) { if (filterBuilder.length() > 0) { filterBuilder.append(','); diff --git a/ccm-weblog/src/org/undp/weblog/WebLogAppManager.java b/ccm-weblog/src/org/undp/weblog/WebLogAppManager.java index 54768b071..c19457bce 100644 --- a/ccm-weblog/src/org/undp/weblog/WebLogAppManager.java +++ b/ccm-weblog/src/org/undp/weblog/WebLogAppManager.java @@ -44,4 +44,9 @@ public class WebLogAppManager extends AbstractApplicationManager