Refactor DocBook attributes.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / AdminEntryArea.java
index 0e7d2d87d600fc49de998e6fe583ab48b5c7d462..8c75f226cb75d1b4a9ab37c4e80db3ee14478255 100644 (file)
@@ -9,11 +9,12 @@ import org.argeo.cms.CmsUserManager;
 import org.argeo.cms.ui.CmsTheme;
 import org.argeo.cms.ui.CmsUiProvider;
 import org.argeo.cms.ui.CmsView;
+import org.argeo.cms.ui.dialogs.CmsWizardDialog;
 import org.argeo.cms.ui.util.CmsUiUtils;
-import org.argeo.entity.EntityType;
-import org.argeo.jcr.Jcr;
-import org.argeo.jcr.JcrUtils;
+import org.argeo.eclipse.ui.Selected;
 import org.argeo.naming.LdapAttrs;
+import org.argeo.suite.SuiteRole;
+import org.argeo.suite.ui.dialogs.NewUserWizard;
 import org.eclipse.jface.viewers.ColumnLabelProvider;
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
@@ -23,6 +24,8 @@ import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.jface.window.Window;
+import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -56,7 +59,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn givenNameCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               givenNameCol.getColumn().setWidth(70);
+               givenNameCol.getColumn().setWidth(150);
                givenNameCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -67,7 +70,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn snCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               snCol.getColumn().setWidth(70);
+               snCol.getColumn().setWidth(150);
                snCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -78,7 +81,7 @@ public class AdminEntryArea implements CmsUiProvider {
                });
 
                TableViewerColumn mailCol = new TableViewerColumn(usersViewer, SWT.NONE);
-               mailCol.getColumn().setWidth(200);
+               mailCol.getColumn().setWidth(400);
                mailCol.setLabelProvider(new ColumnLabelProvider() {
 
                        @Override
@@ -105,9 +108,9 @@ public class AdminEntryArea implements CmsUiProvider {
                        public void doubleClick(DoubleClickEvent event) {
                                User user = (User) usersViewer.getStructuredSelection().getFirstElement();
                                if (user != null) {
-                                       Node userNode = getOrCreateUserNode(user, context);
+//                                     Node userNode = getOrCreateUserNode(user, context);
                                        CmsView.getCmsView(parent).sendEvent(SuiteEvent.openNewPart.topic(),
-                                                       SuiteEvent.eventProperties(userNode));
+                                                       SuiteEvent.eventProperties(user));
                                }
 
                        }
@@ -116,9 +119,9 @@ public class AdminEntryArea implements CmsUiProvider {
                        public void selectionChanged(SelectionChangedEvent event) {
                                User user = (User) usersViewer.getStructuredSelection().getFirstElement();
                                if (user != null) {
-                                       Node userNode = getOrCreateUserNode(user, context);
+//                                     Node userNode = getOrCreateUserNode(user, context);
                                        CmsView.getCmsView(parent).sendEvent(SuiteEvent.refreshPart.topic(),
-                                                       SuiteEvent.eventProperties(userNode));
+                                                       SuiteEvent.eventProperties(user));
                                        deleteItem.setEnabled(true);
                                } else {
                                        deleteItem.setEnabled(false);
@@ -126,17 +129,27 @@ public class AdminEntryArea implements CmsUiProvider {
                        }
                });
 
+               addItem.addSelectionListener((Selected) (e) -> {
+                       // SuiteUtils.getOrCreateUserNode(adminSession, userDn);
+                       Wizard wizard = new NewUserWizard(null);
+                       CmsWizardDialog dialog = new CmsWizardDialog(parent.getShell(), wizard);
+                       // WizardDialog dialog = new WizardDialog(shell, wizard);
+                       if (dialog.open() == Window.OK) {
+                               // TODO create
+                       }
+               });
+
                usersViewer.getTable().setLayoutData(CmsUiUtils.fillAll());
                usersViewer.setInput(cmsUserManager);
 
                return usersViewer.getTable();
        }
 
-       private Node getOrCreateUserNode(User user, Node context) {
-               return JcrUtils.mkdirs(Jcr.getSession(context),
-                               "/" + EntityType.user.name() + "/" + getUserProperty(user, LdapAttrs.uid.name()),
-                               EntityType.user.get());
-       }
+//     private Node getOrCreateUserNode(User user, Node context) {
+//             return JcrUtils.mkdirs(Jcr.getSession(context),
+//                             "/" + EntityType.user.name() + "/" + getUserProperty(user, LdapAttrs.uid.name()),
+//                             EntityType.user.get());
+//     }
 
        private String getUserProperty(Object element, String key) {
                Object value = ((User) element).getProperties().get(key);
@@ -148,8 +161,7 @@ public class AdminEntryArea implements CmsUiProvider {
                @Override
                public Object[] getElements(Object inputElement) {
                        CmsUserManager cum = (CmsUserManager) inputElement;
-                       String baseGroup = "cn=apaf-coworker,cn=groups,cn=accounts,dc=id,dc=argeo,dc=pro";
-                       Set<User> users = cum.listUsersInGroup(baseGroup, null);
+                       Set<User> users = cum.listUsersInGroup(SuiteRole.coworker.dn(), null);
                        return users.toArray();
                }