public function grantProjectGroupPermission($group_name, $permission_name) { $permission = sfGuardPermissionPeer::retrieveByName($this->getUuid() . '-' . $permission_name); $group = sfGuardGroupPeer::retrieveByName($this->getUuid() . '-' . $group_name); if ($permission == null) { sfContext::getInstance()->getLogger()->info('permission not found: [' . $this->getUuid() . $permission_name . ']'); return false; } elseif ($group == null) { sfContext::getInstance()->getLogger()->info('group not found: [' . $this->getUuid() . $group_name . ']'); return false; } // TODO: make sure that the group permission name does not already exist $groupPermission = new sfGuardGroupPermission(); $groupPermission->setGroupId($group->getPrimaryKey()); $groupPermission->setPermissionId($permission->getId()); $groupPermission->save(); sfContext::getInstance()->getLogger()->info('group permission saved: [' . $this->getUuid() . $group_name . ']:[' . $this->getUuid() . $permission_name . ']'); }
public function addGroupByName($name, $con = null) { $group = sfGuardGroupPeer::retrieveByName($name); if (!$group) { throw new Exception(sprintf('The group "%s" does not exist.', $name)); } $ug = new sfGuardUserGroup(); $ug->setsfGuardUser($this); $ug->setGroupId($group->getId()); $ug->save($con); }
public function executeChangeRole($request) { $this->form = new ChangeRoleForm(array(), array('actual_user' => $this->getUser())); $values = $request->getParameter($this->form->getName()); if (isset($values['roles']) && !empty($values['roles'])) { $this->getUser()->clearCredentials(); $new_login_role = sfGuardGroupPeer::retrieveByPK($values['roles']); $this->getUser()->setLoginRole($new_login_role->getName()); //die(var_dump($this->getUser()->getAttribute('login_role'))); $this->getUser()->addCredentials(sfGuardPermissionPeer::retrieveAllCredentialsForARole(sfGuardGroupPeer::retrieveByName($this->getUser()->getLoginRole()))); } return $this->redirect("mainBackend/index"); }