Beispiel #1
0
 public function init()
 {
     $modules = Manager::getModules();
     $employeeAccess = $this->getModel()->access;
     foreach ($modules as $name => $translation) {
         $moduleName = "MODULE_" . strtoupper($name);
         $module = constant("\\Application\\Access\\Manager::" . $moduleName);
         $element = $this->createElement("select", $moduleName);
         $element->setLabel($translation)->addValidator("Int")->addFilter("Int")->setMultiOptions(Manager::getActions())->setValue(Manager::getValue($employeeAccess, $module));
         $this->addElement($element);
     }
     $element = $this->createElement("checkbox", "GRANT_OPTION");
     $element->setLabel("Nadawanie uprawnień")->addValidator("Int")->addFilter("Int")->setValue(Manager::hasGrantOption($employeeAccess));
     $this->addElement($element);
 }
Beispiel #2
0
 public static function hasPrivilige($request, $action = null)
 {
     $controller = str_replace('-', '', $request->getControllerName());
     if ($action == null) {
         $action = self::mapActionToAccessAction($request);
     }
     $privileges = new \Zend_Config_Xml(APPLICATION_PATH . "/configs/privileges.xml");
     $modules = self::findAllModules($privileges, $controller);
     $hasPrivilege = false;
     foreach ($modules as $module) {
         $module = self::mapModuleToAcceesModule($module);
         $hasPrivilege = $hasPrivilege || Manager::hasAccess($action, $module);
     }
     return $hasPrivilege;
 }
Beispiel #3
0
 public function init()
 {
     $login = new Employees_SubForm_Login($this->getModel());
     $login->setLegend("Dane do logowania");
     $this->addSubForm($login, "login-form");
     $basic = new Employees_SubForm_Basic($this->getModel());
     $basic->setLegend("Dane personalne");
     $this->addSubForm($basic, "basic");
     $agreement = new Employees_SubForm_Agreement($this->getModel());
     $agreement->setLegend("Umowa");
     $this->addSubForm($agreement, "agreement");
     $this->addTab("address-list", "Lista adresów", "employees/partials/address-list.phtml");
     $this->addTab("document-list", "Lista dokumentów", "employees/partials/document-list.phtml");
     $this->addTab("customers-list", "Lista klientów", "employees/partials/customers-list.phtml");
     //$this->addTab("privileges-list", "Lista przywilejów", "employees/partials/privilege-list.phtml");
     $this->addTab("trainings-list", "Szkolenia", "employees/partials/training-list.phtml");
     $employee = \Zend_Auth::getInstance()->getIdentity();
     if (Manager::hasGrantOption($employee->access)) {
         $access = new Employees_SubForm_Access($this->getModel());
         $access->setLegend("Uprawnienia");
         $this->addSubForm($access, "access");
     }
 }
Beispiel #4
0
 protected function _checkPrivileges(Zend_Config_Xml $navConfig)
 {
     $action = \Application\Access\Manager::ACTION_READ;
     $module = \Application\Access\Manager::MODULE_CUSTOMERS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Customers);
     }
     $module = \Application\Access\Manager::MODULE_APPLICATIONS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Applications);
     }
     $module = \Application\Access\Manager::MODULE_EMPLOYEES;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Employees);
     }
     $module = \Application\Access\Manager::MODULE_SETTLEMENTS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->settlements);
     }
     $module = \Application\Access\Manager::MODULE_RECRUITMENTS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->recruitment);
     }
     $module = \Application\Access\Manager::MODULE_PARTNERS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Partners);
     }
     $module = \Application\Access\Manager::MODULE_PRODUCTS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Products);
     }
     $module = \Application\Access\Manager::MODULE_NEWS;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->News);
     }
     $module = \Application\Access\Manager::MODULE_CONFIGURATION;
     if (\Application\Access\Manager::hasAccess($action, $module) == false) {
         unset($navConfig->Configuration);
     }
     return $navConfig;
 }