From c023ee95d72e242b91fd3b56c432158ea044d745 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Mon, 27 Jul 2020 17:07:19 +0200 Subject: [PATCH 1/7] Init changes for invoices --- .../views/sales/invoices/index.blade.php | 5 +- .../views/sales/invoices/view.blade.php | 228 ++++++++---------- 2 files changed, 100 insertions(+), 133 deletions(-) diff --git a/packages/Webkul/Admin/src/Resources/views/sales/invoices/index.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/invoices/index.blade.php index 42b871faf..ef1dd4412 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/invoices/index.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/invoices/index.blade.php @@ -13,10 +13,7 @@
- - - {{ __('admin::app.export.export') }} - + {{ __('admin::app.export.export') }}
diff --git a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php index 95a0a1a15..d5c7c83b2 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php @@ -15,11 +15,18 @@ {!! view_render_event('sales.invoice.title.before', ['order' => $order]) !!} - {{ __('admin::app.sales.invoices.view-title', ['invoice_id' => $invoice->id]) }} {!! view_render_event('sales.invoice.title.after', ['order' => $order]) !!} + + @if($invoice->state == 'paid') + {{ __('admin::app.sales.orders.invoice-status-paid') }} + @elseif($invoice->state == 'pending') + {{ __('admin::app.sales.orders.invoice-status-pending') }} + @else + {{ __('admin::app.sales.orders.invoice-status-overdue') }} + @endif
@@ -29,6 +36,10 @@ {{ __('admin::app.sales.invoices.print') }} + @if($invoice->state == "pending" || $invoice->state == "overdue") + {{ __('admin::app.sales.orders.invoices-change-title') }} + @endif + {!! view_render_event('sales.invoice.page_action.after', ['order' => $order]) !!}
@@ -37,7 +48,7 @@
-
+
@@ -46,10 +57,7 @@
- - {{ __('admin::app.sales.invoices.order-id') }} - - + {{ __('admin::app.sales.invoices.order-id') }} #{{ $order->increment_id }} @@ -58,69 +66,44 @@ {!! view_render_event('sales.invoice.increment_id.after', ['order' => $order]) !!}
- - {{ __('admin::app.sales.orders.order-date') }} - - - - {{ $order->created_at }} - + {{ __('admin::app.sales.orders.order-date') }} + {{ $order->created_at }}
{!! view_render_event('sales.invoice.created_at.after', ['order' => $order]) !!}
- - {{ __('admin::app.sales.orders.order-status') }} - - - - {{ $order->status_label }} - + {{ __('admin::app.sales.orders.order-status') }} + {{ $order->status_label }}
{!! view_render_event('sales.invoice.status_label.after', ['order' => $order]) !!}
- - {{ __('admin::app.sales.orders.channel') }} - - - - {{ $order->channel_name }} - + {{ __('admin::app.sales.orders.channel') }} + {{ $order->channel_name }}
{!! view_render_event('sales.invoice.channel_name.after', ['order' => $order]) !!}
-
+
{{ __('admin::app.sales.orders.account-info') }}
- - {{ __('admin::app.sales.orders.customer-name') }} - - - - {{ $invoice->address->name }} - + {{ __('admin::app.sales.orders.customer-name') }} + {{ $invoice->address->name }}
{!! view_render_event('sales.invoice.customer_name.after', ['order' => $order]) !!}
- - {{ __('admin::app.sales.orders.email') }} - - - - {{ $invoice->address->email }} - + {{ __('admin::app.sales.orders.email') }} + {{ $invoice->address->email }}
{!! view_render_event('sales.invoice.customer_email.after', ['order' => $order]) !!} @@ -131,14 +114,14 @@ -
+
-
+
{{ __('admin::app.sales.orders.billing-address') }}
-
+
@include ('admin::sales.address', ['address' => $order->billing_address]) {!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!} @@ -146,86 +129,18 @@
@if ($order->shipping_address) -
-
+
+
{{ __('admin::app.sales.orders.shipping-address') }}
-
+
@include ('admin::sales.address', ['address' => $order->shipping_address]) {!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
@endif - -
- - - -
- -
-
- {{ __('admin::app.sales.orders.payment-info') }} -
- -
-
- - {{ __('admin::app.sales.orders.payment-method') }} - - - - {{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }} - -
- -
- - {{ __('admin::app.sales.orders.currency') }} - - - - {{ $order->order_currency_code }} - -
- - {!! view_render_event('sales.invoice.payment-method.after', ['order' => $order]) !!} -
-
- - @if ($order->shipping_address) -
-
- {{ __('admin::app.sales.orders.shipping-info') }} -
- -
-
- - {{ __('admin::app.sales.orders.shipping-method') }} - - - - {{ $order->shipping_title }} - -
- -
- - {{ __('admin::app.sales.orders.shipping-price') }} - - - - {{ core()->formatBasePrice($order->base_shipping_amount) }} - -
- - {!! view_render_event('sales.invoice.shipping-method.after', ['order' => $order]) !!} -
-
- @endif
@@ -254,9 +169,7 @@ @foreach ($invoice->items as $item) {{ $item->getTypeInstance()->getOrderedItem($item)->sku }} - - - {{ $item->name }} + {{ $item->name }} @if (isset($item->additional['attributes']))
@@ -264,19 +177,14 @@ @foreach ($item->additional['attributes'] as $attribute) {{ $attribute['attribute_name'] }} : {{ $attribute['option_label'] }}
@endforeach -
@endif {{ core()->formatBasePrice($item->base_price) }} - {{ $item->qty }} - {{ core()->formatBasePrice($item->base_total) }} - {{ core()->formatBasePrice($item->base_tax_amount) }} - @if ($invoice->base_discount_amount > 0) {{ core()->formatBasePrice($item->base_discount_amount) }} @endif @@ -284,7 +192,6 @@ {{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }} @endforeach -
@@ -321,13 +228,76 @@ - {{ core()->formatBasePrice($invoice->base_grand_total) }} - + + {{ __('admin::app.sales.orders.shipping-method') }} + {{ $order->shipping_title }} + {{ core()->formatBasePrice($order->base_shipping_amount) }} + + {!! view_render_event('sales.invoice.shipping-method.after', ['order' => $order]) !!} + + + {{ __('admin::app.sales.orders.payment-method') }} + - + {{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }} + + +
-
-
-@stop \ No newline at end of file +
+ + +

{{ __('admin::app.sales.orders.invoices-change-title') }}

+
+ +
+
+@stop + +@push('scripts') + + + +@endpush From 80f3befe7ced5bb02046e602f3ef93d491e8b37e Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Mon, 27 Jul 2020 17:07:50 +0200 Subject: [PATCH 2/7] Added translations for invoices --- packages/Webkul/Admin/src/Resources/lang/en/app.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index ac7a8ad25..51f4fa9dd 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -319,6 +319,11 @@ return [ 'invoice-btn-title' => 'Invoice', 'info' => 'Information', 'invoices' => 'Invoices', + 'invoices-change-title' => 'Change payment state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', 'shipments' => 'Shipments', 'order-and-account' => 'Order and Account', 'order-info' => 'Order Information', From 7ed5cd4133188dfc6185d8823963d01aa6029ba0 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Mon, 27 Jul 2020 17:08:21 +0200 Subject: [PATCH 3/7] Updated Invoices datagrid --- .../src/DataGrids/OrderInvoicesDataGrid.php | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index 11b545ef7..f792ae4f5 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -45,6 +45,15 @@ class OrderInvoicesDataGrid extends DataGrid 'filterable' => true, ]); + $this->addColumn([ + 'index' => 'created_at', + 'label' => trans('admin::app.datagrid.invoice-date'), + 'type' => 'datetime', + 'searchable' => true, + 'sortable' => true, + 'filterable' => true, + ]); + $this->addColumn([ 'index' => 'base_grand_total', 'label' => trans('admin::app.datagrid.grand-total'), @@ -55,12 +64,22 @@ class OrderInvoicesDataGrid extends DataGrid ]); $this->addColumn([ - 'index' => 'created_at', - 'label' => trans('admin::app.datagrid.invoice-date'), - 'type' => 'datetime', + 'index' => 'state', + 'label' => trans('admin::app.datagrid.state'), + 'type' => 'string', + 'closure' => true, 'searchable' => true, 'sortable' => true, 'filterable' => true, + 'wrapper' => function ($value) { + if ($value->state == 'paid') { + return ''. trans('admin::app.sales.orders.invoice-status-paid') .''; + } elseif ($value->state == "pending") { + return ''. trans('admin::app.sales.orders.invoice-status-pending') .''; + } elseif ($value->state == "overdue") { + return ''. trans('admin::app.sales.orders.invoice-status-overdue') . ''; + } + } ]); } From fa120062dff63f979c8ea5ed56ec8ddc6250ebe9 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Tue, 28 Jul 2020 16:45:36 +0200 Subject: [PATCH 4/7] Updated translations --- packages/Webkul/Admin/src/Resources/lang/de/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/en/app.php | 5 ++++- packages/Webkul/Admin/src/Resources/lang/fa/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/it/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/nl/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/pl/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php | 8 ++++++++ packages/Webkul/Admin/src/Resources/lang/tr/app.php | 8 ++++++++ 8 files changed, 60 insertions(+), 1 deletion(-) diff --git a/packages/Webkul/Admin/src/Resources/lang/de/app.php b/packages/Webkul/Admin/src/Resources/lang/de/app.php index 881147964..192909b92 100755 --- a/packages/Webkul/Admin/src/Resources/lang/de/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/de/app.php @@ -320,6 +320,14 @@ return array ( 'invoice-btn-title' => 'Rechnung', 'info' => 'Informationen', 'invoices' => 'Rechnungen', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Sendungen', 'order-and-account' => 'Bestellung und Rechnung', 'order-info' => 'Bestellinformationen', diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 51f4fa9dd..a739430f3 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -319,11 +319,14 @@ return [ 'invoice-btn-title' => 'Invoice', 'info' => 'Information', 'invoices' => 'Invoices', - 'invoices-change-title' => 'Change payment state', + 'invoices-change-title' => 'Change invoice state', 'invoices-change-state-desc' => 'Please select the new invoice state:', 'invoice-status-paid' => 'Paid', 'invoice-status-pending' => 'Pending', 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Shipments', 'order-and-account' => 'Order and Account', 'order-info' => 'Order Information', diff --git a/packages/Webkul/Admin/src/Resources/lang/fa/app.php b/packages/Webkul/Admin/src/Resources/lang/fa/app.php index 6f88bc54e..410af2d47 100644 --- a/packages/Webkul/Admin/src/Resources/lang/fa/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/fa/app.php @@ -318,6 +318,14 @@ return [ 'invoice-btn-title' => 'صورت حساب', 'info' => 'اطلاعات', 'invoices' => 'صورت حساب ها', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'حمل و نقل ها', 'order-and-account' => 'سفارش و حساب', 'order-info' => 'اطلاعات سفارش', diff --git a/packages/Webkul/Admin/src/Resources/lang/it/app.php b/packages/Webkul/Admin/src/Resources/lang/it/app.php index 580ab92d2..fca9749c8 100644 --- a/packages/Webkul/Admin/src/Resources/lang/it/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/it/app.php @@ -318,6 +318,14 @@ return [ 'invoice-btn-title' => 'Fattura', 'info' => 'Informazoni', 'invoices' => 'Fatture', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Spedizioni', 'order-and-account' => 'Ordine e Account', 'order-info' => 'informazioni Ordine', diff --git a/packages/Webkul/Admin/src/Resources/lang/nl/app.php b/packages/Webkul/Admin/src/Resources/lang/nl/app.php index 3c67966f2..f7ca87ef7 100644 --- a/packages/Webkul/Admin/src/Resources/lang/nl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/nl/app.php @@ -318,6 +318,14 @@ return [ 'invoice-btn-title' => 'Factuur', 'info' => 'Informatie', 'invoices' => 'Facturen', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Verzendingen', 'order-and-account' => 'Order and Account', 'order-info' => 'Order Information', diff --git a/packages/Webkul/Admin/src/Resources/lang/pl/app.php b/packages/Webkul/Admin/src/Resources/lang/pl/app.php index a714a24b3..960202a88 100644 --- a/packages/Webkul/Admin/src/Resources/lang/pl/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pl/app.php @@ -317,6 +317,14 @@ return [ 'invoice-btn-title' => 'Faktura', 'info' => 'Informacje', 'invoices' => 'Faktury', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Przesyłki', 'order-and-account' => 'Zamówienie i konto', 'order-info' => 'Informacje o zamówieniu', diff --git a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php index fb31ad0dc..4043e01f3 100755 --- a/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/pt_BR/app.php @@ -318,6 +318,14 @@ return [ 'invoice-btn-title' => 'Faturar', 'info' => 'Informação', 'invoices' => 'Faturas', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Envios', 'order-and-account' => 'Pedido e Conta', 'order-info' => 'Informação do Pedido', diff --git a/packages/Webkul/Admin/src/Resources/lang/tr/app.php b/packages/Webkul/Admin/src/Resources/lang/tr/app.php index b9bd5afd2..f1c7b8103 100644 --- a/packages/Webkul/Admin/src/Resources/lang/tr/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/tr/app.php @@ -316,6 +316,14 @@ return [ 'invoice-btn-title' => 'Fatura', 'info' => 'Bilgi', 'invoices' => 'Faturalar', + 'invoices-change-title' => 'Change invoice state', + 'invoices-change-state-desc' => 'Please select the new invoice state:', + 'invoice-status-paid' => 'Paid', + 'invoice-status-pending' => 'Pending', + 'invoice-status-overdue' => 'Overdue', + 'invoice-status-update' => 'Save changes', + 'invoice-status-confirmed' => 'The invoice state has been changed.', + 'invoice-status-error' => 'Could not update the invoice state. ', 'shipments' => 'Kargo', 'order-and-account' => 'Sipariş ve Hesap', 'order-info' => 'Sipariş Bilgisi', From 701d94e62eca57771f87dab0fb5916df9006c1dd Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Tue, 28 Jul 2020 16:48:27 +0200 Subject: [PATCH 5/7] ready for testing --- .../src/DataGrids/OrderInvoicesDataGrid.php | 6 +++- .../Controllers/Sales/InvoiceController.php | 30 ++++++++++++++++++- packages/Webkul/Admin/src/Http/routes.php | 4 +++ .../views/sales/invoices/view.blade.php | 8 ++--- .../views/sales/orders/view.blade.php | 10 ++++++- .../src/Repositories/InvoiceRepository.php | 19 ++++++++---- 6 files changed, 65 insertions(+), 12 deletions(-) diff --git a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php index f792ae4f5..0570987c3 100755 --- a/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/OrderInvoicesDataGrid.php @@ -48,10 +48,14 @@ class OrderInvoicesDataGrid extends DataGrid $this->addColumn([ 'index' => 'created_at', 'label' => trans('admin::app.datagrid.invoice-date'), - 'type' => 'datetime', + 'type' => 'string', 'searchable' => true, 'sortable' => true, 'filterable' => true, + 'closure' => true, + 'wrapper' => function ($value) { + return \Carbon\Carbon::parse($value->created_at)->format('d-m-Y'); + } ]); $this->addColumn([ diff --git a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php index 3931fc268..2d346bf2a 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Sales/InvoiceController.php @@ -2,9 +2,12 @@ namespace Webkul\Admin\Http\Controllers\Sales; +use Illuminate\Http\Request; + use Webkul\Admin\Http\Controllers\Controller; use Webkul\Sales\Repositories\OrderRepository; use Webkul\Sales\Repositories\InvoiceRepository; + use PDF; class InvoiceController extends Controller @@ -97,7 +100,7 @@ class InvoiceController extends Controller $data = request()->all(); $haveProductToInvoice = false; - + foreach ($data['invoice']['items'] as $itemId => $qty) { if ($qty) { $haveProductToInvoice = true; @@ -145,4 +148,29 @@ class InvoiceController extends Controller return $pdf->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf'); } + + /** + * Update the invoice state. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function updateState($id, Request $request) + { + $invoice = $this->invoiceRepository->findOrFail($id); + $task = $this->invoiceRepository->updateInvoiceState($invoice, $request->state); + + if($request->state == 'paid'){ + $order = $this->orderRepository->findOrFail($invoice->order->id); + $this->orderRepository->updateOrderStatus($order); + } + + if ($task){ + session()->flash('success', trans('admin::app.sales.orders.invoice-status-confirmed')); + } else { + session()->flash('success', trans('admin::app.sales.orders.invoice-status-error')); + } + + return back(); + } } diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index f9fa5a75b..dfeeffdb3 100755 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -211,6 +211,10 @@ Route::group(['middleware' => ['web']], function () { 'view' => 'admin::sales.invoices.print', ])->name('admin.sales.invoices.print'); + Route::post('/invoices/update/state/{order_id}', 'Webkul\Admin\Http\Controllers\Sales\InvoiceController@updateState')->defaults('_config', [ + 'redirect' => 'admin.sales.orders.view', + ])->name('admin.sales.invoices.update.state'); + // Sales Shipments Routes Route::get('/shipments', 'Webkul\Admin\Http\Controllers\Sales\ShipmentController@index')->defaults('_config', [ diff --git a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php index d5c7c83b2..db00425a8 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php @@ -1,10 +1,10 @@ -@extends('admin::layouts.master') +@extends('admin::layouts.content') @section('page_title') {{ __('admin::app.sales.invoices.view-title', ['invoice_id' => $invoice->id]) }} @stop -@section('content-wrapper') +@section('content') order; ?> @@ -260,7 +260,7 @@ @push('scripts') diff --git a/packages/Webkul/Admin/src/Resources/views/sales/orders/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/orders/view.blade.php index ce7346468..33c70a7ef 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/orders/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/orders/view.blade.php @@ -470,7 +470,15 @@ {{ $invoice->created_at }} #{{ $invoice->order->increment_id }} {{ $invoice->address->name }} - {{ $invoice->status_label }} + + @if($invoice->state == "paid") + {{ __('admin::app.sales.orders.invoice-status-paid') }} + @elseif($invoice->state == "overdue") + {{ __('admin::app.sales.orders.invoice-status-overdue') }} + @else + {{ __('admin::app.sales.orders.invoice-status-pending') }} + @endif + {{ core()->formatBasePrice($invoice->base_grand_total) }} diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php index 8f4f605e6..70a3882ca 100755 --- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php +++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php @@ -97,7 +97,7 @@ class InvoiceRepository extends Repository $invoice = $this->model->create([ 'order_id' => $order->id, 'total_qty' => $totalQty, - 'state' => 'paid', + 'state' => 'pending', 'base_currency_code' => $order->base_currency_code, 'channel_currency_code' => $order->channel_currency_code, 'order_currency_code' => $order->order_currency_code, @@ -106,7 +106,7 @@ class InvoiceRepository extends Repository foreach ($data['invoice']['items'] as $itemId => $qty) { if (! $qty) { - continue; + continue; } $orderItem = $this->orderItemRepository->find($itemId); @@ -192,11 +192,8 @@ class InvoiceRepository extends Repository } $this->collectTotals($invoice); - $this->orderRepository->collectTotals($order); - $this->orderRepository->updateOrderStatus($order); - Event::dispatch('sales.invoice.save.after', $invoice); } catch (\Exception $e) { DB::rollBack(); @@ -256,4 +253,16 @@ class InvoiceRepository extends Repository return $invoice; } + + /** + * @param \Webkul\Sales\Contracts\Invoice $invoice + * @return void + */ + public function updateInvoiceState($invoice, $status) + { + $invoice->state = $status; + $invoice->save(); + + return true; + } } \ No newline at end of file From 3863ae7b720412eba1713e8c112169ab69aca6c2 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Wed, 29 Jul 2020 14:02:06 +0200 Subject: [PATCH 6/7] fixed requested changes --- .../Admin/src/Resources/views/sales/invoices/view.blade.php | 6 +++--- packages/Webkul/Sales/src/Models/Order.php | 6 ++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php index db00425a8..a9df1a243 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php @@ -37,7 +37,7 @@ @if($invoice->state == "pending" || $invoice->state == "overdue") - {{ __('admin::app.sales.orders.invoices-change-title') }} + {{ __('admin::app.sales.orders.invoices-change-title') }} @endif {!! view_render_event('sales.invoice.page_action.after', ['order' => $order]) !!} @@ -272,12 +272,12 @@
- + state == "pending") checked @endif>
- + state == "overdue") checked @endif>
diff --git a/packages/Webkul/Sales/src/Models/Order.php b/packages/Webkul/Sales/src/Models/Order.php index 32df169f6..8f90a3b55 100755 --- a/packages/Webkul/Sales/src/Models/Order.php +++ b/packages/Webkul/Sales/src/Models/Order.php @@ -277,6 +277,12 @@ class Order extends Model implements OrderContract return false; } + foreach ($this->invoices as $item) { + if ($item->state == "pending" || $item->state == "overdue") { + return false; + } + } + foreach ($this->items as $item) { if ($item->qty_to_refund > 0) { return true; From 52163fb78f5f11f6539105dbd42b1217ac8c32d8 Mon Sep 17 00:00:00 2001 From: Glenn Hermans Date: Wed, 29 Jul 2020 14:31:59 +0200 Subject: [PATCH 7/7] Moved payment & shipping method --- .../views/sales/invoices/view.blade.php | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php index a9df1a243..9ef5a8250 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/invoices/view.blade.php @@ -85,6 +85,17 @@
{!! view_render_event('sales.invoice.channel_name.after', ['order' => $order]) !!} + +
+ {{ __('admin::app.sales.orders.payment-method') }} + {{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }} +
+ +
+ {{ __('admin::app.sales.orders.shipping-method') }} + {{ $order->shipping_title }} +
+ {!! view_render_event('sales.invoice.shipping-method.after', ['order' => $order]) !!}
@@ -228,20 +239,6 @@ - {{ core()->formatBasePrice($invoice->base_grand_total) }} - - - {{ __('admin::app.sales.orders.shipping-method') }} - {{ $order->shipping_title }} - {{ core()->formatBasePrice($order->base_shipping_amount) }} - - {!! view_render_event('sales.invoice.shipping-method.after', ['order' => $order]) !!} - - - {{ __('admin::app.sales.orders.payment-method') }} - - - {{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }} - -