Forums

Home » Liferay Portal » Italiano

Combination View Flat View Tree View
Threads [ Previous | Next ]
Alex alex
Customizzazione Tema - Ruoli dell'utente corrente
December 30, 2012 6:34 AM
Answer

Alex alex

Rank: New Member

Posts: 13

Join Date: October 16, 2012

Recent Posts

Salve a tutti,
vorrei modificare un tema agendo sul portal-normal.vm in modo tale che un Logo possa essere cliccabile o meno a seconda del ruolo dell'utente.
Es.
utente1 ha il ruolo1 e quindi può cliccarlo
utente2 non ha il ruolo1 e quindi non può cliccarlo.

Il codice che sto usando per recuperare il ruolo dell'utente corrente è il seguente:
#set ($rService = $serviceLocator.findService("com.liferay.portal.service.RoleService"))
#set ($usrRoles = $rService.getUserRoles( $user_id ))
#foreach( $usrRole in $usrRoles )
#If ($usrRole.getName() == "MyRole")
do something
#end
#end

Tuttavia mi ritrovo la variabile $usrRoles riempita con l'elenco dei ruoli solo se sono loggato all'interno del portale come Amministratore.
La $usrRoles risulta invece vuota se mi loggo con un'utenza normale: utente (Power User, user).
Stando cosi le cose, a meno che io non sia amministratore, non potrei mai conoscere il ruolo dell'utente corrente e quindi nascondere o meno il logo in questione.
Dove sbaglio? Perché quel codice funziona solo da amministrazione?
Esistono alternative per raggiungere il mio scopo lavorando sui temi?
Grazie mille.
Daniele Baggio
RE: Customizzazione Tema - Ruoli dell'utente corrente
December 31, 2012 12:24 AM
Answer

Daniele Baggio

Rank: Regular Member

Posts: 172

Join Date: December 5, 2008

Recent Posts

Consiglio: meglio se costruisci un portlet che ha la logica che vuoi, e poi inserisci il portlet nel tema.
Alex alex
RE: Customizzazione Tema - Ruoli dell'utente corrente
January 1, 2013 2:23 AM
Answer

Alex alex

Rank: New Member

Posts: 13

Join Date: October 16, 2012

Recent Posts

Si, grazie mille, in effetti ci avevo già pensato come alternativa, ma contavo di usare il Velocity per un approccio magari più rapido... ma è possibile che quella porzione di codice in velocity funzioni solamente sotto amministratore?
Eppure in molti forum viene riportato come soluzione per identificare i ruoli dell'utente corrente... E' strano questo comportamento.
Alex alex
RE: Customizzazione Tema - Ruoli dell'utente corrente
January 2, 2013 3:04 AM
Answer

Alex alex

Rank: New Member

Posts: 13

Join Date: October 16, 2012

Recent Posts

Soluzione:

#set ($usrRoles = $user.getRoles())
#foreach( $usrRole in $usrRoles )
#If ($usrRole.getName() == "MyRole")
do something
#end
#end