public function executeDelete() { $role = RolePeer::retrieveByPk($this->getRequestParameter('id')); $this->forward404Unless($role); $role->delete(); return $this->redirect('role/list'); }
/** * Removes a role by id */ public function executeDelete(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $request->checkCSRFProtection(); $this->forward404Unless($role = RolePeer::retrieveByPk($request->getParameter('id')), sprintf('Object role does not exist (%s).', $request->getParameter('id'))); $fixed_roles = sfConfig::get('app_default_roles', array()); $fixed_roles = array(); $fixed_roles = array_map('strtolower', $fixed_roles); if (in_array(strtolower($role->getTitle()), $fixed_roles)) { $this->getUser()->setFlash('warning', 'Role "' . $role->getTitle() . '" is fixed role.Unable to delete!'); } else { $role->delete(); $this->getUser()->setFlash('success', 'Role "' . $role->getTitle() . '" have successfully deleted!'); } $this->redirect('role/index'); }
public function executeShow(sfWebRequest $request) { $this->role = RolePeer::retrieveByPk($request->getParameter('id')); $this->forward404Unless($this->role); # get all rights $permissions = PermissionPeer::getForSelect(); # get assigned rights $rp_list = RolePermissionPeer::getByRoleId($this->role->getId()); $assoc_perms = array(); foreach ($rp_list as $rp) { $assoc_perms[] = $rp->getPermissionId(); } $this->assoc_perms = $assoc_perms; # prepare widget $this->widget = new sfWidgetFormSelectDoubleList(array('choices' => $permissions, 'label_unassociated' => 'Full List', 'label_associated' => 'Rights Assigned to Role', 'class' => 'security', 'associate' => 'lt;', 'unassociate' => 'gt;', 'unassociate_class' => 'btn-left', 'template' => <<<EOF <div class="%class%" style="padding-top: 0px;"> <div class="holder"> <h4>%label_unassociated%</h4> %unassociated% </div> <ul class="btn-switch"> <li>%associate%</li> <li>%unassociate%</li> </ul> <div class="holder"> <h4>%label_associated%</h4> %associated% </div> <br style="clear: both" /> <script type="text/javascript"> sfDoubleList.init(document.getElementById('%id%'), '%class_select%'); </script> </div> EOF )); }