Now images will be deleted too if the model gets deleted
This commit is contained in:
parent
b7d346260a
commit
318857b785
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Category\Observers;
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class CategoryObserver
|
||||
{
|
||||
/**
|
||||
* Handle the Category "deleted" event.
|
||||
*
|
||||
* @param Category $category
|
||||
* @return void
|
||||
*/
|
||||
public function deleted($category)
|
||||
{
|
||||
Storage::deleteDirectory('category/' . $category->id);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
namespace Webkul\Category\Providers;
|
||||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Foundation\AliasLoader;
|
||||
use Illuminate\Routing\Router;
|
||||
use Webkul\Category\Models\CategoryProxy;
|
||||
use Webkul\Category\Observers\CategoryObserver;
|
||||
|
||||
class CategoryServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
|
@ -13,9 +13,11 @@ class CategoryServiceProvider extends ServiceProvider
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot(Router $router)
|
||||
public function boot()
|
||||
{
|
||||
$this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
|
||||
|
||||
CategoryProxy::observe(CategoryObserver::class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -134,18 +134,14 @@ class SliderController extends Controller
|
|||
{
|
||||
$slider = $this->sliderRepository->findOrFail($id);
|
||||
|
||||
if ($this->sliderRepository->findWhere(['channel_id' => core()->getCurrentChannel()->id])->count() == 1) {
|
||||
session()->flash('warning', trans('admin::app.settings.sliders.delete-success'));
|
||||
} else {
|
||||
try {
|
||||
$this->sliderRepository->delete($id);
|
||||
try {
|
||||
$this->sliderRepository->delete($id);
|
||||
|
||||
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider']));
|
||||
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Slider']));
|
||||
|
||||
return response()->json(['message' => true], 200);
|
||||
} catch(\Exception $e) {
|
||||
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Slider']));
|
||||
}
|
||||
return response()->json(['message' => true], 200);
|
||||
} catch(\Exception $e) {
|
||||
session()->flash('error', trans('admin::app.response.delete-failed', ['name' => 'Slider']));
|
||||
}
|
||||
|
||||
return response()->json(['message' => false], 400);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Core\Observers;
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class SliderObserver
|
||||
{
|
||||
/**
|
||||
* Handle the Slider "deleted" event.
|
||||
*
|
||||
* @param Slider $slider
|
||||
* @return void
|
||||
*/
|
||||
public function deleted($slider)
|
||||
{
|
||||
Storage::delete($slider->path);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,10 +4,11 @@ namespace Webkul\Core\Providers;
|
|||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Routing\Router;
|
||||
use Illuminate\Foundation\AliasLoader;
|
||||
use Webkul\Core\Core;
|
||||
use Webkul\Core\Facades\Core as CoreFacade;
|
||||
use Webkul\Core\Models\SliderProxy;
|
||||
use Webkul\Core\Observers\SliderObserver;
|
||||
|
||||
class CoreServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
|
@ -16,7 +17,7 @@ class CoreServiceProvider extends ServiceProvider
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot(Router $router)
|
||||
public function boot()
|
||||
{
|
||||
include __DIR__ . '/../Http/helpers.php';
|
||||
|
||||
|
|
@ -33,6 +34,8 @@ class CoreServiceProvider extends ServiceProvider
|
|||
$this->publishes([
|
||||
dirname(__DIR__) . '/Config/concord.php' => config_path('concord.php'),
|
||||
]);
|
||||
|
||||
SliderProxy::observe(SliderObserver::class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Product\Observers;
|
||||
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class ProductObserver
|
||||
{
|
||||
/**
|
||||
* Handle the Product "deleted" event.
|
||||
*
|
||||
* @param Product $product
|
||||
* @return void
|
||||
*/
|
||||
public function deleted($product)
|
||||
{
|
||||
Storage::deleteDirectory('product/' . $product->id);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,8 +4,8 @@ namespace Webkul\Product\Providers;
|
|||
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Webkul\Product\Providers\EventServiceProvider;
|
||||
use Illuminate\Routing\Router;
|
||||
use Webkul\Product\Models\Product;
|
||||
use Webkul\Product\Models\ProductProxy;
|
||||
use Webkul\Product\Observers\ProductObserver;
|
||||
|
||||
class ProductServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
|
@ -14,7 +14,7 @@ class ProductServiceProvider extends ServiceProvider
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot(Router $router)
|
||||
public function boot()
|
||||
{
|
||||
$this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
|
||||
|
||||
|
|
@ -23,6 +23,8 @@ class ProductServiceProvider extends ServiceProvider
|
|||
$this->publishes([
|
||||
dirname(__DIR__) . '/Config/imagecache.php' => config_path('imagecache.php'),
|
||||
]);
|
||||
|
||||
ProductProxy::observe(ProductObserver::class);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -177,7 +177,8 @@ class ProductRepository extends Repository
|
|||
}
|
||||
|
||||
if ($attribute->type == 'image' || $attribute->type == 'file') {
|
||||
$dir = 'product';
|
||||
$dir = 'product/' . $product->id;
|
||||
|
||||
if (gettype($data[$attribute->code]) == 'object') {
|
||||
$data[$attribute->code] = request()->file($attribute->code)->store($dir);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in New Issue