X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=swt%2Forg.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPeopleEntryArea.java;h=f7141a4ecb8386f16a466a158ff7562d9896fc82;hb=c27f28501458ac3be0bc85a78116d136569f148c;hp=41310aa8c6e8f36a0c46f918526169653e81334e;hpb=0b492f2cfb8a24ec84e1dd52825624f5e9ab7e81;p=gpl%2Fargeo-suite.git diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java index 41310aa..f7141a4 100644 --- a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java +++ b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java @@ -6,26 +6,29 @@ import javax.jcr.RepositoryException; import org.argeo.api.acr.Content; import org.argeo.api.acr.ContentRepository; import org.argeo.api.acr.ContentSession; -import org.argeo.api.acr.ldap.LdapAttrs; +import org.argeo.api.acr.ldap.LdapAttr; import org.argeo.api.cms.directory.CmsUserManager; import org.argeo.api.cms.directory.HierarchyUnit; import org.argeo.api.cms.ux.CmsView; import org.argeo.app.ui.SuiteIcon; import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUxEvent; +import org.argeo.cms.CurrentUser; import org.argeo.cms.acr.ContentUtils; +import org.argeo.cms.auth.CmsRole; import org.argeo.cms.jcr.acr.JcrContent; import org.argeo.cms.swt.CmsSwtTheme; import org.argeo.cms.swt.CmsSwtUtils; import org.argeo.cms.swt.Selected; import org.argeo.cms.swt.acr.SwtUiProvider; +import org.argeo.cms.swt.dialogs.CmsFeedback; import org.argeo.cms.swt.widgets.SwtGuidedFormDialog; import org.argeo.cms.swt.widgets.SwtTableView; import org.argeo.cms.swt.widgets.SwtTreeView; import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ux.widgets.CmsDialog; import org.argeo.cms.ux.widgets.Column; import org.argeo.cms.ux.widgets.GuidedForm; -import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.graphics.Point; @@ -66,7 +69,7 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { @Override public String getText(Content role) { - return role.attr(LdapAttrs.mail); + return role.attr(LdapAttr.mail); } @Override @@ -81,10 +84,9 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { 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(theme.getSmallIcon(SuiteIcon.delete)); +// ToolItem deleteItem = new ToolItem(bottomToolBar, SWT.FLAT); +// deleteItem.setEnabled(false); +// deleteItem.setImage(theme.getSmallIcon(SuiteIcon.delete)); Menu menu = new Menu(Display.getCurrent().getActiveShell(), SWT.POP_UP); // TODO display add user only if hierarchy unit is a POSIX group @@ -97,8 +99,9 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { Content huContent = ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit); GuidedForm wizard = new NewUserForm(cmsUserManager, huContent); SwtGuidedFormDialog dialog = new SwtGuidedFormDialog(parent.getShell(), wizard); - if (dialog.open() == Window.OK) { - // TODO create + if (dialog.open() == CmsDialog.OK) { + CmsFeedback.show(SuiteMsg.personWizardFeedback.lead()); + usersPart.refresh(); } }); @@ -110,8 +113,9 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { Content huContent = ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit); GuidedForm wizard = new NewOrgForm(cmsUserManager, huContent); SwtGuidedFormDialog dialog = new SwtGuidedFormDialog(parent.getShell(), wizard); - if (dialog.open() == Window.OK) { - // TODO create + if (dialog.open() == CmsDialog.OK) { + CmsFeedback.show(SuiteMsg.orgWizardFeedback.lead()); + usersPart.refresh(); } }); @@ -130,6 +134,9 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { HierarchyUnit hierarchyUnit = (HierarchyUnit) o; usersPart.setInput(hierarchyUnit); addItem.setEnabled(true); + + addOrgItem.setEnabled(usersPart.getInput() != null + && CurrentUser.implies(CmsRole.groupAdmin, usersPart.getInput().getBase())); // cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent // .eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit))); } @@ -139,9 +146,9 @@ public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider { Content user = (Content) o; if (user != null) { cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(), SuiteUxEvent.eventProperties(user)); - deleteItem.setEnabled(true); +// deleteItem.setEnabled(true); } else { - deleteItem.setEnabled(false); +// deleteItem.setEnabled(false); } });