This commit is contained in:
2026-04-16 03:34:16 +05:00
parent 6a4221f0a5
commit eea40876a4
13 changed files with 108 additions and 76 deletions

View File

@@ -71,7 +71,7 @@ class ContractTemplateController extends ExController
if ($request->hasFile('file')) {
// delete old file
if ($template->path) {
Storage::disk('public')->delete($template->path);
Storage::delete($template->path);
}
// store file to storage
@@ -95,7 +95,7 @@ class ContractTemplateController extends ExController
$template = ContractTemplate::findOrFail($templateId);
if ($template->path) {
Storage::disk('public')->delete($template->path);
Storage::delete($template->path);
}
$template->delete();

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Dashboard\File;
use App\Models\File;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller as ExController;
use Illuminate\Support\Facades\Storage;
use App\Http\Requests\Dashboard\File\Store as StoreRequest;
use App\Jobs\Dashboard\File\Store as StoreJob;
@@ -44,7 +45,7 @@ class Controller extends ExController
$this->authorize('create', 'files');
$path = $request->file('file')->store('uploads/files');
$size = filesize($path);
$size = Storage::size($path);
$this->dispatchSync(StoreJob::fromRequest($request, $path, $size));
@@ -61,9 +62,7 @@ class Controller extends ExController
{
$this->authorize('delete', 'files');
if (is_file($file->path)) {
unlink($file->path);
}
Storage::delete($file->path);
$file->delete();
$this->info(trans('admin.messages.deleted'));

View File

@@ -84,25 +84,29 @@ class Controller extends ExController
$this->authorize('create', 'products');
$categories = $this->categories->select('id', 'name->ru as category')
->where('parent_id', null)
->with(['parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with(['parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}]);
}])->get();
->with([
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with([
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}
]);
}
])->get();
$brands = $this->brands->get();
$colors = $this->colors->get();
$measurement = Measurement::query()->get();
return view('dashboard.products.store', compact('categories', 'brands', 'colors', 'measurement'));
}
$product = $this->dispatchSync(StoreJob::fromRequest($request));
$product->categories()->attach([$request->getCategoryID()]);
$this->charSync($product, $request->characteristics);
$this->dispatchSync(new ChildJob($request, $product));
$this->success(trans('admin.messages.created'));
return response()->json([
@@ -254,15 +258,23 @@ class Controller extends ExController
]);
},
'categories' => function ($categories) {
return $categories->select('id', 'name->ru as category', 'parent_id')->with(['parent' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with(['parents', 'parent' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with(['parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}]);
}, 'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}]);
}]);
return $categories->select('id', 'name->ru as category', 'parent_id')->with([
'parent' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with([
'parents',
'parent' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with([
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}
]);
},
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}
]);
}
]);
},
'characteristics'
@@ -271,19 +283,30 @@ class Controller extends ExController
foreach ($product->childrens as $children) {
foreach ($children->screens as $screen) {
$screen->sizeText = $screen->size / 1024 . 'Kb';
$screen->url = $screen->getPath();
if (env('FILESYSTEM_DISK') == 's3') {
$screen->url = Storage::temporaryUrl(
$screen->path,
Date::now()->addMinutes(5)
);
} else {
$screen->url = '/' . $screen->path;
}
$screen->type = "image/jpeg";
}
}
$categories = $this->categories->select('id', 'name->ru as category')
->where('parent_id', null)
->with(['parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with(['parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}]);
}])->get();
->with([
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id')->with([
'parents' => function ($parent) {
return $parent->select('id', 'name->ru as category', 'parent_id');
}
]);
}
])->get();
$brands = $this->brands->get();
$measurement = Measurement::query()->get();
@@ -294,11 +317,11 @@ class Controller extends ExController
return view('dashboard.products.update', compact('categories', 'brands', 'colors', 'product', 'measurement'));
}
try{
try {
$this->dispatchSync(new UpdateJob($product, $request));
$this->dispatchSync(new ChildUpdateJob($request, $product));
}catch(Exception $e){
} catch (Exception $e) {
return Response::json([
"messages" => $e->getMessage()
]);
@@ -410,13 +433,8 @@ class Controller extends ExController
*/
public function delete_screen(Screen $screen)
{
if (is_file($screen->path)) {
unlink($screen->path);
}
if (is_file($screen->path_thumb)) {
unlink($screen->path_thumb);
}
Storage::delete($screen->path);
Storage::delete($screen->path_thumb);
$screen->delete();
@@ -434,9 +452,9 @@ class Controller extends ExController
'file' => 'required|mimes:xlsx,xls'
]);
$file = $request->file('file')->store('uploads/imports');
$file = $request->file('file')->store('uploads/imports', 'local');
$excel = Excel::toArray(new MobileImport, $file);
$excel = Excel::toArray(new MobileImport, storage_path('app/' . $file));
$excel = collect($excel)->flatten(1)->map(function ($product) {
if ($product[0] != null) {

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Dashboard\Slider;
use App\Models\Slider;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller as ExController;
use Illuminate\Support\Facades\Storage;
use App\Http\Requests\Dashboard\Slider\Update as UpdateRequest;
use App\Http\Requests\Dashboard\Slider\Store as StoreRequest;
@@ -92,9 +93,7 @@ class Controller extends ExController
public function delete(Slider $slider)
{
$this->authorize('delete', 'sliders');
if (is_file($slider->image)) {
unlink($slider->image);
}
Storage::delete($slider->image);
$slider->delete();
$this->info(trans('admin.messages.deleted'));

View File

@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Dashboard\SpecialOffer;
use App\Models\SpecialOffer;
use App\Http\Controllers\Controller as ExController;
use Illuminate\Support\Facades\Storage;
use App\Http\Requests\Dashboard\SpecialOffer\Update as UpdateRequest;
use App\Http\Requests\Dashboard\SpecialOffer\Store as StoreRequest;
@@ -87,9 +88,7 @@ class Controller extends ExController
{
$this->authorize('delete', 'special-offers');
if (is_file($specialOffer->image)) {
unlink($specialOffer->image);
}
Storage::delete($specialOffer->image);
$specialOffer->delete();
$this->info(trans('admin.messages.deleted'));

View File

@@ -10,7 +10,6 @@ use App\Http\Requests\Dashboard\UsefulInfoRequest\Store as StoreRequest;
use App\Jobs\Dashboard\UsefulInfoJob\Store as StoreJob;
use App\Jobs\Dashboard\UsefulInfoJob\Update as UpdateJob;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class Controller extends ExController
@@ -78,10 +77,8 @@ class Controller extends ExController
// delete items files
foreach ($usefulinfo->items as $item) {
$filePath = public_path($item->file_url);
if (File::exists($filePath)) {
File::delete($filePath);
if ($item->file_url) {
Storage::delete($item->file_url);
}
$item->delete();

View File

@@ -11,7 +11,7 @@ use App\Jobs\Dashboard\UsefulInfoItemJob\Store as StoreJob;
use App\Jobs\Dashboard\UsefulInfoItemJob\Update as UpdateJob;
use App\Models\UsefulInfo;
use App\Models\UsefulInfoItem;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
class Controller extends ExController
{
@@ -54,11 +54,7 @@ class Controller extends ExController
{
$file_path = null;
if ($request->hasFile('file')) {
$filePath = public_path($usefulinfoitem->file_url);
if (File::exists($filePath)) {
File::delete($filePath);
}
Storage::delete($usefulinfoitem->file_url);
$file_path = $request->file('file')->store('uploads/usefulinfoitems');
} else {
@@ -75,11 +71,7 @@ class Controller extends ExController
{
$this->authorize('delete', 'usefulinfoitems');
$filePath = public_path($usefulinfoitem->file_url);
if (File::exists($filePath)) {
File::delete($filePath);
}
Storage::delete($usefulinfoitem->file_url);
$usefulinfoitem->delete();