projects
/
gpl
/
argeo-suite.git
/ commitdiff
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0ce3855
)
Improve People UI
author
Mathieu <mbaudier@argeo.org>
Fri, 4 Nov 2022 11:40:28 +0000
(12:40 +0100)
committer
Mathieu <mbaudier@argeo.org>
Fri, 4 Nov 2022 11:40:28 +0000
(12:40 +0100)
swt/org.argeo.app.ui/config/hierarchyUnitUiProvider.properties
patch
|
blob
|
history
swt/org.argeo.app.ui/config/peopleLayer.properties
patch
|
blob
|
history
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PeopleEntryArea.java
patch
|
blob
|
history
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java
patch
|
blob
|
history
diff --git
a/swt/org.argeo.app.ui/config/hierarchyUnitUiProvider.properties
b/swt/org.argeo.app.ui/config/hierarchyUnitUiProvider.properties
index b67b2c805c617b42029f32409413a6fa41c4684b..2611a392d862264eeedfffc7f3e6cbaa86761b5f 100644
(file)
--- a/
swt/org.argeo.app.ui/config/hierarchyUnitUiProvider.properties
+++ b/
swt/org.argeo.app.ui/config/hierarchyUnitUiProvider.properties
@@
-1,3
+1,3
@@
service.pid=argeo.people.ui.hierarchyUnitUiProvider
service.pid=argeo.people.ui.hierarchyUnitUiProvider
-entity.type=ldap:organizationalUnit
\ No newline at end of file
+entity.type=ldap:organizationalUnit
,ldap:nsContainer,ldap:dcObject
\ No newline at end of file
diff --git
a/swt/org.argeo.app.ui/config/peopleLayer.properties
b/swt/org.argeo.app.ui/config/peopleLayer.properties
index 3c649affdd77bd6ae4d794f21a433c21013c4b8c..89240150c3bd8c8b55e854c905cde2bba88f430f 100644
(file)
--- a/
swt/org.argeo.app.ui/config/peopleLayer.properties
+++ b/
swt/org.argeo.app.ui/config/peopleLayer.properties
@@
-4,4
+4,4
@@
icon=people
weights=3000,7000
title=%people
weights=3000,7000
title=%people
-entity.type=ldap:inetOrgPerson,ldap:groupOfNames,ldap:organizationalUnit
\ No newline at end of file
+entity.type=ldap:inetOrgPerson,ldap:groupOfNames,ldap:organizationalUnit
,ldap:nsContainer,ldap:dcObject
\ No newline at end of file
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 339ea25dcc6f8807009f3601da3fa32928a15caf..d50d0506a2df1f60ebef25af48500adc3779908a 100644
(file)
--- 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
@@
-11,8
+11,8
@@
import org.argeo.api.acr.ContentRepository;
import org.argeo.api.acr.ContentSession;
import org.argeo.api.cms.ux.CmsIcon;
import org.argeo.api.cms.ux.CmsView;
import org.argeo.api.acr.ContentSession;
import org.argeo.api.cms.ux.CmsIcon;
import org.argeo.api.cms.ux.CmsView;
-import org.argeo.app.ui.SuiteUxEvent;
import org.argeo.app.ui.SuiteIcon;
import org.argeo.app.ui.SuiteIcon;
+import org.argeo.app.ui.SuiteUxEvent;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.acr.ContentUtils;
import org.argeo.cms.auth.CmsRole;
import org.argeo.cms.CmsUserManager;
import org.argeo.cms.acr.ContentUtils;
import org.argeo.cms.auth.CmsRole;
@@
-33,8
+33,8
@@
import org.argeo.cms.ux.widgets.DefaultTabularPart;
import org.argeo.cms.ux.widgets.GuidedForm;
import org.argeo.cms.ux.widgets.HierarchicalPart;
import org.argeo.osgi.useradmin.UserDirectory;
import org.argeo.cms.ux.widgets.GuidedForm;
import org.argeo.cms.ux.widgets.HierarchicalPart;
import org.argeo.osgi.useradmin.UserDirectory;
+import org.argeo.util.directory.Directory;
import org.argeo.util.directory.HierarchyUnit;
import org.argeo.util.directory.HierarchyUnit;
-import org.argeo.util.directory.ldap.IpaUtils;
import org.argeo.util.naming.LdapAttrs;
import org.argeo.util.naming.LdapObjs;
import org.eclipse.jface.window.Window;
import org.argeo.util.naming.LdapAttrs;
import org.argeo.util.naming.LdapObjs;
import org.eclipse.jface.window.Window;
@@
-83,23
+83,15
@@
public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider {
public List<HierarchyUnit> getChildren(HierarchyUnit parent) {
List<HierarchyUnit> visible = new ArrayList<>();
if (parent != null) {
public List<HierarchyUnit> getChildren(HierarchyUnit parent) {
List<HierarchyUnit> visible = new ArrayList<>();
if (parent != null) {
+ if (parent instanceof Directory) // do no show children of the directories
+ return visible;
for (HierarchyUnit hu : parent.getDirectHierarchyUnits(true)) {
for (HierarchyUnit hu : parent.getDirectHierarchyUnits(true)) {
- // if parent was visible, it is visible
- // TODO restrict more?
-
-// if (CurrentUser.implies(CmsRole.userAdmin, hu.getBase()) //
-// ) // IPA
-// {
visible.add(hu);
visible.add(hu);
-// }
}
} else {
for (UserDirectory directory : cmsUserManager.getUserDirectories()) {
}
} else {
for (UserDirectory directory : cmsUserManager.getUserDirectories()) {
- if (CurrentUser.implies(CmsRole.userAdmin, directory.getBase()) //
- || CurrentUser.implies(CmsRole.userAdmin,
- IpaUtils.IPA_ACCOUNTS_RDN + "," + directory.getBase())) // IPA
- {
- // TODO show base level
+ if (CurrentUser.implies(CmsRole.userAdmin, directory.getBase())) {
+ visible.add(directory);
}
for (HierarchyUnit hu : directory.getDirectHierarchyUnits(true)) {
if (CurrentUser.implies(CmsRole.userAdmin, hu.getBase())) {
}
for (HierarchyUnit hu : directory.getDirectHierarchyUnits(true)) {
if (CurrentUser.implies(CmsRole.userAdmin, hu.getBase())) {
@@
-219,8
+211,8
@@
public class PeopleEntryArea implements SwtUiProvider, CmsUiProvider {
if (o instanceof HierarchyUnit) {
HierarchyUnit hierarchyUnit = (HierarchyUnit) o;
usersPart.setInput(hierarchyUnit);
if (o instanceof HierarchyUnit) {
HierarchyUnit hierarchyUnit = (HierarchyUnit) o;
usersPart.setInput(hierarchyUnit);
- cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(),
-
SuiteUxEvent
.eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit)));
+ cmsView.sendEvent(SuiteUxEvent.refreshPart.topic(),
SuiteUxEvent
+ .eventProperties(ContentUtils.hierarchyUnitToContent(contentSession, hierarchyUnit)));
}
});
}
});
diff --git
a/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java
b/swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java
index d1dfd7861ff7ad85fd35d981c24dfdf99876a55f..70145b4d8d9885fb9817d56b0d559ee3731f2321 100644
(file)
--- a/
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java
+++ b/
swt/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java
@@
-49,10
+49,8
@@
public class PersonUiProvider implements SwtUiProvider {
addFormLine(main, SuiteMsg.email, context, LdapAttrs.mail);
Composite rolesSection = new Composite(main, SWT.NONE);
addFormLine(main, SuiteMsg.email, context, LdapAttrs.mail);
Composite rolesSection = new Composite(main, SWT.NONE);
- // rolesSection.setText("Roles");
rolesSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
rolesSection.setLayout(new GridLayout());
rolesSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
rolesSection.setLayout(new GridLayout());
- // new Label(rolesSection, SWT.NONE).setText("Roles:");
List<String> roles = Arrays.asList(cmsUserManager.getUserRoles(user.getName()));
for (String role : roles) {
// new Label(rolesSection, SWT.NONE).setText(role);
List<String> roles = Arrays.asList(cmsUserManager.getUserRoles(user.getName()));
for (String role : roles) {
// new Label(rolesSection, SWT.NONE).setText(role);