From ddbb10590d3b511f22399ec86edb57645147229e Mon Sep 17 00:00:00 2001 From: AndreiMaz Date: Mon, 26 Dec 2016 15:03:58 +0300 Subject: [PATCH] #1673 Warning on adding associated product which is gift card or downloadable one --- .../Controllers/ProductController.cs | 28 +++++++++++++++---- ...CreateOrUpdateProductAttributeValue.cshtml | 4 +-- .../Localization/defaultResources.nopres.xml | 6 ++++ .../3.80-the next version/upgrade.sql | 6 ++++ 4 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/Presentation/Nop.Web/Administration/Controllers/ProductController.cs b/src/Presentation/Nop.Web/Administration/Controllers/ProductController.cs index f4546dfcaf3..243dd2502e0 100644 --- a/src/Presentation/Nop.Web/Administration/Controllers/ProductController.cs +++ b/src/Presentation/Nop.Web/Administration/Controllers/ProductController.cs @@ -4353,17 +4353,33 @@ public ActionResult AssociateProductToAttributeValuePopup(string productIdInput, return View(model); } - //action displaying notification (warning) to a store owner that associated product has attributes + //action displaying notification (warning) to a store owner when associating some product [ValidateInput(false)] - public ActionResult AssociatedProductHasAttributes(int productId) + public ActionResult AssociatedProductGetWarnings(int productId) { var associatedProduct = _productService.GetProductById(productId); - if (associatedProduct != null && associatedProduct.ProductAttributeMappings.Any()) + if (associatedProduct != null) { - if (associatedProduct.ProductAttributeMappings.Any(attribute => attribute.IsRequired)) - return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.HasRequiredAttributes") }, JsonRequestBehavior.AllowGet); + //attributes + if (associatedProduct.ProductAttributeMappings.Any()) + { + if (associatedProduct.ProductAttributeMappings.Any(attribute => attribute.IsRequired)) + return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.HasRequiredAttributes") }, JsonRequestBehavior.AllowGet); - return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.HasAttributes") }, JsonRequestBehavior.AllowGet); + return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.HasAttributes") }, JsonRequestBehavior.AllowGet); + } + + //gift card + if (associatedProduct.IsGiftCard) + { + return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.GiftCard") }, JsonRequestBehavior.AllowGet); + } + + //downloaable product + if (associatedProduct.IsDownload) + { + return Json(new { Result = _localizationService.GetResource("Admin.Catalog.Products.ProductAttributes.Attributes.Values.Fields.AssociatedProduct.Downloadable") }, JsonRequestBehavior.AllowGet); + } } return Json(new { Result = string.Empty }, JsonRequestBehavior.AllowGet); diff --git a/src/Presentation/Nop.Web/Administration/Views/Product/_CreateOrUpdateProductAttributeValue.cshtml b/src/Presentation/Nop.Web/Administration/Views/Product/_CreateOrUpdateProductAttributeValue.cshtml index 29fc10dc2b2..9d7be71e24c 100644 --- a/src/Presentation/Nop.Web/Administration/Views/Product/_CreateOrUpdateProductAttributeValue.cshtml +++ b/src/Presentation/Nop.Web/Administration/Views/Product/_CreateOrUpdateProductAttributeValue.cshtml @@ -87,11 +87,11 @@ diff --git a/src/Presentation/Nop.Web/App_Data/Localization/defaultResources.nopres.xml b/src/Presentation/Nop.Web/App_Data/Localization/defaultResources.nopres.xml index 6a26ebe8df4..0212169761c 100644 --- a/src/Presentation/Nop.Web/App_Data/Localization/defaultResources.nopres.xml +++ b/src/Presentation/Nop.Web/App_Data/Localization/defaultResources.nopres.xml @@ -3465,6 +3465,12 @@ Choose an associated product + + The associated product is downoadable, keep in mind that won't be able to download it. + + + The associated product is a gift card, keep in mind that customers can not specify its details in the product details page. + The associated product has attributes, keep in mind that customers can not select them in the product details page. diff --git a/upgradescripts/3.80-the next version/upgrade.sql b/upgradescripts/3.80-the next version/upgrade.sql index 4eb41b54fbf..da95696f7f3 100644 --- a/upgradescripts/3.80-the next version/upgrade.sql +++ b/upgradescripts/3.80-the next version/upgrade.sql @@ -1112,6 +1112,12 @@ set @resources=' The associated product has required product attributes, so customers won''t be able to choose this product attribute value. + + The associated product is downoadable, keep in mind that won''t be able to download it. + + + The associated product is a gift card, keep in mind that customers can not specify its details in the product details page. + '