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
+8 -6
View File
@@ -2,6 +2,8 @@
namespace App\Http\Controllers;
use App\Constants\StatusTypeEnum;
use App\Http\Requests\ChangeStatusRequest;
use App\Http\Requests\StoreItemRequest;
use App\Http\Resources\ItemResource;
use App\Item;
@@ -45,7 +47,7 @@ class ItemController extends Controller
if ( $user->hasRole( 'User' ) ) {
$Items = $Items->whereHas( 'user' , function ( $query ) use ( $user ) {
$query->where( 'medical_center_id' , $user->medical_center_id );
} )->where( "status" , 1 );
} )->where( "status" , StatusTypeEnum::APPROVED );
} elseif ( $user->hasRole( 'Supervisor' ) ) {
$Items = $Items->whereHas( 'user' , function ( $query ) use ( $user ) {
$query->where( 'medical_center_id' , $user->medical_center_id );
@@ -108,7 +110,7 @@ class ItemController extends Controller
public function getItems()
{
$Items = Item::where( "status" , 1 )
$Items = Item::where( "status" , StatusTypeEnum::APPROVED )
->where( "package_id" , null )
->orderByDesc( 'id' )
->get();
@@ -148,6 +150,7 @@ class ItemController extends Controller
'specific' => $request->specific ,
'note' => $request->note ,
'udi' => $request->udi ,
'status' => StatusTypeEnum::SUSPENDED ,
'user_id' => auth( 'api' )->user()->id ,
'creator_id' => auth( 'api' )->user()->id
] );
@@ -183,14 +186,13 @@ class ItemController extends Controller
return MessageResponse::success( trans( 'messages.success' ) );
}
public function changeStatus( Item $Item )
public function changeStatus( ChangeStatusRequest $request , Item $Item )
{
if ( auth( 'api' )->user()->cant( 'changeStatus' , Item::class ) ) {
return MessageResponse::error( trans( 'messages.access_denied' ) );
}
$Item->status = ! $Item->status;
$Item->save();
return ItemResource::make( $Item );
$Item->update( [ "status" => $request->status ] );
return MessageResponse::success( trans( 'messages.success' ) );
}
public function changeRepair( Item $Item )
+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' ) );
}
}
@@ -2,7 +2,8 @@
namespace App\Http\Controllers;
use App\Http\Requests\StoreTransferChangeStatusRequest;
use App\Constants\StatusTypeEnum;
use App\Http\Requests\ChangeStatusRequest;
use App\Http\Requests\StoreTransferRequest;
use App\Http\Resources\TransferResource;
use App\Item;
@@ -15,7 +16,7 @@ class TransferItemController extends Controller
public function getSuspendedTransfer()
{
$data = Transfer::where( "transferable_type" , "App\\Item" )
->where( "status" , "suspended" )
->where( "status" , StatusTypeEnum::SUSPENDED )
->with( [ "user" , "transferable" , "transferable.user" ] );
$user = auth( 'api' )->user();
@@ -32,13 +33,13 @@ class TransferItemController extends Controller
return TransferResource::collection($data);
}
public function changeStatus( StoreTransferChangeStatusRequest $request , Transfer $Transfer )
public function changeStatus( ChangeStatusRequest $request , Transfer $Transfer )
{
if ( auth( 'api' )->user()->cant( 'changeStatus' , [ Transfer::class , $Transfer ] ) ) {
return MessageResponse::error( trans( 'messages.access_denied' ) );
}
if ( $Transfer->status == "suspended" ) {
if ( $request->status == "approved" ) {
if ( $Transfer->status == StatusTypeEnum::SUSPENDED ) {
if ( $request->status == StatusTypeEnum::APPROVED ) {
$item = $Transfer->transferable;
if ( $item->transferActive ) $item->transferActive()->update( [ "to_date" => Carbon::now() ] );
$Transfer->update( [ "status" => $request->status ] );
@@ -61,7 +62,7 @@ class TransferItemController extends Controller
$Item->transfers()->create( [
"user_id" => $request->user_id ,
"from_date" => Carbon::now() ,
"status" => "suspended"
"status" => StatusTypeEnum::SUSPENDED
] );
} else {
return MessageResponse::error( trans( 'messages.user_denied_transfer' ) );
@@ -2,7 +2,8 @@
namespace App\Http\Controllers;
use App\Http\Requests\StoreTransferChangeStatusRequest;
use App\Constants\StatusTypeEnum;
use App\Http\Requests\ChangeStatusRequest;
use App\Http\Requests\StoreTransferRequest;
use App\Http\Resources\TransferResource;
use App\Package;
@@ -15,7 +16,7 @@ class TransferPackageController extends Controller
public function getSuspendedTransfer()
{
$data = Transfer::where( "transferable_type" , "App\\Package" )
->where( "status" , "suspended" )
->where( "status" , StatusTypeEnum::SUSPENDED )
->with( [ "user" , "transferable" , "transferable.user" ] );
$user = auth( 'api' )->user();
@@ -32,13 +33,13 @@ class TransferPackageController extends Controller
return TransferResource::collection($data);
}
public function changeStatus( StoreTransferChangeStatusRequest $request , Transfer $Transfer )
public function changeStatus( ChangeStatusRequest $request , Transfer $Transfer )
{
if ( auth( 'api' )->user()->cant( 'changeStatus' , [ Transfer::class , $Transfer ] ) ) {
return MessageResponse::error( trans( 'messages.access_denied' ) );
}
if ( $Transfer->status == "suspended" ) {
if ( $request->status == "approved" ) {
if ( $Transfer->status == StatusTypeEnum::SUSPENDED ) {
if ( $request->status == StatusTypeEnum::APPROVED ) {
$package = $Transfer->transferable;
if ( $package->transferActive ) $package->transferActive()->update( [ "to_date" => Carbon::now() ] );
$Transfer->update( [ "status" => $request->status ] );
@@ -64,7 +65,7 @@ class TransferPackageController extends Controller
$Package->transfers()->create( [
"user_id" => $request->user_id ,
"from_date" => Carbon::now() ,
"status" => "suspended"
"status" => StatusTypeEnum::SUSPENDED
] );
} else {
return MessageResponse::error( trans( 'messages.user_denied_transfer' ) );
@@ -2,10 +2,10 @@
namespace App\Http\Requests;
use App\Item;
use App\Constants\StatusTypeEnum;
use Illuminate\Foundation\Http\FormRequest;
class StoreTransferChangeStatusRequest extends FormRequest
class ChangeStatusRequest extends FormRequest
{
public function authorize()
{
@@ -15,7 +15,7 @@ class StoreTransferChangeStatusRequest extends FormRequest
public function rules()
{
return [
'status' => 'required|in:approved,rejected'
'status' => 'required|in:'. StatusTypeEnum::APPROVED .','. StatusTypeEnum::REJECTED
];
}
+1 -1
View File
@@ -20,7 +20,7 @@ class PackageResource extends JsonResource
'id' => $this->id,
'name' => $this->name,
'note' => $this->note,
'verified' => $this->verified,
'status' => $this->status,
'creator_id' => $this->creator_id,
'creator' => UserResource::make($this->whenLoaded('creator')),
'user_id' => $this->user_id,