コード例 #1
0
 public function editAction()
 {
     $admin = new Admin_Model_Admin();
     $applications = array();
     if ($admin_id = $this->getRequest()->getParam('admin_id')) {
         $admin->find($admin_id);
         if (($admin->getId() or $admin->getParentId()) and ($admin->getId() != $this->getAdmin()->getId() and $admin->getParentId() != $this->getAdmin()->getId())) {
             $this->getSession()->addError("This administrator does not exist");
             $this->redirect("admin/access_management/list");
         }
     }
     if ($admin->getParentId() and $admin->getId() != $this->getAdmin()->getId()) {
         $application = new Application_Model_Application();
         $authorized_applications = $application->findAllByAdmin($this->getRequest()->getParam("admin_id"));
         $applications = $application->findAllByAdmin($this->getAdmin()->getId());
         $data = array("app_ids" => array(), "is_allowed_to_add_pages" => array());
         foreach ($applications as $application) {
             $application->setIsAllowedToEdit(false)->setIsAllowedToAddPages(false);
             foreach ($authorized_applications as $authorized_application) {
                 if ($application->getId() == $authorized_application->getId()) {
                     $application->setIsAllowedToEdit(true)->setIsAllowedToAddPages($authorized_application->getIsAllowedToAddPages());
                 }
             }
         }
     }
     $this->loadPartials();
     $this->getLayout()->getPartial('content')->setAdmin($admin)->setApplications($applications)->setMode("management");
 }