From 8717edf059f7169e7aa17d414ecf027a469fab9a Mon Sep 17 00:00:00 2001 From: rahul shukla Date: Mon, 15 Oct 2018 13:52:27 +0530 Subject: [PATCH] customer pannel --- .../src/Http/Controllers/OrdersController.php | 9 +- .../Webkul/Customer/src/Models/Customer.php | 9 ++ .../Webkul/Sales/src/Models/OrderAddress.php | 3 +- packages/Webkul/Shop/src/Http/routes.php | 2 +- .../assets/js/components/category-item.vue | 1 - .../Webkul/Shop/src/Resources/lang/en/app.php | 12 +++ .../customers/account/orders/orders.blade.php | 57 ++++++++++- .../customers/account/profile/index.blade.php | 2 +- .../customers/account/reviews/index.blade.php | 97 +++++++++++++++++++ .../account/reviews/reviews.blade.php | 44 --------- .../views/layouts/header/index.blade.php | 2 + .../Resources/views/products/view.blade.php | 2 +- public/themes/default/assets/js/shop.js | 22 ++--- 13 files changed, 194 insertions(+), 68 deletions(-) create mode 100644 packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php delete mode 100644 packages/Webkul/Shop/src/Resources/views/customers/account/reviews/reviews.blade.php diff --git a/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php b/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php index e35943d2e..2c37463f9 100644 --- a/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/OrdersController.php @@ -56,6 +56,13 @@ class OrdersController extends Controller } public function orders() { - return view($this->_config['view']); + + $id = auth()->guard('customer')->user()->id; + + $order = $this->customer->with('customerOrder')->findOneWhere(['id'=>$id]); + + return view($this->_config['view'],compact('order')); } } + + diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php index b3e9ca1b6..94c8b23d4 100644 --- a/packages/Webkul/Customer/src/Models/Customer.php +++ b/packages/Webkul/Customer/src/Models/Customer.php @@ -5,6 +5,7 @@ namespace Webkul\Customer\Models; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Webkul\Customer\Models\CustomersGroups; +use Webkul\Sales\Models\Order; // use Webkul\User\Notifications\AdminResetPassword; @@ -38,5 +39,13 @@ class Customer extends Authenticatable return $this->belongsTo(CustomersGroups::class); } + /** + * Get the customer order. + */ + public function customerOrder() + { + return $this->hasMany(Order::class); + } + } diff --git a/packages/Webkul/Sales/src/Models/OrderAddress.php b/packages/Webkul/Sales/src/Models/OrderAddress.php index 73f88c680..827e499a9 100644 --- a/packages/Webkul/Sales/src/Models/OrderAddress.php +++ b/packages/Webkul/Sales/src/Models/OrderAddress.php @@ -4,7 +4,6 @@ namespace Webkul\Sales\Models; use Illuminate\Database\Eloquent\Model; use Webkul\Sales\Contracts\OrderAddress as OrderAddressContract; -use Webkul\Customer\Models\Customer; class OrderAddress extends Model implements OrderAddressContract { @@ -19,7 +18,7 @@ class OrderAddress extends Model implements OrderAddressContract { return $this->first_name . ' ' . $this->last_name; } - + /** * Get the customer record associated with the order. */ diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index f6d4b96c0..597295d7c 100644 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -178,7 +178,7 @@ Route::group(['middleware' => ['web']], function () { /* Reviews route */ Route::get('reviews', 'Webkul\Customer\Http\Controllers\CustomerController@reviews')->defaults('_config', [ - 'view' => 'shop::customers.account.reviews.reviews' + 'view' => 'shop::customers.account.reviews.index' ])->name('customer.reviews.index'); }); }); diff --git a/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue b/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue index fe735bb90..4da1276ac 100644 --- a/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue +++ b/packages/Webkul/Shop/src/Resources/assets/js/components/category-item.vue @@ -42,7 +42,6 @@ export default { }, methods: { showOrHide: function() { - alert('gfgf'); this.show = !this.show; } } diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index d5496eb13..6615efa25 100644 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -109,6 +109,18 @@ return [ 'title' => 'Edit Address', 'submit' => 'Edit Address' ] + ], + + 'order' => [ + 'index' => [ + 'page-title' => 'Customer-Order', + 'title' => 'Orders', + 'order_id' => 'Order ID', + 'date' => 'Date', + 'status' => 'Status', + 'item' => 'Item', + 'total' => 'total' + ] ] ] ], diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php index 2cff69535..ed0290715 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/orders/orders.blade.php @@ -1 +1,56 @@ -

Customer past orders page

\ No newline at end of file + +@extends('shop::layouts.master') +@section('page_title') + {{ __('shop::app.customer.account.order.index.page-title') }} +@endsection + +@section('content-wrapper') + +
+ + @include('shop::customers.account.partials.sidemenu') + + + +
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php index 5845f36c2..19e332cda 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/profile/index.blade.php @@ -1,6 +1,6 @@ @extends('shop::layouts.master') @section('page_title') - {{ __('shop::app.customer.account.profile.index.page-title') }} + {{ __('shop::app.order.page-title') }} @endsection @section('content-wrapper') diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php new file mode 100644 index 000000000..7f811e0f1 --- /dev/null +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/index.blade.php @@ -0,0 +1,97 @@ +@inject ('productImageHelper', 'Webkul\Product\Product\ProductImage') + +@extends('shop::layouts.master') +@section('content-wrapper') +
+ @include('shop::customers.account.partials.sidemenu') + +
+ +

Reviews

+ + @foreach($reviews as $review) +
+ + getGalleryImages($review->product); ?> + +
+ +
+ +
+ +
+ {{ $review->product->name }} +
+ +
+ @for($i=0 ; $i < $review->rating ; $i++) + + @endfor +
+ +
+ {{ $review->comment }} +
+
+ +
+ @endforeach + +
+ +
+ + +
+ @inject ('productImageHelper', 'Webkul\Product\Product\ProductImage') + + @include('shop::customers.account.partials.sidemenu') + +
+ +
+ {{ __('shop::app.wishlist.title') }} + + @if(count($items)) + + @endif +
+
+ +
+ + @if(count($items)) + @foreach($items as $item) +
+
+ @php + $image = $productImageHelper->getProductBaseImage($item); + @endphp + + +
+
{{$item->name}}
+
+
+ +
+ + + +
+
+
+ @endforeach + @else +
+ {{ __('customer::app.wishlist.empty') }} +
+ @endif +
+
+
+@endsection \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/reviews.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/reviews.blade.php deleted file mode 100644 index 60cdced18..000000000 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/reviews/reviews.blade.php +++ /dev/null @@ -1,44 +0,0 @@ -@inject ('productImageHelper', 'Webkul\Product\Product\ProductImage') - -@extends('shop::layouts.master') -@section('content-wrapper') -
- @include('shop::customers.account.partials.sidemenu') - -
- -

Reviews

- - @foreach($reviews as $review) - - @endforeach - -
- -
-@endsection \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php index 6eb34770d..1e2abdb99 100644 --- a/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/layouts/header/index.blade.php @@ -280,6 +280,8 @@ var thumbFrame = document.getElementsByClassName('thumb-frame'); var productHeroImage = document.getElementsByClassName('product-hero-image')[0]; + console.log(productHeroImage); + search.addEventListener("click", header); hamMenu.addEventListener("click", header); diff --git a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php index 4f047396e..3f7f25fab 100644 --- a/packages/Webkul/Shop/src/Resources/views/products/view.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/products/view.blade.php @@ -82,7 +82,6 @@ var state = document.readyState var galleryTemplate = document.getElementById('product-gallery-template'); var addTOButton = document.getElementsByClassName('add-to-buttons')[0]; - var productHeroImage = document.getElementsByClassName('product-hero-image')[0]; if(galleryTemplate){ if (state == 'interactive') { @@ -98,6 +97,7 @@ var thumbList = document.getElementsByClassName('thumb-list')[0]; var thumbFrame = document.getElementsByClassName('thumb-frame'); + var productHeroImage = document.getElementsByClassName('product-hero-image')[0]; // for product page resize image if(thumbList && productHeroImage){ diff --git a/public/themes/default/assets/js/shop.js b/public/themes/default/assets/js/shop.js index acb994c7c..cde4e9ca1 100644 --- a/public/themes/default/assets/js/shop.js +++ b/public/themes/default/assets/js/shop.js @@ -30845,6 +30845,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); // // // +// // define the item component /* harmony default export */ __webpack_exports__["default"] = ({ @@ -30855,32 +30856,20 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); data: function data() { return { items_count: 0, - show: false, - margin: 0 + show: false }; }, - mounted: function mounted() { if (window.innerWidth > 770) { this.show = true; } }, - computed: { haveChildren: function haveChildren() { - - console.log(this.margin++); - - if (this.item.children.length) { - - console.log(this.margin++); - } - return this.item.children.length ? true : false; } }, - methods: { showOrHide: function showOrHide() { this.show = !this.show; @@ -30915,19 +30904,20 @@ var render = function() { _vm.haveChildren || _vm.item.parent_id == null ? _c("i", { class: [ - _vm.show ? "icon expand-icon mt-15" : "icon expand-on-icon mt-15" + _vm.show + ? "icon arrow-down-icon mt-15" + : "icon dropdown-right-icon mt-15" ], on: { click: _vm.showOrHide } }) : _vm._e(), _vm._v(" "), - _vm.haveChildren + _vm.haveChildren && _vm.show ? _c( "ul", _vm._l(_vm.item.children, function(child, index) { return _c("category-item", { key: index, - style: "margin-left: " + 20 + "px", attrs: { url: _vm.url, item: child } }) })