mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 19:51:06 +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,54 +15,6 @@ class TempSeeder extends Seeder
|
|||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
$users = [
|
|
||||||
[
|
|
||||||
'name' => 'user',
|
|
||||||
'email' => 'user@user',
|
|
||||||
'country_code' => '0098',
|
|
||||||
'cell_number' => '09392349878',
|
|
||||||
'gender' => 'Male',
|
|
||||||
'verified' => 'Verified',
|
|
||||||
'status' => 'Active',
|
|
||||||
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
|
||||||
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
|
||||||
'address' => 'yyop.st 45 5.No',
|
|
||||||
'remember_token' => '1234567891',
|
|
||||||
'created_at' => now(),
|
|
||||||
'updated_at' => now(),
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'admin',
|
|
||||||
'email' => 'admin@admin',
|
|
||||||
'country_code' => '0098',
|
|
||||||
'cell_number' => '09121231234',
|
|
||||||
'gender' => 'Male',
|
|
||||||
'verified' => 'Verified',
|
|
||||||
'status' => 'Active',
|
|
||||||
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
|
||||||
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
|
||||||
'address' => 'rgdforp.st 49 8.No',
|
|
||||||
'remember_token' => '5432123459',
|
|
||||||
'created_at' => now(),
|
|
||||||
'updated_at' => now(),
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'name' => 'supervisor',
|
|
||||||
'email' => 'supervisor@supervisor',
|
|
||||||
'country_code' => '0098',
|
|
||||||
'cell_number' => '09101231232',
|
|
||||||
'gender' => 'Male',
|
|
||||||
'verified' => 'Verified',
|
|
||||||
'status' => 'Active',
|
|
||||||
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
|
||||||
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
|
||||||
'address' => 'yyhdfghop.st 43 6.No',
|
|
||||||
'remember_token' => '1234543212',
|
|
||||||
'created_at' => now(),
|
|
||||||
'updated_at' => now(),
|
|
||||||
]
|
|
||||||
];
|
|
||||||
\App\Models\User::insert($users);
|
|
||||||
$roles = [
|
$roles = [
|
||||||
['name' => 'Admin','guard_name'=>'api'],
|
['name' => 'Admin','guard_name'=>'api'],
|
||||||
['name' => 'Supervisor','guard_name'=>'api'],
|
['name' => 'Supervisor','guard_name'=>'api'],
|
||||||
@@ -70,8 +22,54 @@ class TempSeeder extends Seeder
|
|||||||
];
|
];
|
||||||
Role::insert($roles);
|
Role::insert($roles);
|
||||||
|
|
||||||
User::find(436)->assignRole('User');
|
$user = User::create([
|
||||||
User::find(437)->assignRole('Admin');
|
'name' => 'user',
|
||||||
User::find(438)->assignRole('Supervisor');
|
'email' => 'user@user',
|
||||||
|
'country_code' => '0098',
|
||||||
|
'cell_number' => '09392349878',
|
||||||
|
'gender' => 'Male',
|
||||||
|
'verified' => 'Verified',
|
||||||
|
'status' => 'Active',
|
||||||
|
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
||||||
|
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
||||||
|
'address' => 'yyop.st 45 5.No',
|
||||||
|
'remember_token' => '1234567891',
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
]);
|
||||||
|
$admin = User::create([
|
||||||
|
'name' => 'admin',
|
||||||
|
'email' => 'admin@admin',
|
||||||
|
'country_code' => '0098',
|
||||||
|
'cell_number' => '09121231234',
|
||||||
|
'gender' => 'Male',
|
||||||
|
'verified' => 'Verified',
|
||||||
|
'status' => 'Active',
|
||||||
|
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
||||||
|
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
||||||
|
'address' => 'rgdforp.st 49 8.No',
|
||||||
|
'remember_token' => '5432123459',
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
]);
|
||||||
|
$supervisor=User::create([
|
||||||
|
'name' => 'supervisor',
|
||||||
|
'email' => 'supervisor@supervisor',
|
||||||
|
'country_code' => '0098',
|
||||||
|
'cell_number' => '09101231232',
|
||||||
|
'gender' => 'Male',
|
||||||
|
'verified' => 'Verified',
|
||||||
|
'status' => 'Active',
|
||||||
|
'medical_center_id' => 1, // ایجاد مرکز پزشکی به طور خودکار
|
||||||
|
'password' => bcrypt('password'), // رمز عبور پیشفرض
|
||||||
|
'address' => 'yyhdfghop.st 43 6.No',
|
||||||
|
'remember_token' => '1234543212',
|
||||||
|
'created_at' => now(),
|
||||||
|
'updated_at' => now(),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$user->assignRole('User');
|
||||||
|
$admin->assignRole('Admin');
|
||||||
|
$supervisor->assignRole('Supervisor');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user