Alternate way to get current User Oid in layout template groovy script?

30 May '13, 06:05 AM
35,019 Views
Forum Forum Starter - Level 2

Hi, Just wondering if there is a way to get the current user from the session context using groovy (within the layout.template of a custom unit)?

I know that you can specify a sub-unit UserCtxParam, or have the input.template provide the property explicitly but just wondering if it's available otherwise.

If the Java Service class's execute method you can get it like:

UserId = BeanHelper.asString(sessionContext.get(RTXConstants.CURRENT_USER_CTX_PARAM_KEY));

Outside the groovy script in the layout template you can get it like:

${UserCtxParam}

So it's there without having to declare it as an input property and having to explicitly pass it, but not sure how to access it in a groovy script (if it can be done).

 
x 0
Follow
Answer Answer at this question and get points!
No Forum Badges

Hi,

the Context Parameters store the information in the session context. For example, the "UserCtxParam" Context Parameter identifies the currently logged user.

Within a template, you can use a Context Parameter by writing JSTL code. Examples:

${UserCtxParam}    // prints the value in the page

<c:if test="${UserCtxParam==1}">    // checks the value of the UserCtxParam
 .....
</c:if>

The JSTL code is executed at runtime, while the Groovy code is executed during the generation phase. The information about the currently logged user is known only at runtime, so inside the template you have to use JSTL code to manage the UserCtxParam.

   
x 0
Forum Starter - Level 2

Thank you for your answer, and agrees with my observation. I think below is the rules of how I understand them now:

  • The Custom Unit sub-properties are available at generation time and run time (via the Service class constructor's "Element descr" parameter).
  • The input.template parameters are ONLY available at run time (via the Service class .execute() method's "Map sessionContext" parameter).

Therefore:

  • There is no way to get the UserCtxParam within a groovy script at generation time (because generation time occurs in WebRatio, not in the browser like Javascript or a JIT compiler).
  • The knowledge base page on "Context Parameters" explains why the UserCtxParam (and other Web Model level defined properties) don't need explicit links to make them accessible within Custom Units.

 
x 0
Answer at this question and get points!

Related questions

2 grids inside one/same cell result in non-selectable 2nd grid Access page variable in a page template add html Ajax is not working in own style project Ajax web app with javascript history object using the WebRatio Alimentar graficas con base de datos Any way to localize the Tab Grid Template (Webratio Store)? Applicare un template ad un Web Project Ayuda Simple List Component Layout personalizado Bootstrap Style Button to go on another page Cambiare dimensioni bottoni - Change button size Can I inject html into custom unit template?! Change color template bootstrap style Change Style Changing the login page does not work ckeditor - change directory for the browser Colore Attributi index unit Dinamico - Index unit dynamic attribute color Como abrir una ventana en ajax desde una master page Como embeber un video subido desde archivo ? Como mostrar una imagen de portada arriba del menu? Como mostrar una imagen en una lista o en la componente detalles? Confirm Dialog Customize layout mobile platform Custom Tooltip Position Default error pages default login page Display contents of a URL Dynamic link labelling for Custom Unit Error in Excel Unit - Font size Export to a HTML/CSS/JS project Field as link soruce File CSS non considerato in generazione Form element Form template Get date pattern Get home page from template Google map is not shown properly in the tab grid Guardar Saltos de LINEA HelloWorld Unit sample code Hiding landmarks (or flows) when the user is logged in How can i create pagemenu or landmarkmenu with multiple levels. How can I modified the htmls files to perform my style How to add an image in a modal/pop-up window? How to include a template into other template? How to localize AJAX waiting dialog? How to localize the multi message unit in the notification layout How to modify template? How to modify the FertileEnviroment Default page How to remove default Linked Resources? How to use LandmarkMenu as AJAX navigation how to use the landmark menu as AJAX navigation integrate framework to webratio mobile Integrazione javascript Javascript and html javascript history object Localize "Welcome..." and "Process details" logo webratio meaning of each tag in the XML code (Show XML/Show Layout XML) modify field html Modify html generated by wr:NavigationBar Pages Problem After Project Generation pass template variable Problem Login Form only if user not logged Problem print Problems with the page refresh (Tab Grid) Problem with adding templates query unit who to hide fields that are used in a link Recursive Hierarchical Index Unit Style Tree Redirect to the default module Remove default BPM css import for all templates Responsive Bootstrap Grid Responsive Layout Manager Set context parameter Simple Static Page Standard confirm dialog replacement Style hierarchical unit help!! Supoort for Mobile and Desktop display Target tabs in Tab Grid Control Tooltip on a field Too much layout parameters = no scroll in parameters config window Uppercase Use image as interaction flow Vista de diferentes Site Views Webratio Add-ons no permite login wr-ajaxDivs break layout on ajax pages.