X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.ui.admin%2Fsrc%2Forg%2Fargeo%2Fsecurity%2Fui%2Fadmin%2Finternal%2Fparts%2FUserMainPage.java;h=db6eb538fe059635393edfa3781e20bb4055c917;hb=8260f4470f514ea347ca53f5b4dfc632c4a4de66;hp=1a41777272ea0f03cd49038c85b8e639aa7372de;hpb=f295f8e7a43efc1839416158f4e0f268506c88b5;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UserMainPage.java b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UserMainPage.java index 1a4177727..db6eb538f 100644 --- a/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UserMainPage.java +++ b/org.argeo.security.ui.admin/src/org/argeo/security/ui/admin/internal/parts/UserMainPage.java @@ -19,7 +19,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.argeo.ArgeoException; +import org.argeo.cms.CmsException; import org.argeo.cms.auth.AuthConstants; import org.argeo.cms.util.useradmin.UserAdminUtils; import org.argeo.eclipse.ui.ColumnDefinition; @@ -111,7 +111,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { } /** Creates the general section */ - private void appendOverviewPart(Composite parent, final User user) { + private void appendOverviewPart(final Composite parent, final User user) { FormToolkit tk = getManagedForm().getToolkit(); Section section = addSection(tk, parent, "Main information"); @@ -142,7 +142,8 @@ public class UserMainPage extends FormPage implements ArgeoNames { @Override public void initialize(IManagedForm form) { super.initialize(form); - listener = editor.new MainInfoListener(this); + listener = editor.new MainInfoListener(parent.getDisplay(), + this); userAdminWrapper.addListener(listener); } @@ -227,7 +228,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { || !password2.getText().equals("")) { if (password1.getText().equals(password2.getText())) { char[] newPassword = password1.getText().toCharArray(); - userAdminWrapper.beginTransactionIfNeeded(); + // userAdminWrapper.beginTransactionIfNeeded(); user.getCredentials().put(null, newPassword); password1.setText(""); password2.setText(""); @@ -235,7 +236,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { } else { password1.setText(""); password2.setText(""); - throw new ArgeoException("Passwords are not equals"); + throw new CmsException("Passwords are not equals"); } } } @@ -246,7 +247,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { getManagedForm().addPart(part); } - private LdifUsersTable appendMemberOfPart(Composite parent, User user) { + private LdifUsersTable appendMemberOfPart(final Composite parent, User user) { FormToolkit tk = getManagedForm().getToolkit(); Section section = addSection(tk, parent, "Roles"); Composite body = (Composite) section.getClient(); @@ -295,7 +296,8 @@ public class UserMainPage extends FormPage implements ArgeoNames { @Override public void initialize(IManagedForm form) { super.initialize(form); - listener = editor.new GroupChangeListener(this); + listener = editor.new GroupChangeListener(parent.getDisplay(), + this); userAdminWrapper.addListener(listener); } @@ -414,25 +416,17 @@ public class UserMainPage extends FormPage implements ArgeoNames { @SuppressWarnings("unchecked") Iterator it = ((IStructuredSelection) selection).iterator(); List groups = new ArrayList(); - // StringBuilder builder = new StringBuilder(); while (it.hasNext()) { Group currGroup = it.next(); - // String groupName = UserAdminUtils.getUsername(currGroup); - // builder.append(groupName).append("; "); groups.add(currGroup); } - // if (!MessageDialog.openQuestion( - // HandlerUtil.getActiveShell(event), - // "Re", - // "Are you sure that you want to delete these users?\n" - // + builder.substring(0, builder.length() - 2))) - // return null; - userAdminWrapper.beginTransactionIfNeeded(); for (Group group : groups) { group.removeMember(user); - // sectionPart.refresh(); + } + userAdminWrapper.commitOrNotifyTransactionStateChange(); + for (Group group : groups) { userAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, group)); } @@ -473,9 +467,11 @@ public class UserMainPage extends FormPage implements ArgeoNames { // TODO this check should be done before. if (role.getType() == Role.GROUP) { // TODO check if the user is already member of this group + myUserAdminWrapper.beginTransactionIfNeeded(); Group group = (Group) role; group.addMember(myUser); + userAdminWrapper.commitOrNotifyTransactionStateChange(); myUserAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, group)); }