createRole() abstract public method

Create new role.
abstract public createRole ( eZ\Publish\SPI\Persistence\User\Role $role ) : eZ\Publish\SPI\Persistence\User\Role
$role eZ\Publish\SPI\Persistence\User\Role
return eZ\Publish\SPI\Persistence\User\Role
 /**
  * Create new role.
  *
  * @param Role $role
  *
  * @return Role
  */
 public function createRole(Role $role)
 {
     try {
         return $this->innerGateway->createRole($role);
     } catch (DBALException $e) {
         throw new RuntimeException('Database error', 0, $e);
     } catch (PDOException $e) {
         throw new RuntimeException('Database error', 0, $e);
     }
 }
Esempio n. 2
0
 /**
  * Create new role.
  *
  * @param \eZ\Publish\SPI\Persistence\User\Role $role
  *
  * @return \eZ\Publish\SPI\Persistence\User\Role
  */
 public function createRole(Role $role)
 {
     $this->roleGateway->createRole($role);
     foreach ($role->policies as $policy) {
         $this->addPolicy($role->id, $policy);
     }
     return $role;
 }
Esempio n. 3
0
 /**
  * Internal method for creating Role.
  *
  * Used by self::createRole() and self::createRoleDraft()
  *
  * @param \eZ\Publish\SPI\Persistence\User\RoleCreateStruct $createStruct
  * @param mixed|null $roleId Used by self::createRoleDraft() to retain Role id in the draft
  *
  * @return \eZ\Publish\SPI\Persistence\User\Role
  */
 protected function internalCreateRole(RoleCreateStruct $createStruct, $roleId = null)
 {
     $createStruct = clone $createStruct;
     $role = $this->mapper->createRoleFromCreateStruct($createStruct);
     $role->id = $roleId;
     $role->status = Role::STATUS_DRAFT;
     $this->roleGateway->createRole($role);
     foreach ($role->policies as $policy) {
         $this->addPolicyByRoleDraft($role->id, $policy);
     }
     return $role;
 }