/**
  * Add a staff browse edit page to the menu,
  *
  * @param string $label
  * @param array $other
  * @return \Gems_Menu_SubMenuItem
  */
 public function addStaffPage($label, array $other = array())
 {
     if ($this->user->hasPrivilege('pr.staff.edit.all')) {
         $filter = array_keys($this->escort->getUtil()->getDbLookup()->getOrganizations());
     } else {
         $filter = array_keys($this->user->getAllowedOrganizations());
     }
     $page = $this->addPage($label, 'pr.staff', 'staff', 'index', $other);
     $page->addAutofilterAction();
     $createPage = $page->addCreateAction();
     $showPage = $page->addShowAction();
     $pages[] = $showPage->addEditAction();
     $pages[] = $showPage->addAction($this->_('Reset password'), 'pr.staff.edit', 'reset')->setModelParameters(1)->addParameterFilter('gsf_active', 1);
     $showPage->addAction($this->_('Send Mail'), 'pr.staff.edit', 'mail')->setModelParameters(1)->addParameterFilter('can_mail', 1, 'gsf_active', 1, 'gsf_id_organization', $filter);
     $pages = $pages + $showPage->addDeReactivateAction('gsf_active', 1, 0);
     // LOG CONTROLLER
     $logPage = $showPage->addPage($this->_('Activity overview'), 'pr.staff-log', 'staff-log', 'index')->setModelParameters(1)->addParameterFilter('gsf_id_organization', $filter);
     $logPage->addAutofilterAction();
     $logPage->addShowAction()->setModelParameters(1)->addNamedParameters('log', 'gla_id');
     $page->addExportAction();
     $page->addImportAction();
     if (!$this->user->hasPrivilege('pr.staff.edit.all')) {
         foreach ($pages as $sub_page) {
             $sub_page->addParameterFilter('gsf_id_organization', $filter, 'accessible_role', 1);
         }
     }
     return $page;
 }