Exemplo n.º 1
0
 public function findaccessAction()
 {
     if ($data = Zend_Json::decode($this->getRequest()->getRawBody())) {
         try {
             if (empty($data["admin_id"]) or empty($data["app_id"])) {
                 throw new Exception($this->_("An error occurred while saving. Please try again later."));
             }
             $admin = new Admin_Model_Admin();
             $admin->find($data["admin_id"]);
             $app = new Application_Model_Application();
             $app->find($data["app_id"]);
             $app_acl_option = new Application_Model_Acl_Option();
             $forbidden_options = $app_acl_option->findAllByAppId($data["app_id"], $data["admin_id"]);
             $option_tmp = array();
             foreach ($forbidden_options as $option) {
                 $option_tmp[] = $option->getValueId();
             }
             $forbidden_options = $option_tmp;
             $data = array("app_name" => $app->getName(), "user_name" => $admin->getData("firstname") . " " . $admin->getData("lastname"), "can_add_page" => $admin->isAllowedToAddPages($data["app_id"]), "options" => array());
             foreach ($app->getOptions() as $option) {
                 $option_is_allowed = !in_array($option->getValueId(), $forbidden_options);
                 $option_obj = new Application_Model_Option();
                 $option_obj->find($option->getOptionId());
                 if ($option_obj->getId()) {
                     $icon_url = $option_obj->getIconUrl();
                 } else {
                     $icon_url = null;
                 }
                 $data["options"][] = array("value_id" => $option->getValueId(), "icon_url" => $icon_url, "name" => $option->getTabbarName() ? $option->getTabbarName() : $option->getName(), "code" => $option->getCode(), "is_allowed" => $option_is_allowed);
             }
         } catch (Exception $e) {
             $data = array("error" => 1, "message" => $e->getMessage());
         }
         $this->_sendHtml($data);
     }
 }