X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2Fcommands%2FDeleteUsers.java;h=e583bef53bd610b5d99af00ab2266271536760d1;hb=c13da2a3a91edd21b54db7563727d009def37d3e;hp=901c371372488275c5866a84b1301a7056eb8a0d;hpb=a66f0b27fca65170dc9f0605fd4628714733c914;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/commands/DeleteUsers.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/commands/DeleteUsers.java index 901c37137..e583bef53 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/commands/DeleteUsers.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/commands/DeleteUsers.java @@ -19,8 +19,8 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import org.argeo.cms.util.useradmin.UserAdminUtils; import org.argeo.security.ui.admin.SecurityAdminPlugin; -import org.argeo.security.ui.admin.internal.UiAdminUtils; import org.argeo.security.ui.admin.internal.UserAdminWrapper; import org.argeo.security.ui.admin.internal.parts.UserEditorInput; import org.eclipse.core.commands.AbstractHandler; @@ -36,7 +36,7 @@ import org.osgi.service.useradmin.User; import org.osgi.service.useradmin.UserAdmin; import org.osgi.service.useradmin.UserAdminEvent; -/** Deletes the selected users */ +/** Delete the selected users */ public class DeleteUsers extends AbstractHandler { public final static String ID = SecurityAdminPlugin.PLUGIN_ID + ".deleteUsers"; @@ -56,8 +56,8 @@ public class DeleteUsers extends AbstractHandler { while (it.hasNext()) { User currUser = it.next(); - String userName = UiAdminUtils.getUsername(currUser); - if (UiAdminUtils.isCurrentUser(currUser)) { + String userName = UserAdminUtils.getUsername(currUser); + if (UserAdminUtils.isCurrentUser(currUser)) { MessageDialog.openError(HandlerUtil.getActiveShell(event), "Deletion forbidden", "You cannot delete your own user this way."); @@ -81,7 +81,6 @@ public class DeleteUsers extends AbstractHandler { for (User user : users) { String userName = user.getName(); - // TODO find a way to close the editor cleanly if opened. Cannot be // done through the UserAdminListeners, it causes a // java.util.ConcurrentModificationException because disposing the @@ -89,8 +88,11 @@ public class DeleteUsers extends AbstractHandler { IEditorPart part = iwp.findEditor(new UserEditorInput(userName)); if (part != null) iwp.closeEditor(part, false); - userAdmin.removeRole(userName); + } + userAdminWrapper.commitOrNotifyTransactionStateChange(); + + for (User user : users) { userAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_REMOVED, user)); }