X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fusers%2FUserPage.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fusers%2FUserPage.java;h=2f4616d337adc566d158c9322b88d779beeec91d;hb=050d54bb859aaed19777b32d7c9e677c532ef52f;hp=0000000000000000000000000000000000000000;hpb=e243ed2a4539ac6b47d0bd946a9219ea5e8fe0fb;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/users/UserPage.java b/org.argeo.cms/src/org/argeo/cms/users/UserPage.java new file mode 100644 index 000000000..2f4616d33 --- /dev/null +++ b/org.argeo.cms/src/org/argeo/cms/users/UserPage.java @@ -0,0 +1,75 @@ +package org.argeo.cms.users; + +import javax.jcr.Node; +import javax.jcr.RepositoryException; + +import org.argeo.cms.CmsEditable; +import org.argeo.cms.CmsUiProvider; +import org.argeo.cms.CmsUtils; +import org.argeo.cms.viewers.JcrVersionCmsEditable; +import org.argeo.cms.widgets.ScrolledPage; +import org.argeo.security.UserAdminService; +import org.argeo.security.jcr.JcrSecurityModel; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; + +/** Enable management of a given user */ +public class UserPage implements CmsUiProvider { + + // Enable user CRUD // INJECTED + private UserAdminService userAdminService; + private JcrSecurityModel jcrSecurityModel; + + // public UserPage(UserAdminService userAdminService, + // JcrSecurityModel jcrSecurityModel) { + // this.userAdminService = userAdminService; + // this.jcrSecurityModel = jcrSecurityModel; + // } + + @Override + public Control createUi(Composite parent, Node context) + throws RepositoryException { + CmsEditable cmsEditable = new JcrVersionCmsEditable(context); + Composite page = createPage(parent); + UserViewer userViewer = new UserViewer(page, SWT.NONE, context, + cmsEditable); + + Control control = userViewer.getControl(); + Composite par = control.getParent(); + + new Label(par, SWT.NONE).setText("Work in progress terminate."); + + UserRolesPart rolesPart = new UserRolesPart(par, SWT.NO_FOCUS, context, + true); + rolesPart.setUserAdminService(userAdminService); + rolesPart.createControl(rolesPart, UserStyles.USER_FORM_TEXT); + rolesPart.refresh(); + + return page; + } + + protected Composite createPage(Composite parent) { + parent.setLayout(CmsUtils.noSpaceGridLayout()); + ScrolledPage scrolled = new ScrolledPage(parent, SWT.NONE); + scrolled.setLayoutData(CmsUtils.fillAll()); + scrolled.setLayout(CmsUtils.noSpaceGridLayout()); + // TODO manage style + // CmsUtils.style(scrolled, "maintenance_user_form"); + + Composite page = new Composite(scrolled, SWT.NONE); + page.setLayout(CmsUtils.noSpaceGridLayout()); + page.setBackgroundMode(SWT.INHERIT_NONE); + page.setLayoutData(CmsUtils.fillAll()); + return page; + } + + public void setUserAdminService(UserAdminService userAdminService) { + this.userAdminService = userAdminService; + } + + public void setJcrSecurityModel(JcrSecurityModel jcrSecurityModel) { + this.jcrSecurityModel = jcrSecurityModel; + } +} \ No newline at end of file