X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=swt%2Forg.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPeopleEntryArea.java;h=1700c28454ace7c6570072ed6216827e7bdc43a2;hb=9d1dd85af774c08ca520313c0311fbe37ed3dd32;hp=1cbd9be76759f04be480510522b0733b47cfb4f8;hpb=932dbdce11c1a862b6a7babcb91bfec8e491e0b8;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 1cbd9be..1700c28 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 @@ -10,22 +10,25 @@ 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.app.ux.SuiteIcon; +import org.argeo.app.ux.SuiteMsg; +import org.argeo.app.ux.SuiteUxEvent; +import org.argeo.cms.CurrentUser; import org.argeo.cms.acr.ContentUtils; +import org.argeo.cms.auth.CmsSystemRole; 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; @@ -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(CmsSystemRole.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); } });