From 29a4101b037999cfc314aaadbbb9f05df65038a1 Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 5 Oct 2012 07:34:55 +0000 Subject: [PATCH] =?UTF-8?q?Fix=20f=C3=BCr=20Ticket=20#1393:=20Abbrechen=20?= =?UTF-8?q?des=20Dialog=20zum=20Rollen=20hinzuf=C3=BCgen=20speichert=20?= =?UTF-8?q?=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1874 8810af33-2d31-482b-a856-94f89814c4df --- .../cms/ui/workflow/TaskAddRole.java | 38 ++++++++++++------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/ccm-cms/src/com/arsdigita/cms/ui/workflow/TaskAddRole.java b/ccm-cms/src/com/arsdigita/cms/ui/workflow/TaskAddRole.java index abb11539b..8128ffc40 100755 --- a/ccm-cms/src/com/arsdigita/cms/ui/workflow/TaskAddRole.java +++ b/ccm-cms/src/com/arsdigita/cms/ui/workflow/TaskAddRole.java @@ -53,8 +53,8 @@ import java.util.Iterator; import java.util.TooManyListenersException; class TaskAddRole extends CMSForm { - private final TaskRequestLocal m_task; + private final TaskRequestLocal m_task; private final OptionGroup m_roles; private final Submit m_add; private final Submit m_cancel; @@ -90,6 +90,7 @@ class TaskAddRole extends CMSForm { } private class InitListener implements FormInitListener { + public final void init(final FormSectionEvent e) throws FormProcessException { final PageState state = e.getPageState(); @@ -104,45 +105,52 @@ class TaskAddRole extends CMSForm { m_roles.setValue(state, list.toArray()); } + } private class ProcessListener implements FormProcessListener { + public final void process(final FormSectionEvent e) throws FormProcessException { final PageState state = e.getPageState(); - final CMSTask task = m_task.getTask(state); + if (m_add.isSelected(state)) { + final CMSTask task = m_task.getTask(state); - task.removeAllGroupAssignees(); + task.removeAllGroupAssignees(); - final String[] roles = (String[]) m_roles.getValue(state); + final String[] roles = (String[]) m_roles.getValue(state); - if (roles != null) { - for (int i = 0; i < roles.length; i++) { - task.assignGroup(new Group(new BigDecimal(roles[i]))); + if (roles != null) { + for (int i = 0; i < roles.length; i++) { + task.assignGroup(new Group(new BigDecimal(roles[i]))); + } } - } - task.save(); + task.save(); + } } + } private class SubmissionListener implements FormSubmissionListener { + public final void submitted(final FormSectionEvent e) throws FormProcessException { final PageState state = e.getPageState(); - final SecurityManager sm = Utilities.getSecurityManager(state); + final SecurityManager sm = CMS.getSecurityManager(state); if (!sm.canAccess(state.getRequest(), SecurityManager.WORKFLOW_ADMIN)) { - throw new FormProcessException - (lz(("cms.ui.workflow.insufficient_privileges"))); + throw new FormProcessException(lz(("cms.ui.workflow.insufficient_privileges"))); } } + } private class RoleOptionPrintListener extends DataQueryOptionPrintListener { + public static final String QUERY_NAME = - "com.arsdigita.cms.getStaffRoles"; + "com.arsdigita.cms.getStaffRoles"; public RoleOptionPrintListener() { super(); @@ -163,8 +171,9 @@ class TaskAddRole extends CMSForm { } public String getValue(DataQuery d) { - return (String)d.get("name"); + return (String) d.get("name"); } + } private static GlobalizedMessage gz(final String key) { @@ -174,4 +183,5 @@ class TaskAddRole extends CMSForm { private static String lz(final String key) { return (String) gz(key).localize(); } + }