fix status

This commit is contained in:
mahdi purHosseini
2024-01-30 14:35:33 +03:30
parent 761aec8b69
commit 1d6d81a461
15 changed files with 147 additions and 33 deletions
+20 -3
View File
@@ -2,6 +2,8 @@
namespace App\Http\Controllers;
use App\Constants\StatusTypeEnum;
use App\Http\Requests\ChangeStatusRequest;
use App\Http\Requests\StorePackageRequest;
use App\Http\Resources\PackageResource;
use App\Item;
@@ -32,7 +34,11 @@ class PackageController extends Controller
] );
$user = auth( 'api' )->user();
if ( $user->hasRole( 'User' ) or $user->hasRole( 'Supervisor' ) ) {
if ( $user->hasRole( 'User' ) ) {
$Packages = $Packages->whereHas( 'user' , function ( $query ) use ( $user ) {
$query->where( 'medical_center_id' , $user->medical_center_id );
} )->where( "status" , StatusTypeEnum::APPROVED );
} elseif ( $user->hasRole( 'Supervisor' ) ) {
$Packages = $Packages->whereHas( 'user' , function ( $query ) use ( $user ) {
$query->where( 'medical_center_id' , $user->medical_center_id );
} );
@@ -89,7 +95,9 @@ class PackageController extends Controller
public function getPackages()
{
$Packages = Package::orderByDesc( 'id' )->get();
$Packages = Package::where( "status" , StatusTypeEnum::APPROVED )
->orderByDesc( 'id' )
->get();
return PackageResource::collection( $Packages );
}
@@ -120,7 +128,7 @@ class PackageController extends Controller
$PackageData = [
'name' => $request->name ,
'note' => $request->note ,
'verified' => 'NotVerified' ,
'status' => StatusTypeEnum::SUSPENDED ,
'user_id' => auth( 'api' )->user()->id ,
'creator_id' => auth( 'api' )->user()->id
];
@@ -179,4 +187,13 @@ class PackageController extends Controller
$Package->delete();
return MessageResponse::success( trans( 'messages.success' ) );
}
public function changeStatus( ChangeStatusRequest $request , Package $Package )
{
if ( auth( 'api' )->user()->cant( 'changeStatus' , Package::class ) ) {
return MessageResponse::error( trans( 'messages.access_denied' ) );
}
$Package->update( [ "status" => $request->status ] );
return MessageResponse::success( trans( 'messages.success' ) );
}
}