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.UserAdminUtils;
import org.argeo.security.ui.admin.internal.UserAdminWrapper;
import org.argeo.security.ui.admin.internal.parts.UserEditorInput;
import org.eclipse.core.commands.AbstractHandler;
UserAdmin userAdmin = userAdminWrapper.getUserAdmin();
IWorkbenchPage iwp = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage();
-
for (Group group : groups) {
String groupName = group.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
IEditorPart part = iwp.findEditor(new UserEditorInput(groupName));
if (part != null)
iwp.closeEditor(part, false);
-
userAdmin.removeRole(groupName);
+ }
+ userAdminWrapper.commitOrNotifyTransactionStateChange();
+
+ // Update the view
+ for (Group group : groups) {
userAdminWrapper.notifyListeners(new UserAdminEvent(null,
UserAdminEvent.ROLE_REMOVED, group));
}
+
return null;
}