diff --git a/app/Http/Controllers/ExpenseController.php b/app/Http/Controllers/ExpenseController.php index 39ef8de542fb..7e22973d81e3 100644 --- a/app/Http/Controllers/ExpenseController.php +++ b/app/Http/Controllers/ExpenseController.php @@ -169,6 +169,17 @@ class ExpenseController extends BaseController $data = $request->input(); $data['documents'] = $request->file('documents'); + // check for possible duplicate expense + $duplcate = Expense::scope() + ->whereAmount($request->amount) + ->whereExpenseDate(Utils::toSqlDate($request->expense_date)) + ->orderBy('created_at') + ->first(); + if ($duplcate) { + Session::flash('warning', trans('texts.duplicate_expense_warning', + ['link' => link_to($duplcate->present()->url, trans('texts.expense_link'), ['target' => '_blank'])])); + } + $expense = $this->expenseService->save($data); Session::flash('message', trans('texts.created_expense')); diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index d971ac8ca07b..d0f72c5140ee 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -2249,7 +2249,9 @@ $LANG = array( 'emailed_payment' => 'Successfully emailed payment', 'email_payment' => 'Email Payment', 'sent' => 'Sent', - 'inoviceplane_import' => 'Use :link to migrate your data from InvoicePlane.', + 'invoiceplane_import' => 'Use :link to migrate your data from InvoicePlane.', + 'duplicate_expense_warning' => 'Warning: This :link may be a duplicate', + 'expense_link' => 'expense', ); diff --git a/resources/views/accounts/import_export.blade.php b/resources/views/accounts/import_export.blade.php index bdeacb076f48..2dc9e233e0e4 100644 --- a/resources/views/accounts/import_export.blade.php +++ b/resources/views/accounts/import_export.blade.php @@ -46,7 +46,7 @@ ]) !!}