X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fuseradmin%2Fparts%2FUserMainPage.java;h=f7b4ef7585282109f01a938561634be06508e7ae;hb=e78d5435d12c2df2100838e090ae6d045a980f8d;hp=ea0b8784abd917498a9423134e5a25ae8db51b3e;hpb=23b7a170cae60b500e9d45551f26b5075eba73a4;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java index ea0b8784a..f7b4ef758 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/UserMainPage.java @@ -20,7 +20,7 @@ import java.util.Iterator; import java.util.List; import org.argeo.cms.CmsException; -import org.argeo.cms.auth.AuthConstants; +import org.argeo.cms.auth.CurrentUser; import org.argeo.cms.ui.workbench.internal.useradmin.SecurityAdminImages; import org.argeo.cms.ui.workbench.internal.useradmin.UserAdminWrapper; import org.argeo.cms.ui.workbench.internal.useradmin.parts.UserEditor.GroupChangeListener; @@ -31,12 +31,13 @@ import org.argeo.cms.ui.workbench.internal.useradmin.providers.RoleIconLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserFilter; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserTableDefaultDClickListener; -import org.argeo.cms.util.useradmin.UserAdminUtils; +import org.argeo.cms.util.UserAdminUtils; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.eclipse.ui.parts.LdifUsersTable; +import org.argeo.naming.LdapAttrs; import org.argeo.node.ArgeoNames; -import org.argeo.osgi.useradmin.LdifName; +import org.argeo.node.NodeConstants; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ToolBarManager; import org.eclipse.jface.resource.ImageDescriptor; @@ -119,21 +120,19 @@ public class UserMainPage extends FormPage implements ArgeoNames { body.setLayout(new GridLayout(2, false)); final Text distinguishedName = createLT(tk, body, "User Name", - UserAdminUtils.getProperty(user, LdifName.uid.name())); + UserAdminUtils.getProperty(user, LdapAttrs.uid.name())); distinguishedName.setEnabled(false); final Text commonName = createLT(tk, body, "Common Name", - UserAdminUtils.getProperty(user, LdifName.cn.name())); + UserAdminUtils.getProperty(user, LdapAttrs.cn.name())); commonName.setEnabled(false); final Text firstName = createLT(tk, body, "First name", - UserAdminUtils.getProperty(user, LdifName.givenName.name())); + UserAdminUtils.getProperty(user, LdapAttrs.givenName.name())); - final Text lastName = createLT(tk, body, "Last name", - UserAdminUtils.getProperty(user, LdifName.sn.name())); + final Text lastName = createLT(tk, body, "Last name", UserAdminUtils.getProperty(user, LdapAttrs.sn.name())); - final Text email = createLT(tk, body, "Email", - UserAdminUtils.getProperty(user, LdifName.mail.name())); + final Text email = createLT(tk, body, "Email", UserAdminUtils.getProperty(user, LdapAttrs.mail.name())); // create form part (controller) AbstractFormPart part = new SectionPart((Section) body.getParent()) { @@ -142,8 +141,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { @Override public void initialize(IManagedForm form) { super.initialize(form); - listener = editor.new MainInfoListener(parent.getDisplay(), - this); + listener = editor.new MainInfoListener(parent.getDisplay(), this); userAdminWrapper.addListener(listener); } @@ -156,28 +154,20 @@ public class UserMainPage extends FormPage implements ArgeoNames { @SuppressWarnings("unchecked") public void commit(boolean onSave) { // TODO Sanity checks (mail validity...) - user.getProperties().put(LdifName.givenName.name(), - firstName.getText()); - user.getProperties() - .put(LdifName.sn.name(), lastName.getText()); - user.getProperties().put(LdifName.cn.name(), - commonName.getText()); - user.getProperties().put(LdifName.mail.name(), email.getText()); + user.getProperties().put(LdapAttrs.givenName.name(), firstName.getText()); + user.getProperties().put(LdapAttrs.sn.name(), lastName.getText()); + user.getProperties().put(LdapAttrs.cn.name(), commonName.getText()); + user.getProperties().put(LdapAttrs.mail.name(), email.getText()); super.commit(onSave); } @Override public void refresh() { - distinguishedName.setText(UserAdminUtils.getProperty(user, - LdifName.uid.name())); - commonName.setText(UserAdminUtils.getProperty(user, - LdifName.cn.name())); - firstName.setText(UserAdminUtils.getProperty(user, - LdifName.givenName.name())); - lastName.setText(UserAdminUtils.getProperty(user, - LdifName.sn.name())); - email.setText(UserAdminUtils.getProperty(user, - LdifName.mail.name())); + distinguishedName.setText(UserAdminUtils.getProperty(user, LdapAttrs.uid.name())); + commonName.setText(UserAdminUtils.getProperty(user, LdapAttrs.cn.name())); + firstName.setText(UserAdminUtils.getProperty(user, LdapAttrs.givenName.name())); + lastName.setText(UserAdminUtils.getProperty(user, LdapAttrs.sn.name())); + email.setText(UserAdminUtils.getProperty(user, LdapAttrs.mail.name())); refreshFormTitle(user); super.refresh(); } @@ -224,8 +214,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { AbstractFormPart part = new SectionPart((Section) body.getParent()) { @SuppressWarnings("unchecked") public void commit(boolean onSave) { - if (!password1.getText().equals("") - || !password2.getText().equals("")) { + if (!password1.getText().equals("") || !password2.getText().equals("")) { if (password1.getText().equals(password2.getText())) { char[] newPassword = password1.getText().toCharArray(); // userAdminWrapper.beginTransactionIfNeeded(); @@ -253,23 +242,19 @@ public class UserMainPage extends FormPage implements ArgeoNames { Composite body = (Composite) section.getClient(); body.setLayout(EclipseUiUtils.noSpaceGridLayout()); - boolean isAdmin = UserAdminUtils.isUserInRole(AuthConstants.ROLE_ADMIN); + boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); // Displayed columns List columnDefs = new ArrayList(); columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 0, 24)); - columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", - 150)); - columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain Name", - 200)); + columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 150)); + columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain Name", 200)); // Only show technical DN to administrators if (isAdmin) - columnDefs.add(new ColumnDefinition(new UserNameLP(), - "Distinguished Name", 120)); + columnDefs.add(new ColumnDefinition(new UserNameLP(), "Distinguished Name", 120)); // Create and configure the table - final LdifUsersTable userViewerCmp = new MyUserTableViewer(body, - SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, user); + final LdifUsersTable userViewerCmp = new MyUserTableViewer(body, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL, user); userViewerCmp.setColumnDefinitions(columnDefs); if (isAdmin) @@ -285,8 +270,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { userViewer.addDoubleClickListener(new UserTableDefaultDClickListener()); int operations = DND.DROP_COPY | DND.DROP_MOVE; Transfer[] tt = new Transfer[] { TextTransfer.getInstance() }; - GroupDropListener dropL = new GroupDropListener(userAdminWrapper, - userViewer, user); + GroupDropListener dropL = new GroupDropListener(userAdminWrapper, userViewer, user); userViewer.addDropSupport(operations, tt, dropL); SectionPart part = new SectionPart((Section) body.getParent()) { @@ -296,8 +280,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { @Override public void initialize(IManagedForm form) { super.initialize(form); - listener = editor.new GroupChangeListener(parent.getDisplay(), - this); + listener = editor.new GroupChangeListener(parent.getDisplay(), this); userAdminWrapper.addListener(listener); } @@ -346,8 +329,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { @Override public void widgetSelected(SelectionEvent e) { - userFilter.setShowSystemRole(showSystemRoleBtn - .getSelection()); + userFilter.setShowSystemRole(showSystemRoleBtn.getSelection()); refresh(); } }); @@ -367,13 +349,11 @@ public class UserMainPage extends FormPage implements ArgeoNames { } } - private void addRemoveAbitily(SectionPart sectionPart, - TableViewer userViewer, User user) { + private void addRemoveAbitily(SectionPart sectionPart, TableViewer userViewer, User user) { Section section = sectionPart.getSection(); ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT); ToolBar toolbar = toolBarManager.createControl(section); - final Cursor handCursor = new Cursor(section.getDisplay(), - SWT.CURSOR_HAND); + final Cursor handCursor = new Cursor(section.getDisplay(), SWT.CURSOR_HAND); toolbar.setCursor(handCursor); toolbar.addDisposeListener(new DisposeListener() { private static final long serialVersionUID = 3882131405820522925L; @@ -385,10 +365,8 @@ public class UserMainPage extends FormPage implements ArgeoNames { } }); - String tooltip = "Remove " + UserAdminUtils.getUsername(user) - + " from the below selected groups"; - Action action = new RemoveMembershipAction(userViewer, user, tooltip, - SecurityAdminImages.ICON_REMOVE_DESC); + String tooltip = "Remove " + UserAdminUtils.getUserLocalId(user.getName()) + " from the below selected groups"; + Action action = new RemoveMembershipAction(userViewer, user, tooltip, SecurityAdminImages.ICON_REMOVE_DESC); toolBarManager.add(action); toolBarManager.update(true); section.setTextClient(toolbar); @@ -400,8 +378,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { private final TableViewer userViewer; private final User user; - RemoveMembershipAction(TableViewer userViewer, User user, String name, - ImageDescriptor img) { + RemoveMembershipAction(TableViewer userViewer, User user, String name, ImageDescriptor img) { super(name, img); this.userViewer = userViewer; this.user = user; @@ -427,8 +404,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { } userAdminWrapper.commitOrNotifyTransactionStateChange(); for (Group group : groups) { - userAdminWrapper.notifyListeners(new UserAdminEvent(null, - UserAdminEvent.ROLE_CHANGED, group)); + userAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, group)); } } } @@ -443,16 +419,14 @@ public class UserMainPage extends FormPage implements ArgeoNames { private final UserAdminWrapper myUserAdminWrapper; private final User myUser; - public GroupDropListener(UserAdminWrapper userAdminWrapper, - Viewer userViewer, User user) { + public GroupDropListener(UserAdminWrapper userAdminWrapper, Viewer userViewer, User user) { super(userViewer); this.myUserAdminWrapper = userAdminWrapper; this.myUser = user; } @Override - public boolean validateDrop(Object target, int operation, - TransferData transferType) { + public boolean validateDrop(Object target, int operation, TransferData transferType) { // Target is always OK in a list only view // TODO check if not a string boolean validDrop = true; @@ -472,8 +446,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { Group group = (Group) role; group.addMember(myUser); userAdminWrapper.commitOrNotifyTransactionStateChange(); - myUserAdminWrapper.notifyListeners(new UserAdminEvent(null, - UserAdminEvent.ROLE_CHANGED, group)); + myUserAdminWrapper.notifyListeners(new UserAdminEvent(null, UserAdminEvent.ROLE_CHANGED, group)); } super.drop(event); } @@ -487,8 +460,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { // LOCAL HELPERS private void refreshFormTitle(User group) { - getManagedForm().getForm().setText( - UserAdminUtils.getProperty(group, LdifName.cn.name())); + getManagedForm().getForm().setText(UserAdminUtils.getProperty(group, LdapAttrs.cn.name())); } /** Appends a section with a title */ @@ -508,8 +480,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { } /** Creates label and multiline text. */ - Text createLMT(FormToolkit toolkit, Composite body, String label, - String value) { + Text createLMT(FormToolkit toolkit, Composite body, String label, String value) { Label lbl = toolkit.createLabel(body, label); lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); Text text = toolkit.createText(body, value, SWT.BORDER | SWT.MULTI); @@ -518,8 +489,7 @@ public class UserMainPage extends FormPage implements ArgeoNames { } /** Creates label and password. */ - Text createLP(FormToolkit toolkit, Composite body, String label, - String value) { + Text createLP(FormToolkit toolkit, Composite body, String label, String value) { Label lbl = toolkit.createLabel(body, label); lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); Text text = toolkit.createText(body, value, SWT.BORDER | SWT.PASSWORD); @@ -528,12 +498,11 @@ public class UserMainPage extends FormPage implements ArgeoNames { } /** Creates label and text. */ - Text createLT(FormToolkit toolkit, Composite body, String label, - String value) { + Text createLT(FormToolkit toolkit, Composite body, String label, String value) { Label lbl = toolkit.createLabel(body, label); lbl.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); Text text = toolkit.createText(body, value, SWT.BORDER); text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); return text; } -} \ No newline at end of file +}