diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CompleteContainerLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CompleteContainerLogic.php new file mode 100644 index 00000000..7720fc27 --- /dev/null +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CompleteContainerLogic.php @@ -0,0 +1,61 @@ + 'Updated Container', + 'message' => 'You have successfully updated the Container' + ]; + } + + + /** @var UpdatesContainerStatus */ + private $updatesContainerStatus; + + /** @var FetchesContainer */ + private $fetchesContainer; + + /** + * CompleteContainerLogic constructor. + * @param CanUpdateContainer $canUpdateContainer + * @param UpdatesContainerStatus $updatesContainerStatus + * @param FetchesContainer $fetchesContainer + */ + public function __construct(UpdatesContainerStatus $updatesContainerStatus, FetchesContainer $fetchesContainer) + { + $this->updatesContainerStatus = $updatesContainerStatus; + $this->fetchesContainer = $fetchesContainer; + } + + + /** + * @param Request $request + * @return JsonResponse + * @throws ErrorException + */ + public function logic(Request $request) : JsonResponse + { + $container = $this->fetchesContainer->execute(['id' => $request->route('id')]); + $query = $this->updatesContainerStatus->execute($container, ApprovalStatus::COMPLETED); + return $this->resourceResponse(new ContainerResource($container)); + } + +} diff --git a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php index 32ff0ae8..26253f41 100644 --- a/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php +++ b/app/Classes/Modules/PackingLists/ControllersLogic/Containers/CreateContainerLogic.php @@ -65,8 +65,6 @@ class CreateContainerLogic extends AbstractControllerLogic $request->input('status') ); - $company = $this->fetchesCompanyModule->execute(['id' => 2]); - $this->canCreateContainer->passes($object); $query = $this->createsContainer->execute($object, $this->fetchesCompanyModule->execute(['id' => $request->input('company_module_id')])); diff --git a/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainerStatus.php b/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainerStatus.php new file mode 100644 index 00000000..1072f45f --- /dev/null +++ b/app/Classes/Modules/PackingLists/Services/Containers/UpdatesContainerStatus.php @@ -0,0 +1,24 @@ +status = $status; + + return $this->handler($model); + + } +} diff --git a/app/Http/Controllers/PackingLists/Containers/CompleteContainerController.php b/app/Http/Controllers/PackingLists/Containers/CompleteContainerController.php new file mode 100644 index 00000000..97030d8a --- /dev/null +++ b/app/Http/Controllers/PackingLists/Containers/CompleteContainerController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} diff --git a/routes/packing_list.php b/routes/packing_list.php index ab4d4c27..3abe6253 100644 --- a/routes/packing_list.php +++ b/routes/packing_list.php @@ -19,9 +19,9 @@ Route::group(['namespace' => 'PackingLists', 'as' => 'packing_list.', 'prefix' = Route::delete('/delete/{id}', 'DeleteContainerController@delete')->name('delete'); Route::put('/assign-packing_list/{id}', 'AssignPackingListContainerController@assign')->name('assign.packing_list'); Route::put('/reschedule/{id}', 'RescheduleContainerController@reschedule')->name('reschedule'); - Route::put('/update-dispatch-date/{id}', 'UpdateDispatchDateContainerController@update')->name('update_dispatch_date'); Route::put('/update-drop-date/{id}', 'UpdateDropDateContainerController@update')->name('update_drop_date'); + Route::put('/complete/{id}', 'CompleteContainerController@complete')->name('complete'); }); Route::group(['namespace' => 'Packages', 'as' => 'package.', 'prefix' => 'package'], function () {