def addVariants(self): """ """ putils = getToolByName(self.context, "plone_utils") title = self.request.get("title", "") url = self.context.absolute_url() + "/manage-variants-view" if not title: putils.addPortalMessage("Please provide a variant title") return self.request.response.redirect(url) article_id = self.request.get("article_id", "") price = self.request.get("price", 0.0) try: price = float(price) except ValueError: price = 0.0 properties = self._getPropertiesAsList() pvm = IProductVariantsManagement(self.context) result = pvm.addVariants(properties, title, article_id, price) if result == False: putils.addPortalMessage(MESSAGES["VARIANT_ALREADY_EXISTS"]) else: putils.addPortalMessage(MESSAGES["VARIANT_ADDED"]) self.request.response.redirect(url)