Example #1
0
 /** Insert
  * @param array $values
  * @return bool|string
  */
 public function insert($values)
 {
     try {
         $this->database->beginTransaction();
         $roleEntity = new RoleEntity();
         $roleEntity->setName($values['name']);
         $repo = $this->roleRepository->push($roleEntity);
         $repo->save();
         $aclRoleID = $repo->getLastInsertID();
         $resources = $this->resourceRepository->read();
         foreach ($resources as $resource) {
             foreach ($values[$resource->aclResourceID] as $key => $action) {
                 if ($action === TRUE) {
                     $permissionEntity = new PermissionEntity();
                     $permissionEntity->setAclRoleID($aclRoleID);
                     $permissionEntity->setAclModelID($key);
                     $permissionEntity->setAllowed($action);
                     $this->permissionRepository->push($permissionEntity);
                 }
             }
         }
         $this->permissionRepository->save();
         $this->database->commit();
         return TRUE;
     } catch (\PDOException $e) {
         $this->database->rollBack();
         return $e->getMessage();
     }
 }
Example #2
0
 /**
  * @return string
  */
 public function getRoleName()
 {
     return $this->role->getName();
 }