|
@@ -52,11 +52,10 @@ class ProductController extends Controller
|
|
public function create(Request $request)
|
|
public function create(Request $request)
|
|
{
|
|
{
|
|
$categories = Category::orderBy('parent_id')->where('parent_id', 0)->get();
|
|
$categories = Category::orderBy('parent_id')->where('parent_id', 0)->get();
|
|
|
|
+ $uploads = Upload::orderBy('id')->get()->first();
|
|
if (!$request->has('draft_id')) {
|
|
if (!$request->has('draft_id')) {
|
|
$draft = new Draft();
|
|
$draft = new Draft();
|
|
$draft->object_type = 'Packages\Product\Draft';
|
|
$draft->object_type = 'Packages\Product\Draft';
|
|
- Upload::where('parent_type', 'Packages\Product\Draft')
|
|
|
|
- ->update(['parent_type' => 'Packages\Product']);
|
|
|
|
$draft->delete();
|
|
$draft->delete();
|
|
$draft->save();
|
|
$draft->save();
|
|
return redirect()->route('products.create', ['draft_id' => $draft->id]);
|
|
return redirect()->route('products.create', ['draft_id' => $draft->id]);
|
|
@@ -70,7 +69,7 @@ class ProductController extends Controller
|
|
'draft' => $draft
|
|
'draft' => $draft
|
|
];
|
|
];
|
|
$product= Product:: orderBy('id', 'DESC');
|
|
$product= Product:: orderBy('id', 'DESC');
|
|
- return view('product::product.create', $args, compact('categories', 'product'));
|
|
|
|
|
|
+ return view('product::product.create', $args, compact('categories', 'product', 'uploads'));
|
|
}
|
|
}
|
|
|
|
|
|
// *********************************************************save products ******************
|
|
// *********************************************************save products ******************
|
|
@@ -106,8 +105,8 @@ class ProductController extends Controller
|
|
$product = Product::create($data);
|
|
$product = Product::create($data);
|
|
$product->categories()->sync($request->categories);
|
|
$product->categories()->sync($request->categories);
|
|
|
|
|
|
- Upload::where('parent_type', 'Packages\Product')
|
|
|
|
- ->update(['parent_type' => 'image\Product']);
|
|
|
|
|
|
+ Upload::where('parent_type', 'Packages\Product')->where('uploadable_id', $draft->id)
|
|
|
|
+ ->update(['parent_type' => 'image\Product', 'uploadable_id' => $product->id]);
|
|
$draft->delete();
|
|
$draft->delete();
|
|
|
|
|
|
if ($request->has('gallery_image')) {
|
|
if ($request->has('gallery_image')) {
|
|
@@ -116,13 +115,7 @@ class ProductController extends Controller
|
|
$diskName = 'product';
|
|
$diskName = 'product';
|
|
$this->uploadGallery($file, $diskName, $product, $type);
|
|
$this->uploadGallery($file, $diskName, $product, $type);
|
|
}
|
|
}
|
|
- if ($request->has('featured_image')) {
|
|
|
|
- $info = $request->only(['featureDescription', 'featureCaption']);
|
|
|
|
- $file = $request->file('featured_image');
|
|
|
|
- $type = 'featured_image';
|
|
|
|
- $diskName = 'product';
|
|
|
|
- $this->uploadFeature($file, $diskName, $product, $type, $info);
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
$msg = 'ذخیره محصول با موفقیت انجام شد ';
|
|
$msg = 'ذخیره محصول با موفقیت انجام شد ';
|
|
return redirect(route('products.edit', $product->id))->with('success', $msg);
|
|
return redirect(route('products.edit', $product->id))->with('success', $msg);
|
|
}
|
|
}
|
|
@@ -181,7 +174,8 @@ class ProductController extends Controller
|
|
return back();
|
|
return back();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- public function FeaturedImage(Request $request )
|
|
|
|
|
|
+//****************upload images in the product************************
|
|
|
|
+ public function uploadFeature(Request $request)
|
|
{
|
|
{
|
|
if ($request->has('featured_image')) {
|
|
if ($request->has('featured_image')) {
|
|
|
|
|
|
@@ -189,45 +183,36 @@ class ProductController extends Controller
|
|
$file = $request->file('featured_image');
|
|
$file = $request->file('featured_image');
|
|
$type = 'featured_image';
|
|
$type = 'featured_image';
|
|
$diskName = 'product';
|
|
$diskName = 'product';
|
|
|
|
+ $fileExtension = $file->getClientOriginalExtension();
|
|
|
|
+ $fileMimeType = $file->getMimeType();
|
|
|
|
+ $afterDiskRoot = '/' . jdate()->format('Y') . '/' . jdate()->format('m');
|
|
|
|
+ $fileName = jdate(time())->format('Ymd') . '_' . $file->getClientOriginalName();
|
|
|
|
+ $filePath = storage_path('app/public/' . $diskName . $afterDiskRoot . '/' . $fileName);
|
|
|
|
|
|
- $this->uploadFeature($file, $diskName, $info,$type);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-//****************upload images in the product************************
|
|
|
|
- public function uploadFeature($file, $diskName, $info)
|
|
|
|
- {
|
|
|
|
- $fileExtension = $file->getClientOriginalExtension();
|
|
|
|
- $fileMimeType = $file->getMimeType();
|
|
|
|
- $afterDiskRoot = '/' . jdate()->format('Y') . '/' . jdate()->format('m');
|
|
|
|
- $fileName = jdate(time())->format('Ymd') . '_' . $file->getClientOriginalName();
|
|
|
|
- $filePath = storage_path('app/public/' . $diskName . $afterDiskRoot . '/' . $fileName);
|
|
|
|
-
|
|
|
|
- if (File::exists($filePath)) {
|
|
|
|
- $fileName = time() . '_' . $fileName;
|
|
|
|
|
|
+ if (File::exists($filePath)) {
|
|
|
|
+ $fileName = time() . '_' . $fileName;
|
|
|
|
+ }
|
|
|
|
+ $draft = Draft::orderBy('id', 'Desc')->get()->first();
|
|
|
|
+ $upload = $file->storeAs($afterDiskRoot, $fileName, $diskName);
|
|
|
|
+ $uploadData = [
|
|
|
|
+ 'name' => $fileName,
|
|
|
|
+ 'path' => $upload,
|
|
|
|
+ 'mime_type' => $fileMimeType,
|
|
|
|
+ 'extension' => $fileExtension,
|
|
|
|
+ 'parent_type' => 'packages\product',
|
|
|
|
+ 'uploadable_type' => 'Packages\Product\Models\Product',
|
|
|
|
+ 'uploadable_id' => $draft->id,
|
|
|
|
+ 'type' => $type,
|
|
|
|
+ 'descriptionImg' => $info['featureDescription'],
|
|
|
|
+ 'caption' => $info['featureCaption'],
|
|
|
|
+ ];
|
|
}
|
|
}
|
|
|
|
|
|
- $upload = $file->storeAs( $afterDiskRoot, $fileName, $diskName);
|
|
|
|
- $uploadData = [
|
|
|
|
- 'name' => $fileName,
|
|
|
|
- 'path' => $upload,
|
|
|
|
- 'mime_type' => $fileMimeType,
|
|
|
|
- 'extension' => $fileExtension,
|
|
|
|
- 'parent_type' => 'packages\product',
|
|
|
|
- 'uploadable_type' => 'Packages\Product\Models\Product',
|
|
|
|
- 'uploadable_id' => '1',
|
|
|
|
-// 'type' => "fi",
|
|
|
|
- 'descriptionImg' => $info['featureDescription'],
|
|
|
|
- 'caption' => $info['featureCaption'],
|
|
|
|
- ];
|
|
|
|
-
|
|
|
|
-
|
|
|
|
$uploaded = Upload::create($uploadData);
|
|
$uploaded = Upload::create($uploadData);
|
|
- dd($uploaded);
|
|
|
|
|
|
+
|
|
// $uploaded = $product->uploads()->create($uploadData);
|
|
// $uploaded = $product->uploads()->create($uploadData);
|
|
}
|
|
}
|
|
-// }
|
|
|
|
|
|
+
|
|
|
|
|
|
public function updateFeature($file, $diskName, $product, $type, $info)
|
|
public function updateFeature($file, $diskName, $product, $type, $info)
|
|
{
|
|
{
|