X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Futil%2FUserMenu.java;h=1c35600012d9c47e33d031e376bb1d98d627310f;hb=7eab8a52b56a763e0d0e5153d298ce658e41a22f;hp=73567886b0f7986575f58f9c7626b68247a3233f;hpb=170c56881f05f1028c35e6fe8c6e69dfd764c30e;p=lgpl%2Fargeo-commons.git
diff --git a/org.argeo.cms/src/org/argeo/cms/util/UserMenu.java b/org.argeo.cms/src/org/argeo/cms/util/UserMenu.java
index 73567886b..1c3560001 100644
--- a/org.argeo.cms/src/org/argeo/cms/util/UserMenu.java
+++ b/org.argeo.cms/src/org/argeo/cms/util/UserMenu.java
@@ -32,8 +32,6 @@ import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
/** The site-related user menu */
public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
@@ -44,13 +42,13 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
super(source.getDisplay(), SWT.NO_TRIM | SWT.BORDER | SWT.ON_TOP);
setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU);
- Authentication authentication = SecurityContextHolder.getContext()
- .getAuthentication();
- if (authentication == null)
- throw new CmsException("No authentication available");
+ // Authentication authentication = SecurityContextHolder.getContext()
+ // .getAuthentication();
+ // if (authentication == null)
+ // throw new CmsException("No authentication available");
- String username = authentication.getName();
- if (username.equals(KernelHeader.USERNAME_ANONYMOUS)) {
+ String username = CurrentUserUtils.getUsername();
+ if (username.equalsIgnoreCase(KernelHeader.ROLE_ANONYMOUS)) {
username = null;
anonymousUi();
} else {
@@ -75,20 +73,23 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
}
protected void userUi() {
- setLayout(new GridLayout());
-
- String username = SecurityContextHolder.getContext()
- .getAuthentication().getName();
+ setLayout(CmsUtils.noSpaceGridLayout());
+ Composite c = new Composite(this, SWT.NONE);
+ c.setLayout(new GridLayout());
+ c.setLayoutData(CmsUtils.fillAll());
- Label l = new Label(this, SWT.NONE);
- l.setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU_ITEM);
- l.setData(RWT.MARKUP_ENABLED, true);
- l.setLayoutData(CmsUtils.fillWidth());
- l.setText("" + username + "");
+ // String username = SecurityContextHolder.getContext()
+ // .getAuthentication().getName();
+ //
+ // Label l = new Label(c, SWT.NONE);
+ // l.setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU_ITEM);
+ // l.setData(RWT.MARKUP_ENABLED, true);
+ // l.setLayoutData(CmsUtils.fillWidth());
+ // l.setText("" + username + "");
- specificUserUi(this);
+ specificUserUi(c);
- l = new Label(this, SWT.NONE);
+ Label l = new Label(c, SWT.NONE);
l.setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU_ITEM);
l.setText(CmsMsg.logout.lead());
GridData lData = CmsUtils.fillWidth();
@@ -104,11 +105,11 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
});
}
- protected String getUsername() {
- String username = SecurityContextHolder.getContext()
- .getAuthentication().getName();
- return username;
- }
+ // protected String getUsername() {
+ // // String username = SecurityContextHolder.getContext()
+ // // .getAuthentication().getName();
+ // return CurrentUserUtils.getUsername();
+ // }
/** To be overridden */
protected void specificUserUi(Composite parent) {
@@ -123,7 +124,7 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
c.setLayout(new GridLayout());
c.setLayoutData(CmsUtils.fillAll());
- Integer textWidth = 150;
+ Integer textWidth = 120;
setData(RWT.CUSTOM_VARIANT, CMS_USER_MENU);
// new Label(this, SWT.NONE).setText(CmsMsg.username.lead());
@@ -202,6 +203,7 @@ public class UserMenu extends Shell implements CmsStyles, CallbackHandler {
}
close();
dispose();
+ cmsSession.navigateTo("~");
cmsSession.authChange();
}