From 3ef416b22e13ed952c814fedb27ff792a7a514d0 Mon Sep 17 00:00:00 2001 From: jitendra Date: Sat, 29 Jun 2019 17:51:49 +0530 Subject: [PATCH] Added downloadable order item info --- .../Http/Controllers/DashboardController.php | 52 +++++++++---------- .../views/sales/invoices/view.blade.php | 2 +- .../views/sales/orders/view.blade.php | 2 +- .../views/sales/shipments/create.blade.php | 2 +- .../views/sales/shipments/view.blade.php | 2 +- .../Webkul/Sales/src/Models/InvoiceItem.php | 21 ++++---- .../Webkul/Sales/src/Models/OrderItem.php | 5 +- .../Webkul/Sales/src/Models/ShipmentItem.php | 21 ++++---- .../emails/sales/new-admin-order.blade.php | 24 +++++---- .../new-inventorysource-shipment.blade.php | 27 ++++++---- .../views/emails/sales/new-invoice.blade.php | 24 +++++---- .../views/emails/sales/new-order.blade.php | 24 +++++---- .../views/emails/sales/new-shipment.blade.php | 29 ++++++----- 13 files changed, 127 insertions(+), 108 deletions(-) diff --git a/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php b/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php index 3be5ad0c8..383c67d57 100755 --- a/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/DashboardController.php @@ -7,10 +7,10 @@ use Illuminate\Http\Response; use Illuminate\Routing\Controller; use Illuminate\Support\Facades\DB; use Carbon\Carbon; -use Webkul\Sales\Repositories\OrderRepository as Order; -use Webkul\Sales\Repositories\OrderItemRepository as OrderItem; -use Webkul\Customer\Repositories\CustomerRepository as Customer; -use Webkul\Product\Repositories\ProductInventoryRepository as ProductInventory; +use Webkul\Sales\Repositories\OrderRepository; +use Webkul\Sales\Repositories\OrderItemRepository; +use Webkul\Customer\Repositories\CustomerRepository; +use Webkul\Product\Repositories\ProductInventoryRepository; /** * Dashboard controller @@ -32,28 +32,28 @@ class DashboardController extends Controller * * @var array */ - protected $order; + protected $orderRepository; /** * OrderItemRepository object * * @var array */ - protected $orderItem; + protected $orderItemRepository; /** * CustomerRepository object * * @var array */ - protected $customer; + protected $customerRepository; /** * ProductInventoryRepository object * * @var array */ - protected $productInventory; + protected $productInventoryRepository; /** * string object @@ -86,30 +86,30 @@ class DashboardController extends Controller /** * Create a new controller instance. * - * @param \Webkul\Sales\Repositories\OrderRepository $order - * @param \Webkul\Sales\Repositories\OrderItemRepository $orderItem - * @param \Webkul\Customer\Repositories\CustomerRepository $customer - * @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventory + * @param \Webkul\Sales\Repositories\OrderRepository $orderRepository + * @param \Webkul\Sales\Repositories\OrderItemRepository $orderItemRepository + * @param \Webkul\Customer\Repositories\CustomerRepository $customerRepository + * @param \Webkul\Product\Repositories\ProductInventoryRepository $productInventoryRepository * @return void */ public function __construct( - Order $order, - OrderItem $orderItem, - Customer $customer, - ProductInventory $productInventory + OrderRepository $orderRepository, + OrderItemRepository $orderItemRepository, + CustomerRepository $customerRepository, + ProductInventoryRepository $productInventoryRepository ) { $this->_config = request('_config'); $this->middleware('admin'); - $this->order = $order; + $this->orderRepository = $orderRepository; - $this->orderItem = $orderItem; + $this->orderItemRepository = $orderItemRepository; - $this->customer = $customer; + $this->customerRepository = $customerRepository; - $this->productInventory = $productInventory; + $this->productInventoryRepository = $productInventoryRepository; } public function getPercentageChange($previous, $current) @@ -175,7 +175,7 @@ class DashboardController extends Controller */ public function getTopSellingCategories() { - return $this->orderItem->getModel() + return $this->orderItemRepository->getModel() ->leftJoin('products', 'order_items.product_id', 'products.id') ->leftJoin('product_categories', 'products.id', 'product_categories.product_id') ->leftJoin('categories', 'product_categories.category_id', 'categories.id') @@ -200,7 +200,7 @@ class DashboardController extends Controller */ public function getStockThreshold() { - return $this->productInventory->getModel() + return $this->productInventoryRepository->getModel() ->leftJoin('products', 'product_inventories.product_id', 'products.id') ->select(DB::raw('SUM(qty) as total_qty')) ->addSelect('product_inventories.product_id') @@ -217,7 +217,7 @@ class DashboardController extends Controller */ public function getTopSellingProducts() { - return $this->orderItem->getModel() + return $this->orderItemRepository->getModel() ->select(DB::raw('SUM(qty_ordered) as total_qty_ordered')) ->addSelect('id', 'product_id', 'product_type', 'name') ->where('order_items.created_at', '>=', $this->startDate) @@ -236,7 +236,7 @@ class DashboardController extends Controller */ public function getCustomerWithMostSales() { - return $this->order->getModel() + return $this->orderRepository->getModel() ->select(DB::raw('SUM(base_grand_total) as total_base_grand_total')) ->addSelect(DB::raw('COUNT(id) as total_orders')) ->addSelect('id', 'customer_id', 'customer_email', 'customer_first_name', 'customer_last_name') @@ -285,14 +285,14 @@ class DashboardController extends Controller private function getOrdersBetweenDate($start, $end) { - return $this->order->scopeQuery(function ($query) use ($start, $end) { + return $this->orderRepository->scopeQuery(function ($query) use ($start, $end) { return $query->where('orders.created_at', '>=', $start)->where('orders.created_at', '<=', $end); }); } private function getCustomersBetweenDates($start, $end) { - return $this->customer->scopeQuery(function ($query) use ($start, $end) { + return $this->customerRepository->scopeQuery(function ($query) use ($start, $end) { return $query->where('customers.created_at', '>=', $start)->where('customers.created_at', '<=', $end); }); } 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 d9e46792b..28f404380 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 @@ -233,7 +233,7 @@ {{ $item->name }} - + @if ($html = $item->getOptionDetailHtml())

{{ $html }}

@elseif ($item->type == 'downloadable') 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 73656ef05..3a4474217 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 @@ -256,7 +256,7 @@ {{ $item->name }} - @if ($item->type == 'configurable' && $html = $item->getOptionDetailHtml()) + @if ($html = $item->getOptionDetailHtml())

{{ $html }}

@elseif ($item->type == 'downloadable')

Downloads : {{ $item->getDownloadableDetailHtml() }}

diff --git a/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php index b0fd0a8a7..3810c99d1 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/shipments/create.blade.php @@ -276,7 +276,7 @@ {{ $item->type == 'configurable' ? $item->child->sku : $item->sku }} {{ $item->name }} - + @if ($html = $item->getOptionDetailHtml())

{{ $html }}

@elseif ($item->type == 'downloadable') diff --git a/packages/Webkul/Admin/src/Resources/views/sales/shipments/view.blade.php b/packages/Webkul/Admin/src/Resources/views/sales/shipments/view.blade.php index 5781fcc9e..92e974077 100755 --- a/packages/Webkul/Admin/src/Resources/views/sales/shipments/view.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/sales/shipments/view.blade.php @@ -251,7 +251,7 @@ {{ $item->sku }} {{ $item->name }} - + @if ($html = $item->getOptionDetailHtml())

{{ $html }}

@elseif ($item->type == 'downloadable') diff --git a/packages/Webkul/Sales/src/Models/InvoiceItem.php b/packages/Webkul/Sales/src/Models/InvoiceItem.php index 8cc2b0ef4..aa5a81a85 100755 --- a/packages/Webkul/Sales/src/Models/InvoiceItem.php +++ b/packages/Webkul/Sales/src/Models/InvoiceItem.php @@ -45,21 +45,20 @@ class InvoiceItem extends Model implements InvoiceItemContract return $this->hasOne(InvoiceItemProxy::modelClass(), 'parent_id'); } + /** + * Get order item type + */ + public function getTypeAttribute() + { + return $this->order_item->type; + } + /** * Returns configurable option html */ public function getOptionDetailHtml() { - - if ($this->type == 'configurable' && isset($this->additional['attributes'])) { - $labels = []; - - foreach ($this->additional['attributes'] as $attribute) { - $labels[] = $attribute['attribute_name'] . ' : ' . $attribute['option_label']; - } - - return implode(', ', $labels); - } + return $this->order_item->getOptionDetailHtml(); } /** @@ -67,6 +66,6 @@ class InvoiceItem extends Model implements InvoiceItemContract */ public function getDownloadableDetailHtml() { - return $this->order_item->getOptionDetailHtml(); + return $this->order_item->getDownloadableDetailHtml(); } } \ No newline at end of file diff --git a/packages/Webkul/Sales/src/Models/OrderItem.php b/packages/Webkul/Sales/src/Models/OrderItem.php index 6be3c19ec..088f8d4f5 100755 --- a/packages/Webkul/Sales/src/Models/OrderItem.php +++ b/packages/Webkul/Sales/src/Models/OrderItem.php @@ -158,7 +158,10 @@ class OrderItem extends Model implements OrderItemContract */ public function getOptionDetailHtml() { - if ($this->type == 'configurable' && isset($this->additional['attributes'])) { + if ($this->type != 'configurable') + return; + + if (isset($this->additional['attributes'])) { $labels = []; foreach ($this->additional['attributes'] as $attribute) { diff --git a/packages/Webkul/Sales/src/Models/ShipmentItem.php b/packages/Webkul/Sales/src/Models/ShipmentItem.php index aed7b05a6..c14a9d587 100755 --- a/packages/Webkul/Sales/src/Models/ShipmentItem.php +++ b/packages/Webkul/Sales/src/Models/ShipmentItem.php @@ -45,21 +45,20 @@ class ShipmentItem extends Model implements ShipmentItemContract return $this->belongsTo(ShipmentItemProxy::modelClass(), 'parent_id'); } + /** + * Get order item type + */ + public function getTypeAttribute() + { + return $this->order_item->type; + } + /** * Returns configurable option html */ public function getOptionDetailHtml() { - - if ($this->type == 'configurable' && isset($this->additional['attributes'])) { - $labels = []; - - foreach ($this->additional['attributes'] as $attribute) { - $labels[] = $attribute['attribute_name'] . ' : ' . $attribute['option_label']; - } - - return implode(', ', $labels); - } + return $this->order_item->getOptionDetailHtml(); } /** @@ -67,6 +66,6 @@ class ShipmentItem extends Model implements ShipmentItemContract */ public function getDownloadableDetailHtml() { - return $this->order_item->getOptionDetailHtml(); + return $this->order_item->getDownloadableDetailHtml(); } } \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-admin-order.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-admin-order.blade.php index 778954ade..73dafa6d8 100644 --- a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-admin-order.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-admin-order.blade.php @@ -112,20 +112,24 @@ {{ $item->child ? $item->child->sku : $item->sku }} - {{ $item->name }} + + {{ $item->name }} + + @if ($html = $item->getOptionDetailHtml()) +
+ +
+ @elseif ($item->type == 'downloadable') +

Downloads : {{ $item->getDownloadableDetailHtml() }}

+ @endif + {{ core()->formatPrice($item->price, $order->order_currency_code) }} {{ $item->qty_ordered }} - - @if ($html = $item->getOptionDetailHtml()) -
- -
- @endif @endforeach @@ -172,7 +176,7 @@ -
+

{!! __('shop::app.mail.order.help', [ diff --git a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-inventorysource-shipment.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-inventorysource-shipment.blade.php index 80c1a6359..83c469bb0 100644 --- a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-inventorysource-shipment.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-inventorysource-shipment.blade.php @@ -122,20 +122,25 @@ @foreach ($shipment->items as $item) {{ $item->child ? $item->child->sku : $item->sku }} - {{ $item->name }} + + + {{ $item->name }} + + @if ($html = $item->getOptionDetailHtml()) +

+ +
+ @elseif ($item->type == 'downloadable') +

Downloads : {{ $item->getDownloadableDetailHtml() }}

+ @endif + + {{ core()->formatPrice($item->price, $order->order_currency_code) }} + {{ $item->qty }} - - @if ($html = $item->getOptionDetailHtml()) -
- -
- @elseif ($item->type == 'downloadable') -

Downloads : {{ $item->getDownloadableDetailHtml() }}

- @endif @endforeach diff --git a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-invoice.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-invoice.blade.php index 52bb67a37..c2cec6969 100755 --- a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-invoice.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-invoice.blade.php @@ -113,22 +113,24 @@ @foreach ($invoice->items as $item) - {{ $item->name }} + + {{ $item->name }} + + @if ($html = $item->getOptionDetailHtml()) +
+ +
+ @elseif ($item->type == 'downloadable') +

Downloads : {{ $item->getDownloadableDetailHtml() }}

+ @endif + {{ core()->formatPrice($item->price, $order->order_currency_code) }} {{ $item->qty }} - - @if ($html = $item->getOptionDetailHtml()) -
- -
- @elseif ($item->type == 'downloadable') -

Downloads : {{ $item->getDownloadableDetailHtml() }}

- @endif @endforeach diff --git a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-order.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-order.blade.php index 72bdb219a..22d3f0efa 100755 --- a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-order.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-order.blade.php @@ -114,22 +114,24 @@ {{ $item->child ? $item->child->sku : $item->sku }} - {{ $item->name }} + + {{ $item->name }} + + @if ($html = $item->getOptionDetailHtml()) +
+ +
+ @elseif ($item->type == 'downloadable') +

Downloads : {{ $item->getDownloadableDetailHtml() }}

+ @endif + {{ core()->formatPrice($item->price, $order->order_currency_code) }} {{ $item->qty_ordered }} - - @if ($html = $item->getOptionDetailHtml()) -
- -
- @elseif ($item->type == 'downloadable') -

Downloads : {{ $item->getDownloadableDetailHtml() }}

- @endif @endforeach diff --git a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-shipment.blade.php b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-shipment.blade.php index d7aebdb97..f614a6552 100755 --- a/packages/Webkul/Shop/src/Resources/views/emails/sales/new-shipment.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/emails/sales/new-shipment.blade.php @@ -123,19 +123,24 @@ @foreach ($shipment->items as $item) {{ $item->child ? $item->child->sku : $item->sku }} - {{ $item->name }} - {{ core()->formatPrice($item->price, $order->order_currency_code) }} - {{ $item->qty }} - @if ($html = $item->getOptionDetailHtml()) -
- -
- @elseif ($item->type == 'downloadable') -

Downloads : {{ $item->getDownloadableDetailHtml() }}

- @endif + + {{ $item->name }} + + @if ($html = $item->getOptionDetailHtml()) +
+ +
+ @elseif ($item->type == 'downloadable') +

Downloads : {{ $item->getDownloadableDetailHtml() }}

+ @endif + + + {{ core()->formatPrice($item->price, $order->order_currency_code) }} + + {{ $item->qty }} @endforeach