From ca50661b682d47fea03014b79867b6d3478ef32a Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 26 Jul 2013 14:20:28 +0000 Subject: [PATCH] =?UTF-8?q?ValidationListener=20f=C3=BCr=20Parent-App=20be?= =?UTF-8?q?im=20Anlegen=20einer=20neuen=20Application=20Instanz.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@2275 8810af33-2d31-482b-a856-94f89814c4df --- .../com/arsdigita/bookmarks/BookmarksAppManager.java | 5 +++++ .../applications/AbstractApplicationManager.java | 4 +++- .../ui/admin/applications/ApplicationCreateForm.java | 9 ++++++++- .../ui/admin/applications/ApplicationManager.java | 2 +- ccm-faq/src/com/arsdigita/faq/FaqAppManager.java | 4 +++- .../com/arsdigita/forum/ForumApplicationManager.java | 11 ++++++++--- .../contenttypes/ui/SciInstitutePublicationsTab.java | 10 +++++----- ccm-weblog/src/org/undp/weblog/WebLogAppManager.java | 5 +++++ 8 files changed, 38 insertions(+), 12 deletions(-) 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