基地产量/基地数据的数据权限

dev
Jing Li 2023-11-09 19:28:40 +08:00
parent aef3502938
commit d77cdbe10f
2 changed files with 19 additions and 2 deletions

View File

@ -2,13 +2,22 @@
namespace App\ModelFilters;
use App\Models\AdminUser;
use EloquentFilter\ModelFilter;
use Illuminate\Support\Facades\Auth;
class AgriculturalBaseFilter extends ModelFilter
{
public function type($type)
{
return $this->where('type', $type);
return $this->where('type', $type)
->when($type == 1, function ($builder) {
$user = Auth::user();
if ($user instanceof AdminUser && ! $user->isAdministrator() && ! $user->view_all_bases) {
$builder->whereRaw("id in (select base_id from admin_user_bases where user_id = {$user->id})");
}
});
}
public function parent($parent)

View File

@ -2,7 +2,9 @@
namespace App\ModelFilters;
use App\Models\AdminUser;
use EloquentFilter\ModelFilter;
use Illuminate\Support\Facades\Auth;
class CropYieldFilter extends ModelFilter
{
@ -25,7 +27,13 @@ class CropYieldFilter extends ModelFilter
public function type($type)
{
return $this->whereHas('base', function($q) use ($type) {
return $q->where('type', $type);
return $q->when($type == 1, function ($builder) {
$user = Auth::user();
if ($user instanceof AdminUser && ! $user->isAdministrator() && ! $user->view_all_bases) {
$builder->whereRaw("id in (select base_id from admin_user_bases where user_id = {$user->id})");
}
})->where('type', $type);
});
}
}