1 package org
.argeo
.cms
.users
;
4 import javax
.jcr
.RepositoryException
;
6 import org
.argeo
.cms
.CmsEditable
;
7 import org
.argeo
.cms
.CmsUiProvider
;
8 import org
.argeo
.cms
.util
.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
;
16 /** Enable management of a given user */
17 public class UserPage
implements CmsUiProvider
{
19 /* DEPENDENCY INJECTION */
20 private UserAdminService userAdminService
;
23 public Control
createUi(Composite parent
, Node context
)
24 throws RepositoryException
{
25 CmsEditable cmsEditable
= new JcrVersionCmsEditable(context
);
26 Composite page
= createPage(parent
);
27 UserViewer userViewer
= new UserViewer(page
, SWT
.NONE
, context
,
30 Control control
= userViewer
.getControl();
32 // FIXME not satisfying.
33 if (control
instanceof UserPart
)
34 ((UserPart
) control
).setUserAdminService(userAdminService
);
36 Composite par
= control
.getParent();
38 UserRolesPart rolesPart
= new UserRolesPart(par
, SWT
.NO_FOCUS
, context
,
40 rolesPart
.setUserAdminService(userAdminService
);
41 rolesPart
.setUserAdminService(userAdminService
);
42 rolesPart
.createControl(rolesPart
, UserStyles
.USER_FORM_TEXT
);
44 rolesPart
.setLayoutData(CmsUtils
.fillWidth());
49 protected Composite
createPage(Composite parent
) {
50 parent
.setLayout(CmsUtils
.noSpaceGridLayout());
51 ScrolledPage scrolled
= new ScrolledPage(parent
, SWT
.NONE
);
52 scrolled
.setLayoutData(CmsUtils
.fillAll());
53 scrolled
.setLayout(CmsUtils
.noSpaceGridLayout());
55 // CmsUtils.style(scrolled, "maintenance_user_form");
57 Composite page
= new Composite(scrolled
, SWT
.NONE
);
58 page
.setLayout(CmsUtils
.noSpaceGridLayout());
59 page
.setBackgroundMode(SWT
.INHERIT_NONE
);
60 page
.setLayoutData(CmsUtils
.fillAll());
64 public void setUserAdminService(UserAdminService userAdminService
) {
65 this.userAdminService
= userAdminService
;