Пример #1
0
 /**
  * Cria um papel para o cargo.
  * Cria uma instância de Authorization\Entity\Role com o nome time(). Cada cargo deve possuir um papel. Todos os 
  * papéis criados a partir de cargos são definidas por time().
  */
 protected function initRole()
 {
     if (!isset($this->role)) {
         $this->role = new Role();
         $this->role->setRoleName(time());
     }
 }
Пример #2
0
 /**
  * 
  * Done
  * @return ViewModel
  */
 public function createAction()
 {
     $request = $this->getRequest();
     $entityManager = $this->getEntityManager();
     $roles = $entityManager->getRepository('Authorization\\Entity\\Role')->findAll();
     $formRoles = [];
     foreach ($roles as $role) {
         $formRoles[$role->getRoleId()] = $role->getRoleName();
     }
     $roleForm = new RoleForm($formRoles);
     if ($request->isPost()) {
         $data = $request->getPost();
         $roleForm->setInputFilter(new RoleFilter());
         $roleForm->setData($data);
         if ($roleForm->isValid()) {
             $data = $roleForm->getData();
             $role = new EntityRole();
             $role->setRoleName($data['role_name']);
             $parents = new ArrayCollection();
             foreach ($data['role_parent'] as $parentRoleId) {
                 $parents->add($entityManager->getReference('Authorization\\Entity\\Role', $parentRoleId));
             }
             $role->addParents($parents);
             try {
                 $entityManager->persist($role);
                 $entityManager->flush();
                 $this->redirect()->toRoute('authorization/role', array('action' => 'index'));
             } catch (Exception $ex) {
                 return new ViewModel(array('message' => $ex->getCode() . ': ' . $ex->getMessage()));
             }
         }
     }
     return new ViewModel(array('roleForm' => $roleForm));
 }