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()); } }