import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.argeo.cms.ArgeoNames;
+import org.argeo.api.NodeConstants;
import org.argeo.cms.CmsException;
import org.argeo.cms.auth.CurrentUser;
import org.argeo.cms.e4.users.providers.CommonNameLP;
import org.argeo.eclipse.ui.parts.LdifUsersTable;
import org.argeo.naming.LdapAttrs;
import org.argeo.naming.LdapObjs;
-import org.argeo.node.NodeConstants;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.e4.ui.workbench.modeling.EPartService;
+import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.dnd.DND;
import org.osgi.service.useradmin.UserAdminListener;
/** List all groups with filter */
-public class GroupsView implements ArgeoNames {
+public class GroupsView {
private final static Log log = LogFactory.getLog(GroupsView.class);
// public final static String ID = WorkbenchUiPlugin.PLUGIN_ID + ".groupsView";
private UserAdminListener listener;
@PostConstruct
- public void createPartControl(Composite parent) {
+ public void createPartControl(Composite parent, ESelectionService selectionService) {
parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
// boolean isAdmin = CurrentUser.isInRole(NodeConstants.ROLE_ADMIN);
userViewer = groupTableViewerCmp.getTableViewer();
userViewer.addDoubleClickListener(new UserTableDefaultDClickListener(partService));
// getViewSite().setSelectionProvider(userViewer);
+ userViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+
+ @Override
+ public void selectionChanged(SelectionChangedEvent event) {
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ selectionService.setSelection(selection.toList());
+ }
+ });
// Really?
groupTableViewerCmp.refresh();
if (tmpBuilder.length() > 1) {
builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=")
.append(LdapObjs.groupOfNames.name()).append(")");
+ // hide tokens
+ builder.append("(!(").append(LdapAttrs.DN).append("=*").append(NodeConstants.TOKENS_BASEDN)
+ .append("))");
+
if (!showSystemRoles)
builder.append("(!(").append(LdapAttrs.DN).append("=*").append(NodeConstants.ROLES_BASEDN)
.append("))");
if (!showSystemRoles)
builder.append("(&(").append(LdapAttrs.objectClass.name()).append("=")
.append(LdapObjs.groupOfNames.name()).append(")(!(").append(LdapAttrs.DN).append("=*")
- .append(NodeConstants.ROLES_BASEDN).append(")))");
+ .append(NodeConstants.ROLES_BASEDN).append("))(!(").append(LdapAttrs.DN).append("=*")
+ .append(NodeConstants.TOKENS_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(")(!(").append(LdapAttrs.DN).append("=*")
+ .append(NodeConstants.TOKENS_BASEDN).append(")))");
}
roles = userAdminWrapper.getUserAdmin().getRoles(builder.toString());