]> git.argeo.org Git - lgpl/argeo-commons.git/blob - UserPage.java
ef0e9313e93b6961c6c24f13408e8aec5c393070
[lgpl/argeo-commons.git] / UserPage.java
1 package org.argeo.cms.users;
2
3 import javax.jcr.Node;
4 import javax.jcr.RepositoryException;
5
6 import org.argeo.cms.CmsEditable;
7 import org.argeo.cms.CmsUiProvider;
8 import org.argeo.cms.CmsUtils;
9 import org.argeo.cms.viewers.JcrVersionCmsEditable;
10 import org.argeo.cms.widgets.ScrolledPage;
11 import org.argeo.security.UserAdminService;
12 import org.eclipse.swt.SWT;
13 import org.eclipse.swt.widgets.Composite;
14 import org.eclipse.swt.widgets.Control;
15
16 /** Enable management of a given user */
17 public class UserPage implements CmsUiProvider {
18
19 // Enable user CRUD // INJECTED
20 private UserAdminService userAdminService;
21
22 // private UserDetailsManager userDetailsManager;
23
24 // private JcrSecurityModel jcrSecurityModel;
25
26 // public UserPage(UserAdminService userAdminService,
27 // JcrSecurityModel jcrSecurityModel) {
28 // this.userAdminService = userAdminService;
29 // this.jcrSecurityModel = jcrSecurityModel;
30 // }
31
32 @Override
33 public Control createUi(Composite parent, Node context)
34 throws RepositoryException {
35 CmsEditable cmsEditable = new JcrVersionCmsEditable(context);
36 Composite page = createPage(parent);
37 UserViewer userViewer = new UserViewer(page, SWT.NONE, context,
38 cmsEditable);
39
40 Control control = userViewer.getControl();
41
42 // FIXME not satisfying.close
43 if (control instanceof UserPart)
44 ((UserPart) control).setUserAdminService(userAdminService);
45
46 Composite par = control.getParent();
47
48 UserRolesPart rolesPart = new UserRolesPart(par, SWT.NO_FOCUS, context,
49 true);
50 rolesPart.setUserAdminService(userAdminService);
51 rolesPart.setUserAdminService(userAdminService);
52 rolesPart.createControl(rolesPart, UserStyles.USER_FORM_TEXT);
53 rolesPart.refresh();
54 rolesPart.setLayoutData(CmsUtils.fillWidth());
55
56 return page;
57 }
58
59 protected Composite createPage(Composite parent) {
60 parent.setLayout(CmsUtils.noSpaceGridLayout());
61 ScrolledPage scrolled = new ScrolledPage(parent, SWT.NONE);
62 scrolled.setLayoutData(CmsUtils.fillAll());
63 scrolled.setLayout(CmsUtils.noSpaceGridLayout());
64 // TODO manage style
65 // CmsUtils.style(scrolled, "maintenance_user_form");
66
67 Composite page = new Composite(scrolled, SWT.NONE);
68 page.setLayout(CmsUtils.noSpaceGridLayout());
69 page.setBackgroundMode(SWT.INHERIT_NONE);
70 page.setLayoutData(CmsUtils.fillAll());
71 return page;
72 }
73
74 public void setUserAdminService(UserAdminService userAdminService) {
75 this.userAdminService = userAdminService;
76 }
77
78 // public void setUserDetailsManager(UserDetailsManager userDetailsManager)
79 // {
80 // this.userDetailsManager = userDetailsManager;
81 // }
82 }