From 53e1d0d1326de69496872c64043af949a39dc12d Mon Sep 17 00:00:00 2001 From: Shivam Tiwari Date: Wed, 12 Apr 2023 19:09:19 +0530 Subject: [PATCH] issue fixed #87 #85 #78 --- src/Repositories/Products/BookingProductRepository.php | 9 +++++++-- src/Repositories/Products/BundledProductRepository.php | 8 ++++++-- .../Products/ConfigurableProductRepository.php | 5 ++++- .../Products/DownloadableProductRepository.php | 8 ++++++-- src/Repositories/Products/GroupedProductRepository.php | 7 ++++++- src/Repositories/Products/SimpleProductRepository.php | 5 +++++ src/Repositories/Products/VirtualProductRepository.php | 9 +++++++-- 7 files changed, 41 insertions(+), 10 deletions(-) diff --git a/src/Repositories/Products/BookingProductRepository.php b/src/Repositories/Products/BookingProductRepository.php index ff56602..85dfee3 100644 --- a/src/Repositories/Products/BookingProductRepository.php +++ b/src/Repositories/Products/BookingProductRepository.php @@ -7,6 +7,7 @@ use Illuminate\Container\Container as App; use Webkul\Admin\Imports\DataGridImport; use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Event; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; @@ -267,8 +268,10 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['type'] = $csvData['type']; $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; - + Event::dispatch('catalog.product.create.before'); $bookingProductData = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $bookingProductData); + } else { $bookingProductData = $productData; } @@ -416,7 +419,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image request()->request->add(['booking' => $booking]); - $this->productRepository->update($data, $bookingProductData->id); + Event::dispatch('catalog.product.update.before', $bookingProductData->id); + $configBookingProduct = $this->productRepository->update($data, $bookingProductData->id); + Event::dispatch('catalog.product.update.after',$configBookingProduct); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $bookingProductData, $imageZipName); diff --git a/src/Repositories/Products/BundledProductRepository.php b/src/Repositories/Products/BundledProductRepository.php index 48ab5d5..af8af57 100644 --- a/src/Repositories/Products/BundledProductRepository.php +++ b/src/Repositories/Products/BundledProductRepository.php @@ -7,6 +7,7 @@ use Webkul\Core\Eloquent\Repository; use Webkul\Admin\Imports\DataGridImport; use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Event; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; @@ -260,8 +261,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['type'] = $csvData['type']; $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; - + Event::dispatch('catalog.product.create.before'); $bundledProduct = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $bundledProduct); } else { $bundledProduct = $productData; } @@ -393,7 +395,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image return $dataToBeReturn; } - $this->productRepository->update($data, $bundledProduct->id); + Event::dispatch('catalog.product.update.before', $bundledProduct->id); + $configBundledProduct = $this->productRepository->update($data, $bundledProduct->id); + Event::dispatch('catalog.product.update.after',$configBundledProduct); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $bundledProduct, $imageZipName); diff --git a/src/Repositories/Products/ConfigurableProductRepository.php b/src/Repositories/Products/ConfigurableProductRepository.php index 40a1027..5bafb62 100644 --- a/src/Repositories/Products/ConfigurableProductRepository.php +++ b/src/Repositories/Products/ConfigurableProductRepository.php @@ -10,6 +10,7 @@ use Webkul\Category\Repositories\CategoryRepository; use Webkul\Product\Models\ProductAttributeValue; use Webkul\Core\Eloquent\Repository; +use Illuminate\Support\Facades\Event; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; use Webkul\Product\Repositories\ProductRepository; @@ -213,7 +214,9 @@ public function createProduct($requestData, $imageZipName, $product) $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData[$i]['sku']; - $product = $this->bulkProductRepository->create($data); + Event::dispatch('catalog.product.create.before'); + $configSimpleproduct = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $configSimpleproduct); } else { $product = $productData; } diff --git a/src/Repositories/Products/DownloadableProductRepository.php b/src/Repositories/Products/DownloadableProductRepository.php index 13f2b29..827ac8c 100644 --- a/src/Repositories/Products/DownloadableProductRepository.php +++ b/src/Repositories/Products/DownloadableProductRepository.php @@ -8,6 +8,7 @@ use Illuminate\Support\Facades\Log; use Webkul\Admin\Imports\DataGridImport; use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Event; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; @@ -318,8 +319,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['type'] = $csvData['type']; $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; - + Event::dispatch('catalog.product.create.before'); $downloadableProduct = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $downloadableProduct); } else { $downloadableProduct = $productData; } @@ -588,7 +590,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image return $dataToBeReturn; } - $this->productRepository->update($data, $downloadableProduct->id); + Event::dispatch('catalog.product.update.before', $downloadableProduct->id); + $configDownloadableProduct = $this->productRepository->update($data, $downloadableProduct->id); + Event::dispatch('catalog.product.update.after',$configDownloadableProduct); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $downloadableProduct, $imageZipName); diff --git a/src/Repositories/Products/GroupedProductRepository.php b/src/Repositories/Products/GroupedProductRepository.php index c12b99a..71ed05c 100644 --- a/src/Repositories/Products/GroupedProductRepository.php +++ b/src/Repositories/Products/GroupedProductRepository.php @@ -7,6 +7,7 @@ use Webkul\Admin\Imports\DataGridImport; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Core\Eloquent\Repository; +use Illuminate\Support\Facades\Event; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; use Webkul\Product\Repositories\ProductRepository; @@ -268,7 +269,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; + Event::dispatch('catalog.product.create.before'); $groupedProduct = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $groupedProduct); } else { $groupedProduct = $productData; } @@ -429,7 +432,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image return $dataToBeReturn; } - $this->productRepository->update($data, $groupedProduct->id); + Event::dispatch('catalog.product.update.before', $groupedProduct->id); + $configGroupedProduct = $this->productRepository->update($data, $groupedProduct->id); + Event::dispatch('catalog.product.update.after',$configGroupedProduct); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $groupedProduct, $imageZipName); diff --git a/src/Repositories/Products/SimpleProductRepository.php b/src/Repositories/Products/SimpleProductRepository.php index 07f812e..8a4227f 100644 --- a/src/Repositories/Products/SimpleProductRepository.php +++ b/src/Repositories/Products/SimpleProductRepository.php @@ -7,6 +7,7 @@ use Webkul\Admin\Imports\DataGridImport; use Illuminate\Support\Facades\Validator; use Webkul\Core\Eloquent\Repository; +use Illuminate\Support\Facades\Event; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; @@ -281,7 +282,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; + Event::dispatch('catalog.product.create.before'); $simpleproductData = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $simpleproductData); } else { $simpleproductData = $productData; } @@ -438,7 +441,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image return $dataToBeReturn; } + Event::dispatch('catalog.product.update.before', $simpleproductData->id); $configSimpleProductAttributeStore = $this->productRepository->update($data, $simpleproductData->id); + Event::dispatch('catalog.product.update.after',$configSimpleProductAttributeStore); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $simpleproductData, $imageZipName); diff --git a/src/Repositories/Products/VirtualProductRepository.php b/src/Repositories/Products/VirtualProductRepository.php index 852b973..50191b2 100644 --- a/src/Repositories/Products/VirtualProductRepository.php +++ b/src/Repositories/Products/VirtualProductRepository.php @@ -8,6 +8,7 @@ use Webkul\Core\Eloquent\Repository; use Webkul\Admin\Imports\DataGridImport; use Illuminate\Support\Facades\Validator; +use Illuminate\Support\Facades\Event; use Webkul\Category\Repositories\CategoryRepository; use Webkul\Bulkupload\Repositories\ImportProductRepository; use Webkul\Product\Repositories\ProductFlatRepository; @@ -278,8 +279,10 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image $data['type'] = $csvData['type']; $data['attribute_family_id'] = $attributeFamilyData->id; $data['sku'] = $csvData['sku']; - + Event::dispatch('catalog.product.create.before'); $virtualProductData = $this->productRepository->create($data); + Event::dispatch('catalog.product.create.after', $virtualProductData); + } else { $virtualProductData = $productData; } @@ -426,7 +429,9 @@ public function store($csvData, $i, $dataFlowProfileRecord, $requestData, $image return $dataToBeReturn; } - $this->productRepository->update($data, $virtualProductData->id); + Event::dispatch('catalog.product.update.before', $virtualProductData->id); + $configVirtualProduct = $this->productRepository->update($data, $virtualProductData->id); + Event::dispatch('catalog.product.update.after',$configVirtualProduct); if (isset($imageZipName)) { $this->productImageRepository->bulkuploadImages($data, $virtualProductData, $imageZipName);