X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPersonUiProvider.java;fp=org.argeo.app.ui%2Fsrc%2Forg%2Fargeo%2Fapp%2Fui%2Fpeople%2FPersonUiProvider.java;h=0000000000000000000000000000000000000000;hb=d917d2b10162a29cddaf8c81c362efa37abcaab9;hp=d1dfd7861ff7ad85fd35d981c24dfdf99876a55f;hpb=f1b87af2e0de38f1f49ab8fe68f9988018914811;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 deleted file mode 100644 index d1dfd78..0000000 --- a/org.argeo.app.ui/src/org/argeo/app/ui/people/PersonUiProvider.java +++ /dev/null @@ -1,171 +0,0 @@ -package org.argeo.app.ui.people; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -import org.argeo.api.acr.Content; -import org.argeo.app.ui.SuiteMsg; -import org.argeo.app.ui.SuiteStyle; -import org.argeo.app.ui.SuiteUiUtils; -import org.argeo.cms.CmsUserManager; -import org.argeo.cms.Localized; -import org.argeo.cms.swt.CmsSwtUtils; -import org.argeo.cms.swt.acr.SwtSection; -import org.argeo.cms.swt.acr.SwtUiProvider; -import org.argeo.cms.swt.widgets.EditableText; -import org.argeo.util.naming.LdapAttrs; -import org.argeo.util.naming.LdapObjs; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -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.Text; -import org.osgi.service.useradmin.User; - -/** Edit a suite user. */ -public class PersonUiProvider implements SwtUiProvider { - private String[] availableRoles; - private CmsUserManager cmsUserManager; - - @Override - public Control createUiPart(Composite parent, Content context) { - SwtSection main = new SwtSection(parent, SWT.NONE, context); - main.setLayoutData(CmsSwtUtils.fillAll()); - - main.setLayout(new GridLayout(2, false)); - - User user = context.adapt(User.class); - - if (context.hasContentClass(LdapObjs.person.qName())) { - addFormLine(main, SuiteMsg.firstName, context, LdapAttrs.givenName); - addFormLine(main, SuiteMsg.lastName, context, LdapAttrs.sn); - 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()); - // new Label(rolesSection, SWT.NONE).setText("Roles:"); - List roles = Arrays.asList(cmsUserManager.getUserRoles(user.getName())); - for (String role : roles) { - // new Label(rolesSection, SWT.NONE).setText(role); - Button radio = new Button(rolesSection, SWT.CHECK); - radio.setText(role); - if (roles.contains(role)) - radio.setSelection(true); - } - -// Composite facetsSection = new Composite(main, SWT.NONE); -// facetsSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); -// facetsSection.setLayout(new GridLayout()); -// if (context.hasContentClass(LdapObjs.groupOfNames.qName())) { -// String[] members = context.attr(LdapAttrs.member.qName()).split("\n"); -// for (String member : members) { -// new Label(facetsSection, SWT.NONE).setText(member); -// } -// } - } - -// if (user instanceof Group) { -// String cn = context.getName().getLocalPart(); -// Text cnT = SuiteUiUtils.addFormLine(main, "uid", getUserProperty(user, LdapAttrs.uid.name())); -// cnT.setText(cn); -// -// } else { -// String uid = context.getName().getLocalPart(); -// -//// 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 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 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); -// 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; - } - - private void addFormLine(SwtSection parent, Localized msg, Content context, LdapAttrs attr) { - SuiteUiUtils.addFormLabel(parent, msg.lead()); - EditableText text = new EditableText(parent, SWT.SINGLE | SWT.FLAT); - text.setLayoutData(CmsSwtUtils.fillWidth()); - text.setStyle(SuiteStyle.simpleInput); - String txt = context.attr(attr.qName()); - if (txt == null) // FIXME understand why email is not found in IPA - txt = ""; - text.setText(txt); - text.setMouseListener(new MouseAdapter() { - - @Override - public void mouseDoubleClick(MouseEvent e) { - String currentTxt = text.getText(); - text.startEditing(); - text.setText(currentTxt); - ((Text) text.getControl()).addSelectionListener(new SelectionListener() { - - @Override - public void widgetSelected(SelectionEvent e) { - } - - @Override - public void widgetDefaultSelected(SelectionEvent e) { - String editedTxt = text.getText(); - text.stopEditing(); - text.setText(editedTxt); - text.getParent().layout(new Control[] { text.getControl() }); - } - }); - } - - }); - } - - public void setCmsUserManager(CmsUserManager cmsUserManager) { - this.cmsUserManager = cmsUserManager; - } - - private String getUserProperty(Object element, String key) { - Object value = ((User) element).getProperties().get(key); - return value != null ? value.toString() : null; - } - - public void init(Map properties) { - availableRoles = (String[]) properties.get("availableRoles"); - // cmsUserManager.getRoles(null); - } -}