/** * 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(); }
/** * 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(); }