diff --git a/app/Classes/Modules/Banks/ControllersLogic/UpdateBankLogic.php b/app/Classes/Modules/Banks/ControllersLogic/UpdateBankLogic.php index 85e3449c..9cb8fdd2 100644 --- a/app/Classes/Modules/Banks/ControllersLogic/UpdateBankLogic.php +++ b/app/Classes/Modules/Banks/ControllersLogic/UpdateBankLogic.php @@ -39,7 +39,6 @@ class UpdateBankLogic extends AbstractControllerLogic /** @var FetchesBank */ private $fetchesBank; - /** * UpdateBankLogic constructor. * @param CanUpdateBank $canUpdateBank @@ -66,11 +65,18 @@ class UpdateBankLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - - $bankObject = new BankObject($request->input('company_id'), $request->input('country_id'), - $request->input('reference'), $request->input('bank_name'), $request->input('holder_name'), - $request->input('account_no')); - + $bankObject = new BankObject( + $request->input('company_id'), + $request->input('account_type'), + $request->input('bank_name'), + $request->input('holder_name'), + $request->input('account_no'), + $request->input('bank_branch'), + $request->input('swift'), + $request->input('snap'), + $request->input('country_id'), + $request->input('reference') + ); $bank = $this->fetchesBank->execute(['id' => $request->route('id')]); diff --git a/app/Classes/Modules/Banks/ControllersLogic/UpdateBankStatusLogic.php b/app/Classes/Modules/Banks/ControllersLogic/UpdateBankStatusLogic.php new file mode 100644 index 00000000..09ee2796 --- /dev/null +++ b/app/Classes/Modules/Banks/ControllersLogic/UpdateBankStatusLogic.php @@ -0,0 +1,62 @@ + 'Update Bank Account Status', + 'message' => 'You have successfully updated the Bank Account Status' + ]; + } + + /** @var FetchesBank */ + private $fetchesBank; + + /** @var UpdatesBankStatus */ + private $updatesBankStatus; + + /** + * UpdateBankStatusLogic constructor. + * @param FetchesBank $fetchesBank + * @param UpdatesBankStatus $updatesBankStatus + */ + public function __construct( + FetchesBank $fetchesBank, + UpdatesBankStatus $updatesBankStatus + ) + { + $this->fetchesBank = $fetchesBank; + $this->updatesBankStatus = $updatesBankStatus; + } + + /** + * @param Request $request + * @return JsonResponse + * @throws \App\Classes\Exceptions\AccessForbiddenException + * @throws \App\Classes\Exceptions\MalformedRequestException + * @throws \App\Classes\Exceptions\RequestValidationException + */ + public function logic(Request $request) : JsonResponse + { + $bank = $this->fetchesBank->execute(['id' => $request->route('id')]); + + $bank_query = $this->updatesBankStatus->execute($bank, $request->input('status')); + + return $this->resourceResponse(new BankResource($bank_query)); + + } + +} \ No newline at end of file diff --git a/app/Classes/Modules/Banks/Services/UpdatesBank.php b/app/Classes/Modules/Banks/Services/UpdatesBank.php index 6367a6aa..69e8347a 100644 --- a/app/Classes/Modules/Banks/Services/UpdatesBank.php +++ b/app/Classes/Modules/Banks/Services/UpdatesBank.php @@ -23,7 +23,7 @@ class UpdatesBank extends AbstractUpdateRecord $model->bank_branch = $object->getBankBranch(); $model->swift = $object->getSwift(); $model->snap = $object->getSnap(); - $model->default = $object->getDefault(); + $model->reference = $object->getReference(); return $this->handler($model); } diff --git a/app/Classes/Modules/Banks/Services/UpdatesBankStatus.php b/app/Classes/Modules/Banks/Services/UpdatesBankStatus.php new file mode 100644 index 00000000..c080ad56 --- /dev/null +++ b/app/Classes/Modules/Banks/Services/UpdatesBankStatus.php @@ -0,0 +1,22 @@ +status = $status; + return $this->handler($model); + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Banks/UpdateBankStatusController.php b/app/Http/Controllers/Banks/UpdateBankStatusController.php new file mode 100644 index 00000000..e5faffa5 --- /dev/null +++ b/app/Http/Controllers/Banks/UpdateBankStatusController.php @@ -0,0 +1,20 @@ +execute($request); + } + +} \ No newline at end of file diff --git a/resources/assets/vue/components/banks/forms/SuspendBankAccountFormComponent.vue b/resources/assets/vue/components/banks/forms/SuspendBankAccountFormComponent.vue new file mode 100644 index 00000000..ab09aff6 --- /dev/null +++ b/resources/assets/vue/components/banks/forms/SuspendBankAccountFormComponent.vue @@ -0,0 +1,45 @@ + + \ No newline at end of file diff --git a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue index 59484c81..5af5548c 100644 --- a/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue +++ b/resources/assets/vue/components/bookings/elements/PaymentProofComponent.vue @@ -47,13 +47,24 @@ -
-
- Cancel this order? +
+
+
*This Bank Account has been suspended. Please notify customer to update their Bank Account.*
+
+
+ Suspend this Bank Account ?
- - + + + +
+
+ Cancel this order? +
+
+ +
diff --git a/routes/bank.php b/routes/bank.php index a17ceb63..03c719e6 100644 --- a/routes/bank.php +++ b/routes/bank.php @@ -8,4 +8,6 @@ Route::group(['prefix' => 'bank', 'as' => 'bank.', 'namespace' => 'Banks'], func Route::put('/update/{id}', 'UpdateBankController@update')->name('update'); Route::put('/{id}/default', 'SetBankToDefaultController@update')->name('default'); Route::delete('/delete/{id}', 'DeleteBankController@delete')->name('delete'); + + Route::put('/update/{id}/status', 'UpdateBankStatusController@update')->name('status.update'); }); \ No newline at end of file