From cc84642782147c4065222818890dcbd1c0e7b943 Mon Sep 17 00:00:00 2001 From: baka Date: Mon, 26 Sep 2016 13:42:31 +0000 Subject: [PATCH] =?UTF-8?q?Restores=20some=20functions=20of=20the=20BaseRo?= =?UTF-8?q?leForm.=20It=20can=20again=20check=20for=20duplicated=20names?= =?UTF-8?q?=20between=20roles,=20but=20uses=20modern=20Java=E2=84=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4321 8810af33-2d31-482b-a856-94f89814c4df --- .../arsdigita/cms/ui/role/BaseRoleForm.java | 32 ++++++------------- .../arsdigita/cms/ui/role/RoleEditForm.java | 1 + 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/BaseRoleForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/BaseRoleForm.java index f7acd694a..0f8ef9d65 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/BaseRoleForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/BaseRoleForm.java @@ -30,13 +30,13 @@ import com.arsdigita.cms.CMS; import com.arsdigita.cms.ui.BaseForm; import com.arsdigita.cms.util.SecurityConstants; import com.arsdigita.globalization.GlobalizedMessage; +import com.arsdigita.ui.admin.GlobalizationUtil; import com.arsdigita.util.UncheckedWrapperException; import org.apache.log4j.Logger; import org.libreccm.security.Role; import org.librecms.contentsection.ContentSection; -import java.util.Collection; -import java.util.TooManyListenersException; +import java.util.*; /** * For more detailed information see {@link com.arsdigita.bebop.Form}. @@ -111,6 +111,9 @@ public class BaseRoleForm extends BaseForm { m_role = role; } + /** + * Validates that there are no duplicates between the names of roles. + */ @Override public final void validate(final ParameterEvent e) throws FormProcessException { @@ -119,32 +122,17 @@ public class BaseRoleForm extends BaseForm { CMS.getContext().getContentSection(); final String name = (String) m_name.getValue(state); - Collection roles; + Collection roles = section.getRoles(); - /* - if (m_useViewersGroup) { - roles = section.getViewersGroup().getRoles(); - } else { - roles = section.getStaffGroup().getRoles(); - } - - - - while (roles.next()) { - final Role role = roles.getRole(); - - if (roles.getRole().getName().equalsIgnoreCase(name) + for (Role role : roles) { + if (role.getName().equalsIgnoreCase(name) && (m_role == null - || !m_role.getRole(state).equals(role))) { - roles.close(); + || !m_role.getRole(state).equals(role))) { throw new FormProcessException - (GlobalizationUtil.globalize("cms.ui.role.name_not_unique")); + (GlobalizationUtil.globalize("cms.ui.role.name_not_unique")); } } - - roles.close(); - */ } } } diff --git a/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/RoleEditForm.java b/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/RoleEditForm.java index d46abe92c..4328ad411 100755 --- a/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/RoleEditForm.java +++ b/ccm-cms/src/main/java/com/arsdigita/cms/ui/role/RoleEditForm.java @@ -105,6 +105,7 @@ final class RoleEditForm extends BaseRoleForm { role.save();*/ + // TODO This could be terribly wrong. Needs confirmation. List newPermissions = new ArrayList<>(); String[] selectedPermissions = (String[]) m_privileges.getValue(state);