X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPersonUiProvider.java;h=4cf2294ac0835ea94007dd42bb2177e2afbba3bf;hb=242098dba4f7b96f4b120f8a7aa151b7e4b2ce77;hp=24b08930304ab55019e12c22f3995c5a470288de;hpb=97286adeb9f00e02c4a245674ff45628f8aaa9de;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java b/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java index 24b0893..4cf2294 100644 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java +++ b/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java @@ -4,23 +4,21 @@ import java.util.Arrays; import java.util.List; import java.util.Map; -import javax.jcr.Node; -import javax.jcr.RepositoryException; - +import org.argeo.api.acr.Content; import org.argeo.app.ui.SuiteMsg; import org.argeo.app.ui.SuiteUiUtils; import org.argeo.cms.CmsUserManager; import org.argeo.cms.swt.CmsSwtUtils; +import org.argeo.cms.swt.widgets.SwtSection; import org.argeo.cms.ui.CmsUiProvider; -import org.argeo.cms.ui.viewers.Section; import org.argeo.util.naming.LdapAttrs; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Text; +import org.osgi.service.useradmin.Group; import org.osgi.service.useradmin.User; /** Edit a suite user. */ @@ -29,45 +27,54 @@ public class PersonUiProvider implements CmsUiProvider { private CmsUserManager cmsUserManager; @Override - public Control createUi(Composite parent, Node context) throws RepositoryException { - Section main = new Section(parent, SWT.NONE, context); + public Control createUiPart(Composite parent, Content context) { + SwtSection main = new SwtSection(parent, SWT.NONE, context); main.setLayoutData(CmsSwtUtils.fillAll()); - String uid = context.getName(); - User user = cmsUserManager.getUserFromLocalId(uid); + User user = context.adapt(User.class); + + if (user instanceof Group) { + String cn = context.getName().getLocalPart().split("=")[1]; + Text cnT = SuiteUiUtils.addFormLine(main, "uid", getUserProperty(user, LdapAttrs.uid.name())); + cnT.setText(cn); + + } else { + String uid = context.getName().getLocalPart().split("=")[1]; // Text givenName = new Text(main, SWT.SINGLE); // givenName.setText(getUserProperty(user, LdapAttrs.givenName.name())); - Text givenName = SuiteUiUtils.addFormInput(main, SuiteMsg.firstName.lead(), - getUserProperty(user, LdapAttrs.givenName.name())); + Text givenName = SuiteUiUtils.addFormInput(main, SuiteMsg.firstName.lead(), + getUserProperty(user, LdapAttrs.givenName.name())); - Text sn = SuiteUiUtils.addFormInput(main, SuiteMsg.lastName.lead(), getUserProperty(user, LdapAttrs.sn.name())); - // sn.setText(getUserProperty(user, LdapAttrs.sn.name())); + Text sn = SuiteUiUtils.addFormInput(main, SuiteMsg.lastName.lead(), + getUserProperty(user, LdapAttrs.sn.name())); + // sn.setText(getUserProperty(user, LdapAttrs.sn.name())); - Text email = SuiteUiUtils.addFormInput(main, SuiteMsg.email.lead(), - getUserProperty(user, LdapAttrs.mail.name())); - // email.setText(getUserProperty(user, LdapAttrs.mail.name())); + Text email = SuiteUiUtils.addFormInput(main, SuiteMsg.email.lead(), + getUserProperty(user, LdapAttrs.mail.name())); + // email.setText(getUserProperty(user, LdapAttrs.mail.name())); - Text uidT = SuiteUiUtils.addFormLine(main, "uid", getUserProperty(user, LdapAttrs.uid.name())); - uidT.setText(uid); + Text uidT = SuiteUiUtils.addFormLine(main, "uid", getUserProperty(user, LdapAttrs.uid.name())); + uidT.setText(uid); // Label dnL = new Label(main, SWT.NONE); // dnL.setText(user.getName()); - // roles - // Section rolesSection = new Section(main, SWT.NONE, context); - Group rolesSection = new Group(main, SWT.NONE); - rolesSection.setText("Roles"); - rolesSection.setLayoutData(CmsSwtUtils.fillWidth()); - rolesSection.setLayout(new GridLayout()); - // new Label(rolesSection, SWT.NONE).setText("Roles:"); - List roles = Arrays.asList(cmsUserManager.getUserRoles(user.getName())); - for (String role : availableRoles) { - // new Label(rolesSection, SWT.NONE).setText(role); - Button radio = new Button(rolesSection, SWT.CHECK); - radio.setText(role); - if (roles.contains(role)) - radio.setSelection(true); + // roles + // Section rolesSection = new Section(main, SWT.NONE, context); + Composite rolesSection = new Composite(main, SWT.NONE); + // rolesSection.setText("Roles"); + rolesSection.setLayoutData(CmsSwtUtils.fillWidth()); + rolesSection.setLayout(new GridLayout()); + // new Label(rolesSection, SWT.NONE).setText("Roles:"); + List roles = Arrays.asList(cmsUserManager.getUserRoles(user.getName())); + for (String role : availableRoles) { + // new Label(rolesSection, SWT.NONE).setText(role); + Button radio = new Button(rolesSection, SWT.CHECK); + radio.setText(role); + if (roles.contains(role)) + radio.setSelection(true); + } } return main;