X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui.workbench%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fworkbench%2Finternal%2Fuseradmin%2Fparts%2FGroupsView.java;h=545a7c89663edc14fa85c5ab105114bb02311b65;hb=5e5546ae33d363f1fab83f10f98c32eec6bfc3ca;hp=0d33677ac572da6e018da14fc9556f10af99071e;hpb=e7b05d237d09d176a627d26816717fb9f59c6011;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java index 0d33677ac..545a7c896 100644 --- a/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java +++ b/org.argeo.cms.ui.workbench/src/org/argeo/cms/ui/workbench/internal/useradmin/parts/GroupsView.java @@ -30,7 +30,6 @@ import org.argeo.cms.ui.workbench.internal.useradmin.providers.CommonNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.DomainNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.RoleIconLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserDragListener; -import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserNameLP; import org.argeo.cms.ui.workbench.internal.useradmin.providers.UserTableDefaultDClickListener; import org.argeo.eclipse.ui.ColumnDefinition; import org.argeo.eclipse.ui.EclipseUiUtils; @@ -45,6 +44,7 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; @@ -75,29 +75,27 @@ public class GroupsView extends ViewPart implements ArgeoNames { public void createPartControl(Composite parent) { parent.setLayout(EclipseUiUtils.noSpaceGridLayout()); - boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); +// boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); // Define the displayed columns - columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 26)); - columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", - 150)); - columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 200)); + columnDefs.add(new ColumnDefinition(new RoleIconLP(), "", 19)); + columnDefs.add(new ColumnDefinition(new CommonNameLP(), "Common Name", 150)); + columnDefs.add(new ColumnDefinition(new DomainNameLP(), "Domain", 100)); // Only show technical DN to admin - if (isAdmin) - columnDefs.add(new ColumnDefinition(new UserNameLP(), - "Distinguished Name", 300)); + // if (isAdmin) + // columnDefs.add(new ColumnDefinition(new UserNameLP(), + // "Distinguished Name", 300)); // Create and configure the table - groupTableViewerCmp = new MyUserTableViewer(parent, SWT.MULTI - | SWT.H_SCROLL | SWT.V_SCROLL); + groupTableViewerCmp = new MyUserTableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); groupTableViewerCmp.setColumnDefinitions(columnDefs); - if (isAdmin) - groupTableViewerCmp.populateWithStaticFilters(false, false); - else +// if (isAdmin) +// groupTableViewerCmp.populateWithStaticFilters(false, false); +// else groupTableViewerCmp.populate(true, false); - groupTableViewerCmp.setLayoutData(EclipseUiUtils.fillAll()); + groupTableViewerCmp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // Links userViewer = groupTableViewerCmp.getTableViewer(); @@ -110,8 +108,7 @@ public class GroupsView extends ViewPart implements ArgeoNames { // Drag and drop int operations = DND.DROP_COPY | DND.DROP_MOVE; Transfer[] tt = new Transfer[] { TextTransfer.getInstance() }; - userViewer.addDragSupport(operations, tt, new UserDragListener( - userViewer)); + userViewer.addDragSupport(operations, tt, new UserDragListener(userViewer)); // // Register a useradmin listener // listener = new UserAdminListener() { @@ -144,23 +141,22 @@ public class GroupsView extends ViewPart implements ArgeoNames { private class MyUserTableViewer extends LdifUsersTable { private static final long serialVersionUID = 8467999509931900367L; - private boolean showSystemRoles; + private boolean showSystemRoles = true; - private final String[] knownProps = { LdapAttrs.uid.name(), - LdapAttrs.cn.name(), LdapAttrs.DN }; + private final String[] knownProps = { LdapAttrs.uid.name(), LdapAttrs.cn.name(), LdapAttrs.DN }; public MyUserTableViewer(Composite parent, int style) { super(parent, style); + showSystemRoles = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); } protected void populateStaticFilters(Composite staticFilterCmp) { staticFilterCmp.setLayout(new GridLayout()); - final Button showSystemRoleBtn = new Button(staticFilterCmp, - SWT.CHECK); + final Button showSystemRoleBtn = new Button(staticFilterCmp, SWT.CHECK); showSystemRoleBtn.setText("Show system roles"); showSystemRoles = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN); showSystemRoleBtn.setSelection(showSystemRoles); - + showSystemRoleBtn.addSelectionListener(new SelectionAdapter() { private static final long serialVersionUID = -7033424592697691676L; @@ -188,39 +184,27 @@ public class GroupsView extends ViewPart implements ArgeoNames { tmpBuilder.append("*)"); } if (tmpBuilder.length() > 1) { - builder.append("(&(").append(LdapAttrs.objectClass.name()) - .append("=").append(LdapObjs.groupOfNames.name()) - .append(")"); + builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")"); if (!showSystemRoles) - builder.append("(!(").append(LdapAttrs.DN).append("=*") - .append(NodeConstants.ROLES_BASEDN) + builder.append("(!(").append(LdapAttrs.DN).append("=*").append(NodeConstants.ROLES_BASEDN) .append("))"); builder.append("(|"); builder.append(tmpBuilder.toString()); builder.append("))"); } else { if (!showSystemRoles) - builder.append("(&(") - .append(LdapAttrs.objectClass.name()) - .append("=") - .append(LdapObjs.groupOfNames.name()) - .append(")(!(").append(LdapAttrs.DN) - .append("=*") - .append(NodeConstants.ROLES_BASEDN) - .append(")))"); + builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")(!(").append(LdapAttrs.DN).append("=*") + .append(NodeConstants.ROLES_BASEDN).append(")))"); else - builder.append("(") - .append(LdapAttrs.objectClass.name()) - .append("=") - .append(LdapObjs.groupOfNames.name()) - .append(")"); + builder.append("(").append(LdapAttrs.objectClass.name()).append("=") + .append(LdapObjs.groupOfNames.name()).append(")"); } - roles = userAdminWrapper.getUserAdmin().getRoles( - builder.toString()); + roles = userAdminWrapper.getUserAdmin().getRoles(builder.toString()); } catch (InvalidSyntaxException e) { - throw new CmsException("Unable to get roles with filter: " - + filter, e); + throw new CmsException("Unable to get roles with filter: " + filter, e); } List users = new ArrayList(); for (Role role : roles)