From: Vincent Vanwaelscappel Date: Fri, 30 Jun 2023 09:55:49 +0000 (+0200) Subject: wait #6098 @0.25 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=e546f4cd94d44a36b25c70f32623d5d165073750;p=fluidbook-toolbox.git wait #6098 @0.25 --- diff --git a/app/Models/FluidbookPublication.php b/app/Models/FluidbookPublication.php index 995d35c19..557b989b8 100644 --- a/app/Models/FluidbookPublication.php +++ b/app/Models/FluidbookPublication.php @@ -54,7 +54,9 @@ use Cubist\Util\Graphics\Image; use Cubist\Util\Json; use Cubist\Util\Str; use Datetime; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Support\Facades\Artisan; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; @@ -109,6 +111,23 @@ class FluidbookPublication extends ToolboxSettingsModel use SCORMVersionTrait; use CheckHash; + public static function addOwnerClause(Builder $builder) + { + if (null === backpack_user() || null === Auth::id()) { + return; + } + if (Auth::user()->hasPermissionTo(static::$_permissionBase . ':admin')) { + return; + } + if (null === static::$_ownerAttribute) { + return; + } + $builder->whereIn(static::$_ownerAttribute, backpack_user()->getManagedUsers()); + if (!Auth::user()->hasPermissionTo(static::$_permissionBase . ':write')) { + $builder->where('status', '>', 0); + } + } + public function setFields() { parent::setFields();