示例#1
0
 public function UpdateRoleByCompany(array $data, $userdata)
 {
     try {
         $form = $this->getEditAdminRoleForm();
         if ($form->isValid($data)) {
             $formData = $form->getValues($data);
             $permissionTypes = explode(",", $formData['editcheckboxarr']);
             $respermissionTypes = array();
             foreach ($permissionTypes as $types) {
                 $permissionTypesObj = new Application_Model_AdminPermissionsType();
                 if ($types != 0) {
                     $permissionTypesObj->setPermissionTypeId($types);
                     $respermissionTypes[] = $permissionTypesObj;
                 }
             }
             $roleObj = new Application_Model_Role();
             $roleObj->setCompanyId($formData['editcompanyName']);
             $roleObj->setRoleCode($formData['editrolename']);
             $roleObj->setRoleDesc($formData['editroledesc']);
             $roleObj->setId($formData['roleid']);
             $roleObj->setPermissionId($respermissionTypes);
             $roleObj->setCreatedBy($userdata['User_Id']);
             $mapper = new Application_Model_RoleDataMapper();
             $status = $mapper->UpdateAdminRole($roleObj);
             if ($status) {
                 $result = array('status' => true);
             }
             return $result;
         } else {
             $formData = $form->getValues();
             $form->populate($data);
             $result = array('status' => false, 'form' => $form);
             return $result;
         }
     } catch (Exception $ex) {
         Rdine_Logger_FileLogger::info($ex->getMessage());
         throw new Exception($ex->getMessage());
     }
 }