Vista combinada Visión Plana Vista de árbol
Discusiones [ Anterior | Siguiente ]
toggle
Checking user role in velocity template Adam C 30 de enero de 2008 11:50
RE: Checking user role in velocity template Jorge Ferrer 19 de febrero de 2008 9:00
RE: Checking user role in velocity template Patrick Stackpoole 4 de noviembre de 2010 7:07
RE: Checking user role in velocity template cacaca cacaca 8 de mayo de 2013 23:54
RE: Checking user role in velocity template Fernando Fernandez 3 de noviembre de 2014 12:24
RE: Checking user role in velocity template Achmed Tyrannus Albab 29 de febrero de 2016 2:09
RE: Checking user role in velocity template Jairo Luna 8 de noviembre de 2010 16:46
RE: Checking user role in velocity template Ankit _ 14 de febrero de 2013 6:34
RE: Checking user role in velocity template James Falkner 14 de febrero de 2013 8:23
RE: Checking user role in velocity template Ankit _ 14 de febrero de 2013 21:32
RE: Checking user role in velocity template Ankit _ 14 de febrero de 2013 21:49
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat Devendra Patel 28 de febrero de 2013 21:30
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat Devendra Patel 28 de febrero de 2013 21:30
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat Devendra Patel 28 de febrero de 2013 21:30
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat Devendra Patel 28 de febrero de 2013 21:30
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat Devendra Patel 28 de febrero de 2013 21:30
Adam C
Checking user role in velocity template
30 de enero de 2008 11:50
Respuesta

Adam C

Ranking: Junior Member

Mensajes: 70

Fecha de incorporación: 13 de junio de 2007

Mensajes recientes

How can I determine if the user is in a certain role using Velocity? More specifically, I'd like to check if they have the Administrator role.
Jorge Ferrer
RE: Checking user role in velocity template
19 de febrero de 2008 9:00
Respuesta

Jorge Ferrer

LIFERAY STAFF

Ranking: Liferay Legend

Mensajes: 2768

Fecha de incorporación: 31 de agosto de 2006

Mensajes recientes

Hi A C,

The following wiki article explains how to access Liferay's services from a velocity template in a theme:
http://wiki.liferay.com/index.php/Access_to_Liferay_services_in_Velocity


You can then use UserService.hasUserRole(..)
Patrick Stackpoole
RE: Checking user role in velocity template
4 de noviembre de 2010 7:07
Respuesta

Patrick Stackpoole

Ranking: New Member

Mensajes: 21

Fecha de incorporación: 10 de junio de 2010

Mensajes recientes

Although I'm replying to a post that's over 2 years old, I had the same question and wanted to post a solution I found that worked.

 1
 2
 3#set ($isAdmin = false)
 4
 5#if ( $is_signed_in )
 6
 7    #set ($rService = $serviceLocator.findService("com.liferay.portal.service.RoleService"))
 8    #set ($usrRoles = $rService.getUserRoles( $user_id ))
 9    #foreach( $usrRole in $usrRoles )
10            #if ( $usrRole.getName() == "Administrator" )
11            #set ($isAdmin = true)
12            #end
13#end
Jairo Luna
RE: Checking user role in velocity template
8 de noviembre de 2010 16:46
Respuesta

Jairo Luna

Ranking: Junior Member

Mensajes: 57

Fecha de incorporación: 21 de julio de 2010

Mensajes recientes

May be you can use:

1
2$permissionChecker.isCompanyAdmin($company_id)
Ankit _
RE: Checking user role in velocity template
14 de febrero de 2013 6:34
Respuesta

Ankit _

Ranking: Junior Member

Mensajes: 46

Fecha de incorporación: 18 de octubre de 2012

Mensajes recientes

Hi, this is old post, but i am still not getting the result that i want.

I am using liferay 6.2.0 M2 , and i created site and assign the owner and admin rights to that user. I just want if user is admin i want to show dockbar.
and i tried
 1
 2#if ( $is_signed_in )
 3    #set ($rService = $serviceLocator.findService("com.liferay.portal.service.RoleService"))
 4    #set ($usrRoles = $rService.getUserRoles( $user_id ))
 5    #foreach( $usrRole in $usrRoles )
 6            #if ( $usrRole.getName() == "Administrator" )
 7                #dockbar()
 8            #end
 9    #end
10#end

and this also
1
2$permissionChecker.isCompanyAdmin($company_id)

but both way i can't get my dockbar for that admin user, i can get dockbar for test user only..
James Falkner
RE: Checking user role in velocity template
14 de febrero de 2013 8:23
Respuesta

James Falkner

Community Moderator

Ranking: Liferay Legend

Mensajes: 1406

Fecha de incorporación: 17 de septiembre de 2010

Mensajes recientes

Make sure you uncheck the 'cacheable' option when editing the template.
Ankit _
RE: Checking user role in velocity template
14 de febrero de 2013 21:32
Respuesta

Ankit _

Ranking: Junior Member

Mensajes: 46

Fecha de incorporación: 18 de octubre de 2012

Mensajes recientes

Hi James,
Thanks for your reply.
James Falkner:
Make sure you uncheck the 'cacheable' option when editing the template.

but I am trying to do in theme, so i am writing it in navigation.vm file. I cleared all the server cache, but i can't figure it out.


EDIT :
I tried this one also
1#if ($permissionChecker.isOmniadmin())
2#dockbar()
3#end

but still it getting only test user to show dockbar, not for site admin/other site owner(apply after site creation)

Thanks,
Ankit
Ankit _
RE: Checking user role in velocity template
14 de febrero de 2013 21:49
Respuesta

Ankit _

Ranking: Junior Member

Mensajes: 46

Fecha de incorporación: 18 de octubre de 2012

Mensajes recientes

sorry for post my theme problem to velocity template thread,
mean while i got my solution for site admin can see dockbar throught theme by changing in portal_normal.vm as below

1#if ($is_signed_in && $permissionChecker.isGroupAdmin($group_id))
2        #dockbar()
3    #end


Thanks,
Ankit
Devendra Patel
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat
28 de febrero de 2013 21:30
Respuesta

Devendra Patel

Ranking: Junior Member

Mensajes: 71

Fecha de incorporación: 25 de septiembre de 2011

Mensajes recientes

Hi Ankit

Rather than using service locator for fetching you can use this code :

#foreach($role in $user.getRoles())
#if($role.getName() == "Administrator")
True
#end
#end

Regards,
Dev Patel
Devendra Patel
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat
28 de febrero de 2013 21:30
Respuesta

Devendra Patel

Ranking: Junior Member

Mensajes: 71

Fecha de incorporación: 25 de septiembre de 2011

Mensajes recientes

Hi Ankit

Rather than using service locator for fetching you can use this code :

#foreach($role in $user.getRoles())
#if($role.getName() == "Administrator")
True
#end
#end

Regards,
Dev Patel
Devendra Patel
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat
28 de febrero de 2013 21:30
Respuesta

Devendra Patel

Ranking: Junior Member

Mensajes: 71

Fecha de incorporación: 25 de septiembre de 2011

Mensajes recientes

Hi Ankit

Rather than using service locator for fetching you can use this code :

#foreach($role in $user.getRoles())
#if($role.getName() == "Administrator")
True
#end
#end

Regards,
Dev Patel
Devendra Patel
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat
28 de febrero de 2013 21:30
Respuesta

Devendra Patel

Ranking: Junior Member

Mensajes: 71

Fecha de incorporación: 25 de septiembre de 2011

Mensajes recientes

Hi Ankit

Rather than using service locator for fetching you can use this code :

#foreach($role in $user.getRoles())
#if($role.getName() == "Administrator")
True
#end
#end

Regards,
Dev Patel
Devendra Patel
Re: [Liferay Forums][4. General] RE: Checking user role in velocity templat
28 de febrero de 2013 21:30
Respuesta

Devendra Patel

Ranking: Junior Member

Mensajes: 71

Fecha de incorporación: 25 de septiembre de 2011

Mensajes recientes

Hi Ankit

Rather than using service locator for fetching you can use this code :

#foreach($role in $user.getRoles())
#if($role.getName() == "Administrator")
True
#end
#end

Regards,
Dev Patel
cacaca cacaca
RE: Checking user role in velocity template
8 de mayo de 2013 23:54
Respuesta

cacaca cacaca

Ranking: New Member

Mensajes: 14

Fecha de incorporación: 12 de abril de 2013

Mensajes recientes

Patrick Stackpoole:
Although I'm replying to a post that's over 2 years old, I had the same question and wanted to post a solution I found that worked.

 1
 2
 3#set ($isAdmin = false)
 4
 5#if ( $is_signed_in )
 6
 7    #set ($rService = $serviceLocator.findService("com.liferay.portal.service.RoleService"))
 8    #set ($usrRoles = $rService.getUserRoles( $user_id ))
 9    #foreach( $usrRole in $usrRoles )
10            #if ( $usrRole.getName() == "Administrator" )
11            #set ($isAdmin = true)
12            #end
13#end
Fernando Fernandez
RE: Checking user role in velocity template
3 de noviembre de 2014 12:24
Respuesta

Fernando Fernandez

Ranking: Junior Member

Mensajes: 39

Fecha de incorporación: 22 de agosto de 2007

Mensajes recientes

BTW, if somebody wants to check Site Roles also, you have to add something like:
 1
 2#set ($rService = $serviceLocator.findService("com.liferay.portal.service.UserGroupRoleLocalService"))
 3#set ($usrRoles = $rService.getUserGroupRoles( $user.getUserId() ) )
 4#foreach( $usrRole in $usrRoles )
 5    #if($usrRole.getRole().getName() == "SiteRoleOne" || $usrRole.getRole().getName() == "SiteRoleTwo")
 6        #set ($isAdmin = true)
 7    #end
 8    #set ($userNameAndRoles = $userNameAndRoles+" "+$usrRole.getRole().getName())
 9#end
Achmed Tyrannus Albab
RE: Checking user role in velocity template
29 de febrero de 2016 2:09
Respuesta

Achmed Tyrannus Albab

Ranking: Regular Member

Mensajes: 118

Fecha de incorporación: 5 de marzo de 2010

Mensajes recientes

In case anyone was looking for a way to do it in FreeMarker, this is how i did it.
If anyone else could simplify and make it better, please do. Thanks.

1       
2<#assign usrRoles = user.getRoles()>
3<#list usrRoles as usrRole>
4    <#if usrRole.getName() == "Administrator">
5        //Roll some .. dough
6    </#if>
7</#list>