Files
dbois/application/models/eloquent/Role.php
T
2018-07-29 10:11:02 +02:00

63 lines
1.3 KiB
PHP

<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 17:07
*/
class Role extends BaseModel {
protected $table = "roles";
public function user()
{
return $this->hasOne( 'User', 'role', 'rolelevel' );
}
public static function getAllRoles( $archive )
{
$roleHierarchy = Role::getUserroleHierachy();
$roles = Role::orderBy( 'rolehierarchy' )
->where( 'rolehierarchy', '>=', $roleHierarchy );
if ( $archive == 'F' ) $roles = $roles->whereArchive( 'F' );
$roles = $roles->get();
return $roles;
}
public static function getUserroleHierachy()
{
$userrole = User::getUserRoleHierarchy();
if( $userrole == 0 ) return 0;
$roleHierarchy = Role::whereRolelevel($userrole)
->first()
->rolehierarchy;
return $roleHierarchy;
}
public static function getPagesAccessByRole()
{
$roles = self::all();
$pageroles=[];
foreach ( $roles as $role )
{
$pageroles[ $role->id ]['rolelevel'] = $role->rolelevel;
$pageroles[ $role->id ]['rolename'] = $role->rolename;
$pageroles[ $role->id ]['pagesAccess'] =
Page::getPageAccessByRoleLevel( $role->rolelevel );
}
return $pageroles;
}
}