Inject CMS context in order to deal with locales
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Feb 2022 04:51:20 +0000 (05:51 +0100)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 15 Feb 2022 04:51:20 +0000 (05:51 +0100)
org.argeo.app.ui/OSGI-INF/loginScreen.xml
org.argeo.app.ui/src/org/argeo/app/ui/DefaultLoginScreen.java

index ec7862d1f214c62a4ca6d029de4a70add786cbaa..f79396f626daa40d3ab2cc683ca6dc881cc6ba9a 100644 (file)
@@ -5,4 +5,5 @@
    <service>
       <provide interface="org.argeo.cms.ui.CmsUiProvider"/>
    </service>
+   <reference bind="setCmsContext" cardinality="1..1" interface="org.argeo.api.cms.CmsContext" name="CmsContext" policy="static"/>
 </scr:component>
index 0624c485e88496ae8bf0af2f4c2951b0b5569418..e9b466f3f6d9c5d171f6ee3d790726e3d498bba8 100644 (file)
@@ -3,6 +3,7 @@ package org.argeo.app.ui;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 
+import org.argeo.api.cms.CmsContext;
 import org.argeo.api.cms.CmsView;
 import org.argeo.cms.auth.CurrentUser;
 import org.argeo.cms.swt.CmsSwtUtils;
@@ -16,6 +17,7 @@ import org.eclipse.swt.widgets.Control;
 
 /** Provides a login screen. */
 public class DefaultLoginScreen implements CmsUiProvider {
+       private CmsContext cmsContext;
 
        @Override
        public Control createUi(Composite parent, Node context) throws RepositoryException {
@@ -26,10 +28,14 @@ public class DefaultLoginScreen implements CmsUiProvider {
                parent.setLayout(new GridLayout());
                Composite loginArea = new Composite(parent, SWT.NONE);
                loginArea.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true));
-               
-               CmsLogin cmsLogin = new CmsLogin(cmsView);
+
+               CmsLogin cmsLogin = new CmsLogin(cmsView, cmsContext);
                cmsLogin.createUi(loginArea);
                return cmsLogin.getCredentialsBlock();
        }
 
+       public void setCmsContext(CmsContext cmsContext) {
+               this.cmsContext = cmsContext;
+       }
+
 }