bug fixes

This commit is contained in:
2023-08-31 23:21:20 +10:00
parent 147b55ae78
commit 2257736ad9
15 changed files with 741 additions and 504 deletions

View File

@@ -29,60 +29,6 @@ class MediaJobConductor extends Conductor
protected $includes = ['user'];
/**
* Return an array of model fields visible to the current user.
*
* @param Model $model The model in question.
* @return array The array of field names.
*/
public function fields(Model $model): array
{
$fields = parent::fields($model);
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission('admin/media') === false) {
$fields = arrayRemoveItem($fields, ['permission', 'storage']);
}
return $fields;
}
/**
* Run a scope query on the collection before anything else.
*
* @param Builder $builder The builder in use.
* @return void
*/
public function scope(Builder $builder): void
{
$user = auth()->user();
if ($user === null) {
$builder->where('permission', '');
} else {
$builder->where('permission', '')->orWhereIn('permission', $user->permissions);
}
}
/**
* Return if the current model is visible.
*
* @param Model $model The model.
* @return boolean Allow model to be visible.
*/
public static function viewable(Model $model): bool
{
if ($model->permission !== '') {
/** @var \App\Models\User */
$user = auth()->user();
if ($user === null || $user->hasPermission($model->permission) === false) {
return false;
}
}
return true;
}
/**
* Return if the current model is creatable.
*
@@ -90,8 +36,7 @@ class MediaJobConductor extends Conductor
*/
public static function creatable(): bool
{
$user = auth()->user();
return ($user !== null);
return false;
}
/**
@@ -102,10 +47,7 @@ class MediaJobConductor extends Conductor
*/
public static function updatable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && (strcasecmp($model->user_id, $user->id) === 0 ||
$user->hasPermission('admin/media') === true));
return false;
}
/**
@@ -116,9 +58,7 @@ class MediaJobConductor extends Conductor
*/
public static function destroyable(Model $model): bool
{
/** @var \App\Models\User */
$user = auth()->user();
return ($user !== null && ($model->user_id === $user->id || $user->hasPermission('admin/media') === true));
return false;
}
/**