Add clone company gateway action

This commit is contained in:
David Bomba 2025-06-13 09:12:04 +10:00
parent 16bd720ee5
commit 3037d7d148
2 changed files with 10 additions and 0 deletions

View File

@ -31,6 +31,7 @@ use App\Http\Requests\CompanyGateway\BulkCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\EditCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\EditCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\ShowCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\ShowCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\TestCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\TestCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\CloneCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\StoreCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\StoreCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\CreateCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\CreateCompanyGatewayRequest;
use App\Http\Requests\CompanyGateway\UpdateCompanyGatewayRequest; use App\Http\Requests\CompanyGateway\UpdateCompanyGatewayRequest;
@ -629,6 +630,14 @@ class CompanyGatewayController extends BaseController
return $this->listResponse(CompanyGateway::withTrashed()->company()->whereIn('id', $request->ids)); return $this->listResponse(CompanyGateway::withTrashed()->company()->whereIn('id', $request->ids));
} }
public function clone(CloneCompanyGatewayRequest $request, CompanyGateway $company_gateway)
{
$new_company_gateway = $company_gateway->replicate();
$new_company_gateway->label .= ' ('.ctrans('texts.clone').') ' . now()->format('Y-m-d H:i:s');
$new_company_gateway->save();
return $this->itemResponse($new_company_gateway);
}
public function test(TestCompanyGatewayRequest $request, CompanyGateway $company_gateway) public function test(TestCompanyGatewayRequest $request, CompanyGateway $company_gateway)
{ {
$message = $company_gateway->driver()->auth(); $message = $company_gateway->driver()->auth();

View File

@ -215,6 +215,7 @@ Route::group(['middleware' => ['throttle:api', 'token_auth', 'valid_json','local
Route::post('company_gateways/bulk', [CompanyGatewayController::class, 'bulk'])->name('company_gateways.bulk'); Route::post('company_gateways/bulk', [CompanyGatewayController::class, 'bulk'])->name('company_gateways.bulk');
Route::post('company_gateways/{company_gateway}/test', [CompanyGatewayController::class, 'test'])->name('company_gateways.test'); Route::post('company_gateways/{company_gateway}/test', [CompanyGatewayController::class, 'test'])->name('company_gateways.test');
Route::post('company_gateways/{company_gateway}/clone', [CompanyGatewayController::class, 'clone'])->name('company_gateways.clone');
Route::post('company_gateways/{company_gateway}/import_customers', [CompanyGatewayController::class, 'importCustomers'])->name('company_gateways.import_customers'); Route::post('company_gateways/{company_gateway}/import_customers', [CompanyGatewayController::class, 'importCustomers'])->name('company_gateways.import_customers');
Route::put('company_users/{user}', [CompanyUserController::class, 'update']); Route::put('company_users/{user}', [CompanyUserController::class, 'update']);