mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 18:31:05 +03:30
only return user's packages and items for supervisor and user role, and adding items field for package index
This commit is contained in:
@@ -92,12 +92,8 @@ class ItemController extends Controller
|
|||||||
] );
|
] );
|
||||||
|
|
||||||
$user = auth( 'api' )->user();
|
$user = auth( 'api' )->user();
|
||||||
if ( $user->hasRole( 'User' ) ) {
|
if ( $user->hasRole( 'User' ) or $user->hasRole('Supervisor') ) {
|
||||||
$Items = $Items->where( "user_id" , $user->id );
|
$Items = $Items->where( "user_id" , $user->id );
|
||||||
} elseif ( $user->hasRole( 'Supervisor' ) ) {
|
|
||||||
$Items = $Items->whereHas( 'user' , function ( $query ) use ( $user ) {
|
|
||||||
$query->where( 'medical_center_id' , $user->medical_center_id );
|
|
||||||
} );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$Items = $Items->orderByDesc( 'id' )->paginate( 10 );
|
$Items = $Items->orderByDesc( 'id' )->paginate( 10 );
|
||||||
|
|||||||
@@ -61,12 +61,8 @@ class PackageController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$user = auth('api')->user();
|
$user = auth('api')->user();
|
||||||
if ($user->hasRole('User')) {
|
if ($user->hasRole('User') or $user->hasRole('Supervisor')) {
|
||||||
$Packages = $Packages->where("user_id", $user->id);
|
$Packages = $Packages->where("user_id", $user->id);
|
||||||
} elseif ($user->hasRole('Supervisor')) {
|
|
||||||
$Packages = $Packages->whereHas('user', function ($query) use ($user) {
|
|
||||||
$query->where('medical_center_id', $user->medical_center_id);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$Packages = $Packages->orderByDesc('id')->paginate(10);
|
$Packages = $Packages->orderByDesc('id')->paginate(10);
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ class PackageRepository implements PackageRepositoryInterface
|
|||||||
'user.medical_center' => function ($query) {
|
'user.medical_center' => function ($query) {
|
||||||
$query->select('id', 'name', 'address', 'phone_number');
|
$query->select('id', 'name', 'address', 'phone_number');
|
||||||
},
|
},
|
||||||
|
'items'
|
||||||
])
|
])
|
||||||
->whereHas('user', function ($query) use ($user) {
|
->whereHas('user', function ($query) use ($user) {
|
||||||
$query->where('users.medical_center_id', $user->medical_center_id);
|
$query->where('users.medical_center_id', $user->medical_center_id);
|
||||||
@@ -53,6 +54,7 @@ class PackageRepository implements PackageRepositoryInterface
|
|||||||
'user.medical_center' => function ($query) {
|
'user.medical_center' => function ($query) {
|
||||||
$query->select('id', 'name', 'address', 'phone_number');
|
$query->select('id', 'name', 'address', 'phone_number');
|
||||||
},
|
},
|
||||||
|
'items'
|
||||||
])->whereHas('user', function ($query) use ($user) {
|
])->whereHas('user', function ($query) use ($user) {
|
||||||
$query->where('users.medical_center_id', $user->medical_center_id);
|
$query->where('users.medical_center_id', $user->medical_center_id);
|
||||||
})
|
})
|
||||||
@@ -78,6 +80,7 @@ class PackageRepository implements PackageRepositoryInterface
|
|||||||
'user.medical_center' => function ($query) {
|
'user.medical_center' => function ($query) {
|
||||||
$query->select('id', 'name', 'address', 'phone_number');
|
$query->select('id', 'name', 'address', 'phone_number');
|
||||||
},
|
},
|
||||||
|
'items'
|
||||||
])
|
])
|
||||||
->orderByDesc('id')
|
->orderByDesc('id')
|
||||||
->paginate(10);
|
->paginate(10);
|
||||||
|
|||||||
@@ -15,8 +15,14 @@ class TempSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$users = [
|
$roles = [
|
||||||
[
|
['name' => 'Admin','guard_name'=>'api'],
|
||||||
|
['name' => 'Supervisor','guard_name'=>'api'],
|
||||||
|
['name' => 'User','guard_name'=>'api']
|
||||||
|
];
|
||||||
|
Role::insert($roles);
|
||||||
|
|
||||||
|
$user = User::create([
|
||||||
'name' => 'user',
|
'name' => 'user',
|
||||||
'email' => 'user@user',
|
'email' => 'user@user',
|
||||||
'country_code' => '0098',
|
'country_code' => '0098',
|
||||||
@@ -30,8 +36,8 @@ class TempSeeder extends Seeder
|
|||||||
'remember_token' => '1234567891',
|
'remember_token' => '1234567891',
|
||||||
'created_at' => now(),
|
'created_at' => now(),
|
||||||
'updated_at' => now(),
|
'updated_at' => now(),
|
||||||
],
|
]);
|
||||||
[
|
$admin = User::create([
|
||||||
'name' => 'admin',
|
'name' => 'admin',
|
||||||
'email' => 'admin@admin',
|
'email' => 'admin@admin',
|
||||||
'country_code' => '0098',
|
'country_code' => '0098',
|
||||||
@@ -45,8 +51,8 @@ class TempSeeder extends Seeder
|
|||||||
'remember_token' => '5432123459',
|
'remember_token' => '5432123459',
|
||||||
'created_at' => now(),
|
'created_at' => now(),
|
||||||
'updated_at' => now(),
|
'updated_at' => now(),
|
||||||
],
|
]);
|
||||||
[
|
$supervisor=User::create([
|
||||||
'name' => 'supervisor',
|
'name' => 'supervisor',
|
||||||
'email' => 'supervisor@supervisor',
|
'email' => 'supervisor@supervisor',
|
||||||
'country_code' => '0098',
|
'country_code' => '0098',
|
||||||
@@ -60,18 +66,10 @@ class TempSeeder extends Seeder
|
|||||||
'remember_token' => '1234543212',
|
'remember_token' => '1234543212',
|
||||||
'created_at' => now(),
|
'created_at' => now(),
|
||||||
'updated_at' => now(),
|
'updated_at' => now(),
|
||||||
]
|
]);
|
||||||
];
|
|
||||||
\App\Models\User::insert($users);
|
|
||||||
$roles = [
|
|
||||||
['name' => 'Admin','guard_name'=>'api'],
|
|
||||||
['name' => 'Supervisor','guard_name'=>'api'],
|
|
||||||
['name' => 'User','guard_name'=>'api']
|
|
||||||
];
|
|
||||||
Role::insert($roles);
|
|
||||||
|
|
||||||
User::find(436)->assignRole('User');
|
$user->assignRole('User');
|
||||||
User::find(437)->assignRole('Admin');
|
$admin->assignRole('Admin');
|
||||||
User::find(438)->assignRole('Supervisor');
|
$supervisor->assignRole('Supervisor');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user