From 30282a3c0f762b5c6e31c945b70d789054975766 Mon Sep 17 00:00:00 2001 From: Bruno Sinou Date: Sat, 7 Nov 2015 16:39:59 +0000 Subject: [PATCH] Test if Group before User git-svn-id: https://svn.argeo.org/commons/trunk@8562 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../ui/admin/internal/parts/GroupMainPage.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/GroupMainPage.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/GroupMainPage.java index 1e6cd4f10..b6b7d6ecd 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/GroupMainPage.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/GroupMainPage.java @@ -388,16 +388,8 @@ public class GroupMainPage extends FormPage implements ArgeoNames { String newUserName = (String) event.data; UserAdmin myUserAdmin = userAdminWrapper.getUserAdmin(); Role role = myUserAdmin.getRole(newUserName); - if (role.getType() == Role.USER) { - // TODO check if the group is already member of this group - userAdminWrapper.beginTransactionIfNeeded(); - User user = (User) role; - myGroup.addMember(user); - userAdminWrapper.notifyListeners(new UserAdminEvent(null, - UserAdminEvent.ROLE_CHANGED, myGroup)); - } else if (role.getType() == Role.GROUP) { + if (role.getType() == Role.GROUP) { Group newGroup = (Group) role; - Shell shell = getViewer().getControl().getShell(); // Sanity checks if (myGroup == newGroup) { // Equality @@ -424,12 +416,18 @@ public class GroupMainPage extends FormPage implements ArgeoNames { + ", this membership already exists"); return; } - userAdminWrapper.beginTransactionIfNeeded(); // TODO implement the dirty state myGroup.addMember(newGroup); userAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, myGroup)); + } else if (role.getType() == Role.USER) { + // TODO check if the group is already member of this group + userAdminWrapper.beginTransactionIfNeeded(); + User user = (User) role; + myGroup.addMember(user); + userAdminWrapper.notifyListeners(new UserAdminEvent(null, + UserAdminEvent.ROLE_CHANGED, myGroup)); } super.drop(event); } -- 2.30.2