From 6b6bfebffaddbaa800f99d64d9a39611b7df03eb Mon Sep 17 00:00:00 2001 From: mahdi purHosseini Date: Mon, 23 Oct 2023 13:30:47 +0330 Subject: [PATCH] add my package section 2 --- app/Http/Controllers/ItemController.php | 10 ++++++ app/Item.php | 2 +- app/Policies/ItemPolicy.php | 6 ++++ .../2023_10_23_124700_update_items_table2.php | 32 +++++++++++++++++++ routes/api.php | 1 + 5 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2023_10_23_124700_update_items_table2.php diff --git a/app/Http/Controllers/ItemController.php b/app/Http/Controllers/ItemController.php index 1757aa8c..e7c3e5a4 100644 --- a/app/Http/Controllers/ItemController.php +++ b/app/Http/Controllers/ItemController.php @@ -209,4 +209,14 @@ class ItemController extends Controller $Item->save(); return \MessageResponse::data( $Item ); } + + public function changeRepair( Item $Item ) + { + if ( auth( 'api' )->user()->cant( 'changeRepair' , Item::class ) ) { + return \MessageResponse::error( trans( 'messages.access_denied' ) ); + } + $Item->repair = ! $Item->repair; + $Item->save(); + return \MessageResponse::data( $Item ); + } } diff --git a/app/Item.php b/app/Item.php index fb1fdb65..8ad9d58d 100644 --- a/app/Item.php +++ b/app/Item.php @@ -6,7 +6,7 @@ class Item extends Model { - public $fillable = [ 'name' , 'size' , 'unique_id' , 'specific' , 'note' , 'user_id' , 'udi' , 'status' ]; + public $fillable = [ 'name' , 'size' , 'unique_id' , 'specific' , 'note' , 'user_id' , 'udi' , 'status' , 'repair' ]; public function packages() { diff --git a/app/Policies/ItemPolicy.php b/app/Policies/ItemPolicy.php index 69d5ee4a..fd81a6ee 100644 --- a/app/Policies/ItemPolicy.php +++ b/app/Policies/ItemPolicy.php @@ -35,4 +35,10 @@ class ItemPolicy if($User->hasRole('Admin|Supervisor')) return true; } + + public function changeRepair(User $User) + { + if($User->hasRole('Admin|Supervisor')) + return true; + } } diff --git a/database/migrations/2023_10_23_124700_update_items_table2.php b/database/migrations/2023_10_23_124700_update_items_table2.php new file mode 100644 index 00000000..103455c3 --- /dev/null +++ b/database/migrations/2023_10_23_124700_update_items_table2.php @@ -0,0 +1,32 @@ +boolean('repair')->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('items', function (Blueprint $table) { + $table->dropColumn('repair'); + }); + } +} diff --git a/routes/api.php b/routes/api.php index 0bb77832..7a640da3 100644 --- a/routes/api.php +++ b/routes/api.php @@ -48,6 +48,7 @@ Route::middleware('auth:api')->group(function () { Route::resource('Items', 'ItemController'); Route::post('Items/ChangeStatus/{Item}', 'ItemController@changeStatus'); + Route::post('Items/ChangeRepair/{Item}', 'ItemController@changeRepair'); Route::resource('Packages', 'PackageController')->except(['showPackage']); Route::resource('Labels', 'LabelController');