Author: sevein
Date: Thu Jun 21 11:22:48 2012
New Revision: 11788

Log:
Retreive credentials from database to get rid of stored session data when 
building the cached menu component. Fixes issue 2266.

Modified:
   trunk/apps/qubit/modules/menu/templates/_mainMenu.php
   trunk/plugins/qtTrilliumPlugin/modules/menu/templates/_mainMenu.php

Modified: trunk/apps/qubit/modules/menu/templates/_mainMenu.php
==============================================================================
--- trunk/apps/qubit/modules/menu/templates/_mainMenu.php       Thu Jun 21 
11:21:26 2012        (r11787)
+++ trunk/apps/qubit/modules/menu/templates/_mainMenu.php       Thu Jun 21 
11:22:48 2012        (r11788)
@@ -3,7 +3,13 @@
   <h2 class="element-invisible"><?php echo __('Main menu') ?></h2>
 
   <div class="content">
-    <?php echo QubitMenu::displayHierarchyAsList($mainMenu, 0, 
array('overrideVisibility' => array('admin' => 
$sf_user->hasCredential('administrator')))) ?>
+    <?php // Using $user->hasGroup() since it relies on database,
+          // $sf_user->hasCredential('administrator') relies on session storage
+          // This adds more db access but we are caching anyways
+          // See also issue
+          $isAdministrator = 
$sf_user->user->hasGroup(QubitAclGroup::ADMINISTRATOR_ID) ?>
+    <?php echo QubitMenu::displayHierarchyAsList($mainMenu, 0, 
array('overrideVisibility' => array('admin' => $isAdministrator))) ?>
   </div>
 
+
 </div>

Modified: trunk/plugins/qtTrilliumPlugin/modules/menu/templates/_mainMenu.php
==============================================================================
--- trunk/plugins/qtTrilliumPlugin/modules/menu/templates/_mainMenu.php Thu Jun 
21 11:21:26 2012        (r11787)
+++ trunk/plugins/qtTrilliumPlugin/modules/menu/templates/_mainMenu.php Thu Jun 
21 11:22:48 2012        (r11788)
@@ -1,19 +1,27 @@
+<?php // Using $user->hasGroup() since it relies on database,
+      // $sf_user->hasCredential('administrator') relies on session storage
+      // This adds more db access but we are caching anyways
+      // See also issue
+      $isAdministrator = 
$sf_user->user->hasGroup(QubitAclGroup::ADMINISTRATOR_ID); ?>
+
 <li class="menu add">
   <a href="#" class="menu"><?php echo 
$addMenu->getLabel(array('cultureFallback' => true)) ?></a>
-  <?php echo QubitMenu::displayHierarchyAsList($addMenu, 0, 
array('overrideVisibility' => array('admin' => 
$sf_user->hasCredential('administrator')))) ?>
+  <?php echo QubitMenu::displayHierarchyAsList($addMenu, 0, 
array('overrideVisibility' => array('admin' => $isAdministrator))) ?>
 </li>
 
 <li class="menu">
   <a href="#" class="menu"><?php echo 
$manageMenu->getLabel(array('cultureFallback' => true)) ?></a>
-  <?php echo QubitMenu::displayHierarchyAsList($manageMenu, 0, 
array('overrideVisibility' => array('admin' => 
$sf_user->hasCredential('administrator')))) ?>
+  <?php echo QubitMenu::displayHierarchyAsList($manageMenu, 0, 
array('overrideVisibility' => array('admin' => $isAdministrator))) ?>
 </li>
 
 <li class="menu">
   <a href="#" class="menu"><?php echo 
$importMenu->getLabel(array('cultureFallback' => true)) ?></a>
-  <?php echo QubitMenu::displayHierarchyAsList($importMenu, 0, 
array('overrideVisibility' => array('admin' => 
$sf_user->hasCredential('administrator')))) ?>
+  <?php echo QubitMenu::displayHierarchyAsList($importMenu, 0, 
array('overrideVisibility' => array('admin' => $isAdministrator))) ?>
 </li>
 
-<li class="menu">
-  <a href="#" class="menu"><?php echo 
$adminMenu->getLabel(array('cultureFallback' => true)) ?></a>
-  <?php echo QubitMenu::displayHierarchyAsList($adminMenu, 0, 
array('overrideVisibility' => array('admin' => 
$sf_user->hasCredential('administrator')))) ?>
-</li>
+<?php if ($isAdministrator): ?>
+  <li class="menu">
+    <a href="#" class="menu"><?php echo 
$adminMenu->getLabel(array('cultureFallback' => true)) ?></a>
+    <?php echo QubitMenu::displayHierarchyAsList($adminMenu, 0, 
array('overrideVisibility' => array('admin' => $isAdministrator))) ?>
+  </li>
+<?php endif; ?>

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to