Slider Backend Fixed
This commit is contained in:
parent
f5b4cc4c46
commit
7a157ee17d
|
|
@ -454,7 +454,7 @@ Route::group(['middleware' => ['web']], function () {
|
|||
])->name('admin.sliders.create');
|
||||
|
||||
Route::post('slider/create','Webkul\Shop\Http\Controllers\SliderController@store')->defaults('_config',[
|
||||
'redirect' => 'admin::sliders.index'
|
||||
'redirect' => 'admin.sliders.index'
|
||||
])->name('admin.sliders.store');
|
||||
|
||||
//slider edit
|
||||
|
|
|
|||
|
|
@ -44,21 +44,20 @@
|
|||
<div class="control-group" :class="[errors.has('image') ? 'has-error' : '']">
|
||||
<label for="new_image">{{ __('admin::app.settings.sliders.image') }}</label>
|
||||
|
||||
<image-upload>
|
||||
{{-- <image-upload>
|
||||
|
||||
<input type="file" class="control" id="add_image" name="image" value="" v-validate="'image|required'" placeholder="Upload from Outer"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('image')">@{{ errors.first('image') }}</span>
|
||||
{{-- The image field validation is not working, resolve it. --}}
|
||||
|
||||
</image-upload>
|
||||
</image-upload> --}}
|
||||
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false"></image-wrapper>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('content') ? 'has-error' : '']">
|
||||
<label for="content">{{ __('admin::app.settings.sliders.content') }}</label>
|
||||
|
||||
<textarea class="control" id="add_content" name="content" rows="5"></textarea>
|
||||
{{-- <textarea></textarea> --}}
|
||||
|
||||
<span class="control-error" v-if="errors.has('content')">@{{ errors.first('content') }}</span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -43,24 +43,17 @@
|
|||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('image') ? 'has-error' : '']">
|
||||
<label for="new_image">{{ __('admin::app.settings.sliders.image') }}</label>
|
||||
|
||||
<image-upload>
|
||||
<input type="file" class="control" id="add_image" name="image" value="" v-validate="'image|required'" placeholder="Upload Image" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('image')">@{{ errors.first('image') }}</span>
|
||||
</image-upload>
|
||||
<div class="control-group">
|
||||
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false" :images='"{{ url('storage/'.$slider->path) }}"'></image-wrapper>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('content') ? 'has-error' : '']">
|
||||
<label for="content">{{ __('admin::app.settings.sliders.content') }}</label>
|
||||
|
||||
<div class="panel-body">
|
||||
<textarea class="control" id="add_content" name="content" v-validate="'required'" rows="5">{{ $slider->content ? : old('content') }}</textarea>
|
||||
<textarea class="control" id="add_content" name="content" v-validate="'required'" rows="5">{{ $slider->content ? : old('content') }}</textarea>
|
||||
</div>
|
||||
|
||||
|
||||
<span class="control-error" v-if="errors.has('content')">@{{ errors.first('content') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -41,20 +41,34 @@ class SliderRepository extends Repository
|
|||
* @param array $data
|
||||
* @return mixed
|
||||
*/
|
||||
public function create(array $data)
|
||||
public function save(array $data)
|
||||
{
|
||||
|
||||
$channelName = $this->channel->find($data['channel_id'])->name;
|
||||
|
||||
$dir = 'slider_images/' . $channelName;
|
||||
|
||||
$image = request()->file('image')->store($dir);
|
||||
$uploaded = false;
|
||||
|
||||
unset($data['image'], $data['_token']);
|
||||
$image = $first = array_first($data['image'], function ($value, $key) {
|
||||
if($value)
|
||||
return $value;
|
||||
else
|
||||
return false;
|
||||
});
|
||||
|
||||
$data['path'] = $image;
|
||||
if($image != false) {
|
||||
$uploaded = $image->store($dir);
|
||||
|
||||
$this->model->create($data);
|
||||
unset($data['image'], $data['_token']);
|
||||
}
|
||||
|
||||
if($uploaded) {
|
||||
$data['path'] = $uploaded;
|
||||
} else {
|
||||
unset($data['image']);
|
||||
}
|
||||
|
||||
return $this->create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -67,13 +81,33 @@ class SliderRepository extends Repository
|
|||
|
||||
$dir = 'slider_images/' . $channelName;
|
||||
|
||||
$image = request()->file('image')->store($dir);
|
||||
$uploaded = false;
|
||||
$image = $first = array_first($data['image'], function ($value, $key) {
|
||||
if($value)
|
||||
return $value;
|
||||
else
|
||||
return false;
|
||||
});
|
||||
|
||||
unset($data['image'], $data['_token']);
|
||||
if($image != false) {
|
||||
$uploaded = $image->store($dir);
|
||||
|
||||
$data['path'] = $image;
|
||||
unset($data['image'], $data['_token']);
|
||||
}
|
||||
|
||||
if($uploaded) {
|
||||
$sliderItem = $this->find($id);
|
||||
|
||||
$deleted = Storage::delete($sliderItem->path);
|
||||
|
||||
$data['path'] = $uploaded;
|
||||
} else {
|
||||
unset($data['image']);
|
||||
}
|
||||
|
||||
$this->update($data, $id);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -53,12 +53,11 @@ class SliderController extends controller
|
|||
* @return response
|
||||
*/
|
||||
public function store() {
|
||||
// dd(request()->all());
|
||||
$this->slider->create(request()->all());
|
||||
$this->slider->save(request()->all());
|
||||
|
||||
session()->flash('success', 'Slider created successfully.');
|
||||
|
||||
return redirect()->back();
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -78,7 +77,9 @@ class SliderController extends controller
|
|||
* @return response
|
||||
*/
|
||||
public function update($id) {
|
||||
if($this->slider->updateItem(request()->all(), $id)) {
|
||||
$result = $this->slider->updateItem(request()->all(), $id);
|
||||
|
||||
if($result) {
|
||||
session()->flash('success', 'Slider Item Successfully Updated');
|
||||
} else {
|
||||
session()->flash('error', 'Slider Cannot Be Updated');
|
||||
|
|
|
|||
Loading…
Reference in New Issue