From 30298635fda251bc3afc34178edf3cd8f826d4ae Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Thu, 16 Aug 2018 10:32:07 +0300 Subject: [PATCH] refs #443 invoice create and edit add stack --- app/Http/Controllers/Incomes/Invoices.php | 28 +- .../views/incomes/invoices/create.blade.php | 303 ++++-------------- .../views/incomes/invoices/edit.blade.php | 157 ++++----- .../views/incomes/invoices/item.blade.php | 49 +++ routes/web.php | 1 + 5 files changed, 201 insertions(+), 337 deletions(-) create mode 100644 resources/views/incomes/invoices/item.blade.php diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index 155666422..02a983f3b 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -8,6 +8,7 @@ use App\Events\InvoiceUpdated; use App\Http\Controllers\Controller; use App\Http\Requests\Income\Invoice as Request; use App\Http\Requests\Income\InvoicePayment as PaymentRequest; +use Illuminate\Http\Request as ItemRequest; use App\Models\Banking\Account; use App\Models\Income\Customer; use App\Models\Income\Invoice; @@ -524,7 +525,7 @@ class Invoices extends Controller $tables = ['items', 'histories', 'payments', 'totals']; foreach ($tables as $table) { - $excel->sheet('invoice_' . $table, function($sheet) use ($invoices, $table) { + $excel->sheet('invoice_' . $table, function ($sheet) use ($invoices, $table) { $hidden_fields = ['id', 'company_id', 'created_at', 'updated_at', 'deleted_at', 'title']; $i = 1; @@ -856,6 +857,31 @@ class Invoices extends Controller return redirect()->back(); } + public function addItem(ItemRequest $request) + { + if ($request['item_row']) { + $item_row = $request['item_row']; + + $taxes = Tax::enabled()->orderBy('rate')->get()->pluck('title', 'id'); + + $html = view('incomes.invoices.item', compact('item_row', 'taxes'))->render(); + + return response()->json([ + 'success' => true, + 'error' => false, + 'message' => 'null', + 'html' => $html, + ]); + } + + return response()->json([ + 'success' => false, + 'error' => true, + 'message' => trans('issue'), + 'html' => 'null', + ]); + } + protected function prepareInvoice(Invoice $invoice) { $paid = 0; diff --git a/resources/views/incomes/invoices/create.blade.php b/resources/views/incomes/invoices/create.blade.php index edad9d5cf..1e7ae0c14 100644 --- a/resources/views/incomes/invoices/create.blade.php +++ b/resources/views/incomes/invoices/create.blade.php @@ -8,17 +8,19 @@ {!! Form::open(['url' => 'incomes/invoices', 'files' => true, 'role' => 'form']) !!}
+ @stack('customer_id_input_start')
{!! Form::label('customer_id', trans_choice('general.customers', 1), ['class' => 'control-label']) !!}
{!! Form::select('customer_id', $customers, null, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => trans_choice('general.customers', 1)])])) !!}
- +
{!! $errors->first('customer_id', '

:message

') !!}
+ @stack('customer_id_input_end') {{ Form::selectGroup('currency_code', trans_choice('general.currencies', 1), 'exchange', $currencies, setting('general.default_currency')) }} @@ -36,46 +38,43 @@ + @stack('actions_th_start') + @stack('actions_th_end') + @stack('name_th_start') + @stack('name_th_end') + @stack('quantity_th_start') + @stack('quantity_th_end') + @stack('price_th_start') + @stack('price_th_end') + @stack('taxes_th_start') + @stack('taxes_th_end') + @stack('total_th_start') + @stack('total_th_end') - - - - - - - - + @include('incomes.invoices.item') + @stack('add_item_td_start') - + + @stack('add_item_td_end') + @stack('sub_total_td_start') + @stack('sub_total_td_end') + @stack('add_discount_td_start') + @stack('add_discount_td_end') + @stack('tax_total_td_start') + @stack('tax_total_td_end') + @stack('grand_total_td_start') + @stack('grand_total_td_end')
{{ trans('general.actions') }}{{ trans('general.name') }}{{ trans('invoices.quantity') }}{{ trans('invoices.price') }}{{ trans_choice('general.taxes', 1) }}{{ trans('invoices.total') }}
- - - - - - - - - - {!! Form::select('item[' . $item_row . '][tax_id]', $taxes, setting('general.default_tax'), ['id'=> 'item-tax-'. $item_row, 'class' => 'form-control tax-select2', 'placeholder' => trans('general.form.select.field', ['field' => trans_choice('general.taxes', 1)])]) !!} - - 0 -
{{ trans('invoices.sub_total') }} 0
{{ trans('invoices.add_discount') }} @@ -85,14 +84,19 @@ {!! Form::hidden('discount', null, ['id' => 'discount', 'class' => 'form-control text-right']) !!}
{{ trans_choice('general.taxes', 1) }} 0
{{ trans('invoices.total') }} 0
@@ -100,17 +104,19 @@ {{ Form::textareaGroup('notes', trans_choice('general.notes', 2)) }} + @stack('category_id_input_start')
{!! Form::label('category_id', trans_choice('general.categories', 1), ['class' => 'control-label']) !!}
{!! Form::select('category_id', $categories, null, array_merge(['class' => 'form-control', 'placeholder' => trans('general.form.select.field', ['field' => trans_choice('general.categories', 1)])])) !!}
- +
{!! $errors->first('category_id', '

:message

') !!}
+ @stack('category_id_input_end') {{ Form::recurring('create') }} @@ -154,47 +160,31 @@