added import and export recurring transactions

This commit is contained in:
Cihan Şentürk
2023-08-14 17:23:36 +03:00
parent bd15a1cd0e
commit f2ec9ffe0c
8 changed files with 272 additions and 14 deletions

View File

@ -3,7 +3,10 @@
namespace App\Http\Controllers\Banking;
use App\Abstracts\Http\Controller;
use App\Exports\Banking\RecurringTransactions as Export;
use App\Http\Requests\Banking\Transaction as Request;
use App\Http\Requests\Common\Import as ImportRequest;
use App\Imports\Banking\RecurringTransactions as Import;
use App\Jobs\Banking\CreateTransaction;
use App\Jobs\Banking\UpdateTransaction;
use App\Models\Banking\Account;
@ -97,7 +100,7 @@ class RecurringTransactions extends Controller
if ($response['success']) {
$response['redirect'] = route('recurring-transactions.show', $response['data']->id);
$message = trans('messages.success.added', ['type' => trans_choice('general.transactions', 1)]);
$message = trans('messages.success.added', ['type' => trans_choice('general.recurring_transactions', 1)]);
flash($message)->success();
} else {
@ -122,13 +125,37 @@ class RecurringTransactions extends Controller
{
$clone = $recurring_transaction->duplicate();
$message = trans('messages.success.duplicated', ['type' => trans_choice('general.transactions', 1)]);
$message = trans('messages.success.duplicated', ['type' => trans_choice('general.recurring_transactions', 1)]);
flash($message)->success();
return redirect()->route('recurring-transactions.edit', $clone->id);
}
/**
* Import the specified resource.
*
* @param ImportRequest $request
*
* @return Response
*/
public function import(ImportRequest $request)
{
$response = $this->importExcel(new Import, $request, trans_choice('general.recurring_transactions', 2));
if ($response['success']) {
$response['redirect'] = route('recurring-transactions.index');
flash($response['message'])->success();
} else {
$response['redirect'] = route('import.create', ['banking', 'recurring-transactions']);
flash($response['message'])->error()->important();
}
return response()->json($response);
}
/**
* Show the form for editing the specified resource.
*
@ -174,7 +201,7 @@ class RecurringTransactions extends Controller
if ($response['success']) {
$response['redirect'] = route('recurring-transactions.show', $recurring_transaction->id);
$message = trans('messages.success.updated', ['type' => trans_choice('general.transactions', 1)]);
$message = trans('messages.success.updated', ['type' => trans_choice('general.recurring_transactions', 1)]);
flash($message)->success();
} else {
@ -187,6 +214,16 @@ class RecurringTransactions extends Controller
return response()->json($response);
}
/**
* Export the specified resource.
*
* @return Response
*/
public function export()
{
return $this->exportExcel(new Export, trans_choice('general.recurring_transactions', 2));
}
/**
* End recurring template.