X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.people.ui%2Fsrc%2Forg%2Fargeo%2Fpeople%2Fui%2FSuiteUsersEntryArea.java;fp=org.argeo.people.ui%2Fsrc%2Forg%2Fargeo%2Fpeople%2Fui%2FSuiteUsersEntryArea.java;h=0000000000000000000000000000000000000000;hp=66f3edabcf7fd6b5456bd1d95b0c85cfb48c178d;hb=6e56ffa34cb02ab04d028423aea342e3dfed4358;hpb=c285180bece610b2c2921d44fe14b6dde2123efa diff --git a/org.argeo.people.ui/src/org/argeo/people/ui/SuiteUsersEntryArea.java b/org.argeo.people.ui/src/org/argeo/people/ui/SuiteUsersEntryArea.java deleted file mode 100644 index 66f3eda..0000000 --- a/org.argeo.people.ui/src/org/argeo/people/ui/SuiteUsersEntryArea.java +++ /dev/null @@ -1,184 +0,0 @@ -package org.argeo.people.ui; - -import java.util.Set; - -import javax.jcr.Node; -import javax.jcr.RepositoryException; - -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.eclipse.ui.Selected; -import org.argeo.naming.LdapAttrs; -import org.argeo.suite.SuiteRole; -import org.argeo.suite.ui.SuiteEvent; -import org.argeo.suite.ui.SuiteIcon; -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; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredContentProvider; -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; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.ToolBar; -import org.eclipse.swt.widgets.ToolItem; -import org.osgi.service.useradmin.User; - -/** Entry to the admin area. */ -public class SuiteUsersEntryArea implements CmsUiProvider { - - private CmsUserManager cmsUserManager; - - @Override - public Control createUi(Composite parent, Node context) throws RepositoryException { - CmsTheme theme = CmsTheme.getCmsTheme(parent); - parent.setLayout(new GridLayout()); - TableViewer usersViewer = new TableViewer(parent); - usersViewer.setContentProvider(new UsersContentProvider()); - - TableViewerColumn idCol = new TableViewerColumn(usersViewer, SWT.NONE); - idCol.getColumn().setWidth(70); - idCol.setLabelProvider(new ColumnLabelProvider() { - - @Override - public String getText(Object element) { - - return getUserProperty(element, LdapAttrs.uid.name()); - } - }); - - TableViewerColumn givenNameCol = new TableViewerColumn(usersViewer, SWT.NONE); - givenNameCol.getColumn().setWidth(150); - givenNameCol.setLabelProvider(new ColumnLabelProvider() { - - @Override - public String getText(Object element) { - - return getUserProperty(element, LdapAttrs.givenName.name()); - } - }); - - TableViewerColumn snCol = new TableViewerColumn(usersViewer, SWT.NONE); - snCol.getColumn().setWidth(150); - snCol.setLabelProvider(new ColumnLabelProvider() { - - @Override - public String getText(Object element) { - - return getUserProperty(element, LdapAttrs.sn.name()); - } - }); - - TableViewerColumn mailCol = new TableViewerColumn(usersViewer, SWT.NONE); - mailCol.getColumn().setWidth(400); - mailCol.setLabelProvider(new ColumnLabelProvider() { - - @Override - public String getText(Object element) { - - return getUserProperty(element, LdapAttrs.mail.name()); - } - }); - - Composite bottom = new Composite(parent, SWT.NONE); - bottom.setLayoutData(CmsUiUtils.fillWidth()); - bottom.setLayout(CmsUiUtils.noSpaceGridLayout()); - ToolBar bottomToolBar = new ToolBar(bottom, SWT.NONE); - bottomToolBar.setLayoutData(new GridData(SWT.END, SWT.FILL, true, false)); - ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); - deleteItem.setEnabled(false); -// CmsUiUtils.style(deleteItem, SuiteStyle.recentItems); - deleteItem.setImage(SuiteIcon.delete.getSmallIcon(theme)); - ToolItem addItem = new ToolItem(bottomToolBar, SWT.FLAT); - addItem.setImage(SuiteIcon.add.getSmallIcon(theme)); - usersViewer.addDoubleClickListener(new IDoubleClickListener() { - - @Override - public void doubleClick(DoubleClickEvent event) { - User user = (User) usersViewer.getStructuredSelection().getFirstElement(); - if (user != null) { -// Node userNode = getOrCreateUserNode(user, context); - CmsView.getCmsView(parent).sendEvent(SuiteEvent.openNewPart.topic(), - SuiteEvent.eventProperties(user)); - } - - } - }); - usersViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - User user = (User) usersViewer.getStructuredSelection().getFirstElement(); - if (user != null) { -// Node userNode = getOrCreateUserNode(user, context); - CmsView.getCmsView(parent).sendEvent(SuiteEvent.refreshPart.topic(), - SuiteEvent.eventProperties(user)); - deleteItem.setEnabled(true); - } else { - deleteItem.setEnabled(false); - } - } - }); - - 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 String getUserProperty(Object element, String key) { - Object value = ((User) element).getProperties().get(key); - return value != null ? value.toString() : null; - } - - class UsersContentProvider implements IStructuredContentProvider { - - @Override - public Object[] getElements(Object inputElement) { - CmsUserManager cum = (CmsUserManager) inputElement; - Set users = cum.listUsersInGroup(SuiteRole.coworker.dn(), null); - return users.toArray(); - } - - @Override - public void dispose() { - } - - @Override - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - } - - } - - public void setCmsUserManager(CmsUserManager cmsUserManager) { - this.cmsUserManager = cmsUserManager; - } - -}