mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/exchange-2.0.git
synced 2026-08-19 04:23:55 +00:00
admin suspend user's bank account - UI & API
This commit is contained in:
@@ -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')]);
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Banks\ControllersLogic;
|
||||
|
||||
use App\Http\Resources\BankResource;
|
||||
use App\Classes\General\Abstracts\AbstractControllerLogic;
|
||||
use App\Classes\Modules\Banks\Services\FetchesBank;
|
||||
use App\Classes\Modules\Banks\Services\UpdatesBankStatus;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateBankStatusLogic extends AbstractControllerLogic
|
||||
{
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
protected function notification():array {
|
||||
return [
|
||||
'title' => '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));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Modules\Banks\Services;
|
||||
|
||||
use App\Classes\General\Eloquent\AbstractUpdateRecord;
|
||||
use App\Models\Bank;
|
||||
|
||||
class UpdatesBankStatus extends AbstractUpdateRecord
|
||||
{
|
||||
|
||||
/**
|
||||
* @param Bank $model
|
||||
* @param int $status
|
||||
* @return \Illuminate\Database\Eloquent\Model
|
||||
* @throws \App\Classes\Exceptions\MalformedRequestException
|
||||
*/
|
||||
public function execute(Bank $model, int $status)
|
||||
{
|
||||
$model->status = $status;
|
||||
return $this->handler($model);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Banks;
|
||||
|
||||
use App\Classes\Modules\Banks\ControllersLogic\UpdateBankStatusLogic;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UpdateBankStatusController
|
||||
{
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param UpdateBankStatusLogic $logic
|
||||
* @return JsonResponse
|
||||
*/
|
||||
public function update(Request $request, UpdateBankStatusLogic $logic): JsonResponse {
|
||||
return $logic->execute($request);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
<template>
|
||||
<div class="row text-center">
|
||||
<div class="col">
|
||||
<loading-component style="height: 300px; top: 0;" key="1" color="success" v-show="isLoading" ></loading-component>
|
||||
<div class="row justify-content-center" v-show="!isLoading">
|
||||
<div class="col">
|
||||
<div class="row m-b-20">
|
||||
<div class="col">
|
||||
<h3 class="all-caps">Are you Sure?</h3>
|
||||
<div class="fs-11">Are you sure you want to suspend this Bank Account?</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col p-r-5">
|
||||
<div class="btn btn-sm btn-success btn-block b-rad-none" data-dismiss="modal">Cancel</div>
|
||||
</div>
|
||||
<div class="col p-l-5">
|
||||
<div class="btn btn-sm btn-danger btn-block b-rad-none" @click="submitForm()">Confirm</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import componentHandler from '../../../general/mixins/componentHandler';
|
||||
import ModalFormHandler from '../../../general/mixins/modalFormHandler';
|
||||
|
||||
export default {
|
||||
props: {
|
||||
section: {
|
||||
default: 'paymentProofSection'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
submitForm() {
|
||||
this.parameters.status = 5;
|
||||
this.submit(this.route('api.bank.status.update', this.data.recipient_bank_account.id), 'put', this.section, true, false);
|
||||
}
|
||||
},
|
||||
mixins: [componentHandler, ModalFormHandler]
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -47,13 +47,24 @@
|
||||
</div>
|
||||
</div>
|
||||
<bank-in-component :data="item"></bank-in-component>
|
||||
<div class="row hide" v-if="item.status === 1 || item.status === 2">
|
||||
<div class="col">
|
||||
<span class="text-complete fs-10 pointer requestModal" data-type="topUpModal">Cancel this order?</span>
|
||||
<div class="row">
|
||||
<div class="col" v-if="item.recipient_bank_account.status === 5">
|
||||
<div class="fs-9 bold text-warning">*This Bank Account has been suspended. Please notify customer to update their Bank Account.*</div>
|
||||
</div>
|
||||
<div class="col" v-if="item.recipient_bank_account.status !== 5">
|
||||
<span class="text-complete fs-10 pointer requestModal text-underline" data-type="suspendBankAccountModal">Suspend this Bank Account ?</span>
|
||||
</div>
|
||||
</div>
|
||||
<modal-component type="topUpModal">
|
||||
<delete-transaction-form-component :data="item" section="section" class="text-center"></delete-transaction-form-component>
|
||||
<modal-component type="suspendBankAccountModal">
|
||||
<suspend-bank-account-form-component :data="item" section="paymentProofSection"></suspend-bank-account-form-component>
|
||||
</modal-component>
|
||||
<div class="row hide" v-if="item.status === 1 || item.status === 2">
|
||||
<div class="col">
|
||||
<span class="text-complete fs-10 pointer requestModal" data-type="cancelOrderModal">Cancel this order?</span>
|
||||
</div>
|
||||
</div>
|
||||
<modal-component type="cancelOrderModal">
|
||||
<delete-transaction-form-component :data="item" section="paymentProofSection" class="text-center"></delete-transaction-form-component>
|
||||
</modal-component>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
Reference in New Issue
Block a user