コード例 #1
0
 /**
  * Checks if a permission is stored for a role
  *
  * @param \BeatSwitch\Lock\Roles\Role $role
  * @param \BeatSwitch\Lock\Permissions\Permission
  * @return bool
  */
 public function hasRolePermission(Role $role, Permission $permission)
 {
     $query = $this->getTable('Roles')->find()->where(['role' => $role->getRoleName(), 'type' => $permission->getType(), 'action' => $permission->getAction()]);
     if (is_null($permission->getResourceType())) {
         $query->where(['resource_type' => null]);
     } else {
         $query->where(['resource_type' => $permission->getResourceType()]);
     }
     if (is_null($permission->getResourceId())) {
         $query->where(['resource_id' => null]);
     } else {
         $query->where(['resource_id', $permission->getResourceId()]);
     }
     return (bool) $query->first();
 }
コード例 #2
0
ファイル: DatabaseDriver.php プロジェクト: ksar/lock-laravel
 /**
  * Checks if a permission is stored for a role
  *
  * @param \BeatSwitch\Lock\Roles\Role $role
  * @param \BeatSwitch\Lock\Permissions\Permission
  * @return bool
  */
 public function hasRolePermission(Role $role, Permission $permission)
 {
     $query = $this->getTable()->where('role', $role->getRoleName())->where('type', $permission->getType())->where('action', $permission->getAction());
     if (is_null($permission->getResourceType())) {
         $query->whereNull('resource_type');
     } else {
         $query->where('resource_type', $permission->getResourceType());
     }
     if (is_null($permission->getResourceId())) {
         $query->whereNull('resource_id');
     } else {
         $query->where('resource_id', $permission->getResourceId());
     }
     return (bool) $query->first();
 }