dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #18962
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 8083: Hide/show menu base on user-role
------------------------------------------------------------
revno: 8083
committer: Lai <lai.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2012-09-14 15:40:13 +0700
message:
Hide/show menu base on user-role
modified:
dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/action/MenuAction.java
dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/menu.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/action/MenuAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/action/MenuAction.java 2012-01-22 19:37:21 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/action/MenuAction.java 2012-09-14 08:40:13 +0000
@@ -36,6 +36,8 @@
import org.hisp.dhis.organisationunit.OrganisationUnitService;
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodService;
+import org.hisp.dhis.user.CurrentUserService;
+import org.hisp.dhis.user.User;
public class MenuAction
implements Action
@@ -71,6 +73,13 @@
{
this.periodService = periodService;
}
+
+ private CurrentUserService currentUserService;
+
+ public void setCurrentUserService( CurrentUserService currentUserService )
+ {
+ this.currentUserService = currentUserService;
+ }
private I18nFormat format;
@@ -143,6 +152,20 @@
{
return complete;
}
+
+ public boolean trackingAuthority;
+
+ public boolean isTrackingAuthority()
+ {
+ return trackingAuthority;
+ }
+
+ public boolean aggregateAuthority;
+
+ public boolean isAggregateAuthority()
+ {
+ return aggregateAuthority;
+ }
// -------------------------------------------------------------------------
// Action Implementation
@@ -151,6 +174,24 @@
@Override
public String execute()
{
+ User user = currentUserService.getCurrentUser();
+
+ trackingAuthority = false;
+
+ aggregateAuthority = false;
+
+ for (String each: user.getUserCredentials().getAllAuthorities())
+ {
+ if ( each.equals( "M_dhis-web-maintenance-patient" ) )
+ {
+ trackingAuthority = true;
+ }
+ if ( each.equals( "M_dhis-web-dataentry" ))
+ {
+ aggregateAuthority = true;
+ }
+ }
+
if ( complete )
{
organisationUnit = organisationUnitService.getOrganisationUnit( organisationUnitId );
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-09-08 14:18:07 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/resources/META-INF/dhis/beans.xml 2012-09-14 08:40:13 +0000
@@ -14,6 +14,7 @@
ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
+ <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
</bean>
<!-- Data entry -->
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/menu.vm'
--- dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/menu.vm 2012-09-06 18:52:44 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/webapp/dhis-web-light/menu.vm 2012-09-14 08:40:13 +0000
@@ -20,8 +20,12 @@
<p>
<ul>
- <li><a href="selectOrganisationUnit.action">$i18n.getString( "agregate_reporting" )</a></li>
- <li><a href="trackingMenu.action">$i18n.getString( "tracking" )</a></li>
+ #if( $aggregateAuthority == true )
+ <li><a href="selectOrganisationUnit.action">$i18n.getString( "agregate_reporting" )</a></li>
+ #end
+ #if( $trackingAuthority == true )
+ <li><a href="trackingMenu.action">$i18n.getString( "tracking" )</a></li>
+ #end
<li><a href="messages.action">$i18n.getString( "messages" ) #if($unreadMessageConversationCount > 0)($unreadMessageConversationCount)#end</a></li>
<li><a href="reports.action">$i18n.getString( "reports" )</a></li>
<li><a href="settings.action">$i18n.getString( "settings" )</a></li>
@@ -35,4 +39,4 @@
<li><a href="../dhis-web-commons-security/logout.action">$i18n.getString("logout")</a></li>
<li style="padding-top: 5px;"><a href="../">$i18n.getString("desktop_version")</a></li>
</ul>
-</div>
+</div>
\ No newline at end of file