基地产量/基地数据的数据权限
parent
aef3502938
commit
d77cdbe10f
|
|
@ -2,13 +2,22 @@
|
||||||
|
|
||||||
namespace App\ModelFilters;
|
namespace App\ModelFilters;
|
||||||
|
|
||||||
|
use App\Models\AdminUser;
|
||||||
use EloquentFilter\ModelFilter;
|
use EloquentFilter\ModelFilter;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class AgriculturalBaseFilter extends ModelFilter
|
class AgriculturalBaseFilter extends ModelFilter
|
||||||
{
|
{
|
||||||
public function type($type)
|
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)
|
public function parent($parent)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
namespace App\ModelFilters;
|
namespace App\ModelFilters;
|
||||||
|
|
||||||
|
use App\Models\AdminUser;
|
||||||
use EloquentFilter\ModelFilter;
|
use EloquentFilter\ModelFilter;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
class CropYieldFilter extends ModelFilter
|
class CropYieldFilter extends ModelFilter
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +27,13 @@ class CropYieldFilter extends ModelFilter
|
||||||
public function type($type)
|
public function type($type)
|
||||||
{
|
{
|
||||||
return $this->whereHas('base', function($q) use ($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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue