public function addItem(ddNavMenu $i)
 {
     $i->setRequest($this->_request)->setContext($this->_context);
     $this->_menu[$i->getName()] = $i;
     foreach ($i->getChildren() as $child) {
         $child->setRequest($this->_request)->setContext($this->_context);
     }
 }
示例#2
0
文件: menu.php 项目: ner0tic/scss
<?php

$user = sfContext::getInstance()->getUser();
$request = sfContext::getInstance()->getRequest();
$menu = new ddNavMenu('navbar');
$menu->addChild('home', @homepage)->requiresNoAuth(true);
$menu->addChild('home', @dashboard)->setCredentials(array('troopAdmin', 'campStaff', 'campAdmin', 'districtAdmin', 'siteAdmin'));
if (!$user->isAuthenticated()) {
    // non auth menu (guest) [DEACTIVATED_USER]
    $menu->addChild('sign in', @sf_guard_signin)->requiresNoAuth(true);
    $menu->addChild('sign up', @sf_guard_signup)->requiresNoAuth(true);
    $menu->addChild('about', @about)->requiresNoAuth(true);
    $menu->addChild('contact', @contact)->requiresNoAuth(true);
} else {
    $menu->addChild('scout management', @scouts_by_troop)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin', 'campAdmin'));
    $menu->addChild('patrol management', @patrols_by_troop)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin'));
    $menu->addChild('troop settings', @troop_mgmt)->setCredentials(array('troopAdmin'));
    $menu->addChild('troop management', @troop_mgmt)->setCredentials(array('campAdmin', 'districtAdmin', 'siteAdmin'));
    $menu->addChild('camp settings', @camp_mgmt)->setCredentials(array('campAdmin'));
    $menu->addChild('camp management', @camp_mgmt)->setCredentials(array('districtAdmin', 'siteAdmin'));
    $menu->addChild('district settings', @district_mgmt)->setCredentials(array('districtAdmin'));
    $menu->addChild('district management', @district_mgmt)->setCredentials(array('siteAdmin'));
    $menu->addChild('misc settings', @misc_settings)->setCredentials(array('siteAdmin'));
    $menu->addChild('class management', @class_mgmt)->setCredentials(array('campStaff'))->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug()));
    $menu->addChild('staff information', @staff_info)->setCredentials(array('campStaff'))->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug()));
    $menu->addChild('reports', @reports)->setCredentials(array('troopAdmin', 'campAdmin', 'districtAdmin', 'siteAdmin'));
    // scout menu
    $menu['scout management']->addChild('add a scout', @scout_new)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()));
    $menu['scout management']->addChild('enroll scouts', @scout_enroll)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'camp_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getCamp()->getSlug(), 'week_slug' => $user->getProfile()->getActiveEnrollment()->getWeek()->getSlug()));
    // patrol menu
    $menu['patrol management']->addChild('add a patrol', @patrol_new)->setParameters(array('district_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getDistrict()->getSlug(), 'troop_slug' => $user->getProfile()->getActiveEnrollment()->getTroop()->getSlug()))->setCredentials(array('troopAdmin'));