diff --git a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php index f883e4283..0fbe05caa 100644 --- a/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/Customer/CustomerController.php @@ -142,4 +142,19 @@ class CustomerController extends Controller return redirect()->route($this->_config['redirect']); } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + $this->customer->delete($id); + + session()->flash('success', 'Customer deleted successfully.'); + + return redirect()->back(); + } } diff --git a/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php index dfbcafa39..3de76411b 100644 --- a/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/sliders/create.blade.php @@ -31,11 +31,14 @@ @{{ errors.first('title') }} + getAllChannels() ?>
- + @foreach($channels as $channel) + @endforeach @{{ errors.first('channel_id') }} diff --git a/packages/Webkul/Core/src/Repositories/SliderRepository.php b/packages/Webkul/Core/src/Repositories/SliderRepository.php index 0e37ad7fc..3f734ad68 100644 --- a/packages/Webkul/Core/src/Repositories/SliderRepository.php +++ b/packages/Webkul/Core/src/Repositories/SliderRepository.php @@ -2,7 +2,10 @@ namespace Webkul\Core\Repositories; +use Illuminate\Container\Container as App; use Webkul\Core\Eloquent\Repository; +use Webkul\Core\Repositories\ChannelRepository as Channel; +use Storage; /** * Slider Reposotory @@ -12,6 +15,18 @@ use Webkul\Core\Eloquent\Repository; */ class SliderRepository extends Repository { + protected $channel; + + public function __construct( + Channel $channel, + App $app + ) + { + $this->channel = $channel; + + parent::__construct($app); + } + /** * Specify Model class name * @@ -28,27 +43,52 @@ class SliderRepository extends Repository */ public function create(array $data) { - $image = request()->file('image'); - $image_name = uniqid(20).'.'.$image->getClientOriginalExtension(); + $channelName = $this->channel->find($data['channel_id'])->name; - $destinationPath = public_path('/vendor/webkul/shop/assets/images/slider'); + $dir = 'slider_images/' . $channelName; - $path = $image->move($destinationPath, $image_name); + $image = request()->file('image')->store($dir); - $path= 'vendor/webkul/shop/assets/images/slider/'.$image_name; + unset($data['image'], $data['_token']); - $data['path'] = $path; + $data['path'] = $image; $this->model->create($data); } + /** + * @param array $data + * @return mixed + */ + public function updateItem(array $data, $id) + { + $channelName = $this->channel->find($data['channel_id'])->name; + + $dir = 'slider_images/' . $channelName; + + $image = request()->file('image')->store($dir); + + unset($data['image'], $data['_token']); + + $data['path'] = $image; + + $this->update($data, $id); + } + /** * Delete a slider item and delete the image from the disk or where ever it is * * @return Boolean */ public function destroy($id) { + + $sliderItem = $this->find($id); + + $sliderItemImage = $sliderItem->path; + + Storage::delete($sliderItemImage); + return $this->model->destroy($id); } } \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Http/Controllers/SliderController.php b/packages/Webkul/Shop/src/Http/Controllers/SliderController.php index 927e3b43b..86eac42db 100644 --- a/packages/Webkul/Shop/src/Http/Controllers/SliderController.php +++ b/packages/Webkul/Shop/src/Http/Controllers/SliderController.php @@ -45,7 +45,7 @@ class SliderController extends controller public function create() { $channels = core()->getAllChannels(); - return view($this->_config['view'])->with('channels',[$channels]); + return view($this->_config['view']); } /** @@ -79,7 +79,7 @@ class SliderController extends controller * @return response */ public function update($id) { - if($this->slider->update(request()->all(), $id)) { + if($this->slider->updateItem(request()->all(), $id)) { session()->flash('success', 'Slider Item Successfully Updated'); } else { session()->flash('error', 'Slider Cannot Be Updated'); diff --git a/packages/Webkul/Shop/src/Resources/assets/js/components/image-slider.vue b/packages/Webkul/Shop/src/Resources/assets/js/components/image-slider.vue index 219ac0f5a..25c09aa93 100644 --- a/packages/Webkul/Shop/src/Resources/assets/js/components/image-slider.vue +++ b/packages/Webkul/Shop/src/Resources/assets/js/components/image-slider.vue @@ -25,6 +25,11 @@ export default { type: Array, required: true, default: () => [], + }, + + public_path: { + type: String, + required: true, } }, @@ -53,8 +58,9 @@ export default { setProps() { var this_this = this; + this.slides.forEach(function(slider) { - this_this.images.push(slider.path); + this_this.images.push(this_this.public_path+'/storage/'+slider.path); }); this.currentIndex = 0; diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/_variables.scss b/packages/Webkul/Shop/src/Resources/assets/sass/_variables.scss index 1e014d502..0d51e30fc 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/_variables.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/_variables.scss @@ -1,8 +1,7 @@ @import url("https://fonts.googleapis.com/css?family=Montserrat:400,500"); //shop variables $font-color: #242424; -$border-color: #E8E8E8; -$border-color1: #C7C7C7; +$border-color: #C7C7C7; $brand-color: #0031F0; $font-color-light: #A5A5A5; $link-color: #2650EF; diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss index 36cb61a43..448931fbd 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss @@ -190,21 +190,12 @@ section.slider-block { div.slider-control { display: flex; justify-content:space-between; - bottom: 48%; + bottom: 46%; right: 0%; width:100%; - - .dark-left-icon { - margin-left: 15px; - } - - .light-right-icon { - margin-right: 15px; - } } } } - } //header navigation @@ -263,11 +254,12 @@ section.slider-block { border-top-right-radius: 3px; border-bottom-right-radius: 3px; - .search-icon { + .search-icon, .icon-search { margin-top: 4px; margin-left: 4px; height: 24px; width: 24px; + cursor: pointer; } } } @@ -450,8 +442,8 @@ section.slider-block { height: 48px; margin-left: auto; margin-right: auto; - border-top: 1px solid lightgrey; - border-bottom: 1px solid lightgrey; + border-top: 1px solid $border-color; + border-bottom: 1px solid $border-color; display: block; ul.nav { @@ -915,7 +907,7 @@ section.product-detail { max-height: 120px; &.active { - border-color: $border-color1; + border-color: $border-color; } img { diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/address/address.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/address/address.blade.php index 5a2a87908..26caedc2d 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/address/address.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/address/address.blade.php @@ -13,7 +13,6 @@