From 55ac8447fc6998729b20ed568ba35a871457c66f Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Mon, 25 Jun 2018 17:53:43 +0300 Subject: [PATCH] import validation fixed create and edit action on invoice, bill, revenue, payment. refs #392 --- app/Http/Controllers/Banking/Accounts.php | 14 ++++++++ app/Http/Controllers/Expenses/Bills.php | 34 ------------------- app/Http/Controllers/Expenses/Payments.php | 12 ------- app/Http/Controllers/Expenses/Vendors.php | 5 +++ app/Http/Controllers/Incomes/Customers.php | 5 +++ app/Http/Controllers/Incomes/Invoices.php | 34 ------------------- app/Http/Controllers/Incomes/Revenues.php | 12 ------- .../views/expenses/bills/create.blade.php | 17 ++++++++++ resources/views/expenses/bills/edit.blade.php | 16 +++++++++ .../views/expenses/payments/create.blade.php | 27 +++++++++------ .../views/expenses/payments/edit.blade.php | 27 +++++++++------ .../views/incomes/invoices/create.blade.php | 17 ++++++++++ .../views/incomes/invoices/edit.blade.php | 15 ++++++++ .../views/incomes/revenues/create.blade.php | 27 +++++++++------ .../views/incomes/revenues/edit.blade.php | 27 +++++++++------ routes/web.php | 1 + 16 files changed, 154 insertions(+), 136 deletions(-) diff --git a/app/Http/Controllers/Banking/Accounts.php b/app/Http/Controllers/Banking/Accounts.php index b6731e4d4..7ccdf1544 100644 --- a/app/Http/Controllers/Banking/Accounts.php +++ b/app/Http/Controllers/Banking/Accounts.php @@ -208,4 +208,18 @@ class Accounts extends Controller return redirect('banking/accounts'); } + + public function currency() + { + $account_id = request('account_id'); + + $account = Account::find($account_id); + + // Get currency object + $currency = Currency::where('code', $account->currency_code)->first(); + + $account->currency_rate = $currency->rate; + + return response()->json($account); + } } diff --git a/app/Http/Controllers/Expenses/Bills.php b/app/Http/Controllers/Expenses/Bills.php index 40e27405d..c48c3d32c 100644 --- a/app/Http/Controllers/Expenses/Bills.php +++ b/app/Http/Controllers/Expenses/Bills.php @@ -117,25 +117,6 @@ class Bills extends Controller */ public function store(Request $request) { - // Get vendor object - $vendor = Vendor::findOrFail($request['vendor_id']); - - $request['vendor_name'] = $vendor->name; - $request['vendor_email'] = $vendor->email; - $request['vendor_tax_number'] = $vendor->tax_number; - $request['vendor_phone'] = $vendor->phone; - $request['vendor_address'] = $vendor->address; - - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - - $request['bill_status_code'] = 'draft'; - - $request['amount'] = 0; - $bill = Bill::create($request->input()); // Upload attachment @@ -346,21 +327,6 @@ class Bills extends Controller */ public function update(Bill $bill, Request $request) { - // Get vendor object - $vendor = Vendor::findOrFail($request['vendor_id']); - - $request['vendor_name'] = $vendor->name; - $request['vendor_email'] = $vendor->email; - $request['vendor_tax_number'] = $vendor->tax_number; - $request['vendor_phone'] = $vendor->phone; - $request['vendor_address'] = $vendor->address; - - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $taxes = []; $tax_total = 0; $sub_total = 0; diff --git a/app/Http/Controllers/Expenses/Payments.php b/app/Http/Controllers/Expenses/Payments.php index 028de238c..3a086389f 100644 --- a/app/Http/Controllers/Expenses/Payments.php +++ b/app/Http/Controllers/Expenses/Payments.php @@ -82,12 +82,6 @@ class Payments extends Controller */ public function store(Request $request) { - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $payment = Payment::create($request->input()); // Upload attachment @@ -179,12 +173,6 @@ class Payments extends Controller */ public function update(Payment $payment, Request $request) { - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $payment->update($request->input()); // Upload attachment diff --git a/app/Http/Controllers/Expenses/Vendors.php b/app/Http/Controllers/Expenses/Vendors.php index 142b68720..bd7b489fd 100644 --- a/app/Http/Controllers/Expenses/Vendors.php +++ b/app/Http/Controllers/Expenses/Vendors.php @@ -308,6 +308,11 @@ class Vendors extends Controller $vendor = Vendor::find($vendor_id); + // Get currency object + $currency = Currency::where('code', $vendor->currency_code)->first(); + + $vendor->currency_rate = $currency->rate; + return response()->json($vendor); } diff --git a/app/Http/Controllers/Incomes/Customers.php b/app/Http/Controllers/Incomes/Customers.php index 699ea5603..e10f0643b 100644 --- a/app/Http/Controllers/Incomes/Customers.php +++ b/app/Http/Controllers/Incomes/Customers.php @@ -344,6 +344,11 @@ class Customers extends Controller $customer = Customer::find($customer_id); + // Get currency object + $currency = Currency::where('code', $customer->currency_code)->first(); + + $customer->currency_rate = $currency->rate; + return response()->json($customer); } diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index f0b7b3346..b6d5d1a3c 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -122,25 +122,6 @@ class Invoices extends Controller */ public function store(Request $request) { - // Get customer object - $customer = Customer::findOrFail($request['customer_id']); - - $request['customer_name'] = $customer->name; - $request['customer_email'] = $customer->email; - $request['customer_tax_number'] = $customer->tax_number; - $request['customer_phone'] = $customer->phone; - $request['customer_address'] = $customer->address; - - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - - $request['invoice_status_code'] = 'draft'; - - $request['amount'] = 0; - $invoice = Invoice::create($request->input()); // Upload attachment @@ -367,21 +348,6 @@ class Invoices extends Controller */ public function update(Invoice $invoice, Request $request) { - // Get customer object - $customer = Customer::findOrFail($request['customer_id']); - - $request['customer_name'] = $customer->name; - $request['customer_email'] = $customer->email; - $request['customer_tax_number'] = $customer->tax_number; - $request['customer_phone'] = $customer->phone; - $request['customer_address'] = $customer->address; - - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $taxes = []; $tax_total = 0; $sub_total = 0; diff --git a/app/Http/Controllers/Incomes/Revenues.php b/app/Http/Controllers/Incomes/Revenues.php index 7526ec4f4..5e9f0e36d 100644 --- a/app/Http/Controllers/Incomes/Revenues.php +++ b/app/Http/Controllers/Incomes/Revenues.php @@ -84,12 +84,6 @@ class Revenues extends Controller */ public function store(Request $request) { - // Get currency object - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $revenue = Revenue::create($request->input()); // Upload attachment @@ -181,12 +175,6 @@ class Revenues extends Controller */ public function update(Revenue $revenue, Request $request) { - // Get currency - $currency = Currency::where('code', $request['currency_code'])->first(); - - $request['currency_code'] = $currency->code; - $request['currency_rate'] = $currency->rate; - $revenue->update($request->input()); // Upload attachment diff --git a/resources/views/expenses/bills/create.blade.php b/resources/views/expenses/bills/create.blade.php index 66dcf8121..6e713b3d0 100644 --- a/resources/views/expenses/bills/create.blade.php +++ b/resources/views/expenses/bills/create.blade.php @@ -115,6 +115,15 @@ {{ Form::recurring('create') }} {{ Form::fileGroup('attachment', trans('general.attachment'),[]) }} + + {{ Form::hidden('vendor_name', '', ['id' => 'vendor_name']) }} + {{ Form::hidden('vendor_email', '', ['id' => 'vendor_email']) }} + {{ Form::hidden('vendor_tax_number', '', ['id' => 'vendor_tax_number']) }} + {{ Form::hidden('vendor_phone', '', ['id' => 'vendor_phone']) }} + {{ Form::hidden('vendor_address', '', ['id' => 'vendor_address']) }} + {{ Form::hidden('currency_rate', '', ['id' => 'currency_rate']) }} + {{ Form::hidden('bill_status_code', 'draft', ['id' => 'bill_status_code']) }} + {{ Form::hidden('amount', '0', ['id' => 'amount']) }} @@ -327,7 +336,14 @@ dataType: 'JSON', data: 'vendor_id=' + $(this).val(), success: function(data) { + $('#vendor_name').val(data.name); + $('#vendor_email').val(data.email); + $('#vendor_tax_number').val(data.tax_number); + $('#vendor_phone').val(data.phone); + $('#vendor_address').val(data.address); + $('#currency_code').val(data.currency_code); + $('#currency_rate').val(data.currency_rate); // This event Select2 Stylesheet $('#currency_code').trigger('change'); @@ -452,6 +468,7 @@ $('#modal-create-vendor').modal('hide'); $("#vendor_id").append(''); + $('#vendor_id').trigger('change'); $("#vendor_id").select2('refresh'); }, error: function(error, textStatus, errorThrown) { diff --git a/resources/views/expenses/bills/edit.blade.php b/resources/views/expenses/bills/edit.blade.php index 5d645a3f2..861807e95 100644 --- a/resources/views/expenses/bills/edit.blade.php +++ b/resources/views/expenses/bills/edit.blade.php @@ -121,6 +121,15 @@ {{ Form::recurring('edit', $bill) }} {{ Form::fileGroup('attachment', trans('general.attachment'),[]) }} + + {{ Form::hidden('vendor_name', null, ['id' => 'vendor_name']) }} + {{ Form::hidden('vendor_email', null, ['id' => 'vendor_email']) }} + {{ Form::hidden('vendor_tax_number', null, ['id' => 'vendor_tax_number']) }} + {{ Form::hidden('vendor_phone', null, ['id' => 'vendor_phone']) }} + {{ Form::hidden('vendor_address', null, ['id' => 'vendor_address']) }} + {{ Form::hidden('currency_rate', null, ['id' => 'currency_rate']) }} + {{ Form::hidden('bill_status_code', null, ['id' => 'bill_status_code']) }} + {{ Form::hidden('amount', null, ['id' => 'amount']) }} @@ -360,7 +369,14 @@ dataType: 'JSON', data: 'vendor_id=' + $(this).val(), success: function(data) { + $('#vendor_name').val(data.name); + $('#vendor_email').val(data.email); + $('#vendor_tax_number').val(data.tax_number); + $('#vendor_phone').val(data.phone); + $('#vendor_address').val(data.address); + $('#currency_code').val(data.currency_code); + $('#currency_rate').val(data.currency_rate); // This event Select2 Stylesheet $('#currency_code').trigger('change'); diff --git a/resources/views/expenses/payments/create.blade.php b/resources/views/expenses/payments/create.blade.php index 51d0e640b..795624c2f 100644 --- a/resources/views/expenses/payments/create.blade.php +++ b/resources/views/expenses/payments/create.blade.php @@ -20,6 +20,7 @@
{!! Form::text('currency', $account_currency_code, ['id' => 'currency', 'class' => 'form-control', 'required' => 'required', 'disabled' => 'disabled']) !!} {!! Form::hidden('currency_code', $account_currency_code, ['id' => 'currency_code', 'class' => 'form-control', 'required' => 'required']) !!} + {!! Form::hidden('currency_rate', '', ['id' => 'currency_rate']) !!}
@@ -84,6 +85,8 @@ @push('scripts') diff --git a/resources/views/incomes/invoices/create.blade.php b/resources/views/incomes/invoices/create.blade.php index e920c7a98..b4cd3eac8 100644 --- a/resources/views/incomes/invoices/create.blade.php +++ b/resources/views/incomes/invoices/create.blade.php @@ -115,6 +115,15 @@ {{ Form::recurring('create') }} {{ Form::fileGroup('attachment', trans('general.attachment')) }} + + {{ Form::hidden('customer_name', '', ['id' => 'customer_name']) }} + {{ Form::hidden('customer_email', '', ['id' => 'customer_email']) }} + {{ Form::hidden('customer_tax_number', '', ['id' => 'customer_tax_number']) }} + {{ Form::hidden('customer_phone', '', ['id' => 'customer_phone']) }} + {{ Form::hidden('customer_address', '', ['id' => 'customer_address']) }} + {{ Form::hidden('currency_rate', '', ['id' => 'currency_rate']) }} + {{ Form::hidden('invoice_status_code', 'draft', ['id' => 'invoice_status_code']) }} + {{ Form::hidden('amount', '0', ['id' => 'amount']) }} @@ -328,7 +337,13 @@ dataType: 'JSON', data: 'customer_id=' + $(this).val(), success: function(data) { + $('#customer_name').val(data.name); + $('#customer_email').val(data.email); + $('#customer_tax_number').val(data.tax_number); + $('#customer_phone').val(data.phone); + $('#customer_address').val(data.address); $('#currency_code').val(data.currency_code); + $('#currency_rate').val(data.currency_rate); // This event Select2 Stylesheet $('#currency_code').trigger('change'); @@ -451,6 +466,8 @@ $('#modal-create-customer').modal('hide'); $("#customer_id").append(''); + $('#customer_id').trigger('change'); + $("#customer_id").select2('refresh'); }, error: function(error, textStatus, errorThrown) { diff --git a/resources/views/incomes/invoices/edit.blade.php b/resources/views/incomes/invoices/edit.blade.php index 5d984f9bb..9caa34a77 100644 --- a/resources/views/incomes/invoices/edit.blade.php +++ b/resources/views/incomes/invoices/edit.blade.php @@ -120,6 +120,15 @@ {{ Form::recurring('edit', $invoice) }} {{ Form::fileGroup('attachment', trans('general.attachment')) }} + + {{ Form::hidden('customer_name', null, ['id' => 'customer_name']) }} + {{ Form::hidden('customer_email', null, ['id' => 'customer_email']) }} + {{ Form::hidden('customer_tax_number', null, ['id' => 'customer_tax_number']) }} + {{ Form::hidden('customer_phone', null, ['id' => 'customer_phone']) }} + {{ Form::hidden('customer_address', null, ['id' => 'customer_address']) }} + {{ Form::hidden('currency_rate', null, ['id' => 'currency_rate']) }} + {{ Form::hidden('invoice_status_code', null, ['id' => 'invoice_status_code']) }} + {{ Form::hidden('amount', null, ['id' => 'amount']) }} @@ -359,7 +368,13 @@ dataType: 'JSON', data: 'customer_id=' + $(this).val(), success: function(data) { + $('#customer_name').val(data.name); + $('#customer_email').val(data.email); + $('#customer_tax_number').val(data.tax_number); + $('#customer_phone').val(data.phone); + $('#customer_address').val(data.address); $('#currency_code').val(data.currency_code); + $('#currency_rate').val(data.currency_rate); // This event Select2 Stylesheet $('#currency_code').trigger('change'); diff --git a/resources/views/incomes/revenues/create.blade.php b/resources/views/incomes/revenues/create.blade.php index e1a6b3811..53dcc6b4c 100644 --- a/resources/views/incomes/revenues/create.blade.php +++ b/resources/views/incomes/revenues/create.blade.php @@ -20,6 +20,7 @@
{!! Form::text('currency', $account_currency_code, ['id' => 'currency', 'class' => 'form-control', 'required' => 'required', 'disabled' => 'disabled']) !!} {!! Form::hidden('currency_code', $account_currency_code, ['id' => 'currency_code', 'class' => 'form-control', 'required' => 'required']) !!} + {!! Form::hidden('currency_rate', '', ['id' => 'currency_rate']) !!}
@@ -84,6 +85,8 @@ @push('scripts') diff --git a/routes/web.php b/routes/web.php index d18e94ff4..3686bd0cb 100644 --- a/routes/web.php +++ b/routes/web.php @@ -98,6 +98,7 @@ Route::group(['middleware' => 'language'], function () { }); Route::group(['prefix' => 'banking'], function () { + Route::get('accounts/currency', 'Banking\Accounts@currency')->name('accounts.currency'); Route::get('accounts/{account}/enable', 'Banking\Accounts@enable')->name('accounts.enable'); Route::get('accounts/{account}/disable', 'Banking\Accounts@disable')->name('accounts.disable'); Route::resource('accounts', 'Banking\Accounts');