def add_step(request, property_id): """Adds a step to property with passed property id resp. updates steps of property with passed property id dependent on the given action parameter. """ if request.POST.get("action") == "add": start = request.POST.get("start", "") if start != "": FilterStep.objects.create(start=start, property_id=property_id) message = _(u"Step has been added.") else: for step_id in request.POST.getlist("step"): try: step = FilterStep.objects.get(pk=step_id) except FilterStep.DoesNotExist: pass else: step.start = request.POST.get("start-%s" % step_id, "") step.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') message = _(u"Steps have been updated.") html = [["#steps", steps_inline(request, property_id)]] result = simplejson.dumps({ "html": html, "message": message, }, cls=LazyEncoder) return HttpResponse(result)
def add_step(request, property_id): """Adds a step to property with passed property id resp. updates steps of property with passed property id dependent on the given action parameter. """ if request.POST.get("action") == "add": start = request.POST.get("start", "") if start != "": FilterStep.objects.create(start=start, property_id=property_id) message = _(u"Step has been added.") else: for step_id in request.POST.getlist("step"): try: step = FilterStep.objects.get(pk=step_id) except FilterStep.DoesNotExist: pass else: step.start = request.POST.get("start-%s" % step_id, "") step.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') message = _(u"Steps have been updated.") html = [["#steps", steps_inline(request, property_id)]] result = json.dumps({ "html": html, "message": message, }, cls=LazyEncoder) return HttpResponse(result, content_type='application/json')
def add_option(request, property_id): """Adds option to property with passed property id. """ property = get_object_or_404(Property, pk=property_id) if request.POST.get("action") == "add": name = request.POST.get("name", "") price = request.POST.get("price", "") try: price = float(price) except ValueError: price = 0.0 if name != "": option = PropertyOption.objects.create(name=name, price=price, property_id=property_id) message = _(u"Option has been added.") else: message = _(u"Option could not be added.") else: for option_id in request.POST.getlist("option"): try: option = PropertyOption.objects.get(pk=option_id) except PropertyOption.DoesNotExist: pass else: try: price = float(request.POST.get("price-%s" % option_id, "")) except ValueError: price = 0.0 try: position = int( request.POST.get("position-%s" % option_id, 99)) except ValueError: position = 99 option.position = position option.name = request.POST.get("name-%s" % option_id, "") option.price = price option.save() message = _(u"Options have been updated.") _update_positions(property) # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') html = [["#options", options_inline(request, property_id)]] result = simplejson.dumps({ "html": html, "message": message }, cls=LazyEncoder) return HttpResponse(result, mimetype='application/json')
def save_select_field(request, property_id): """Saves the data of a property select field. """ property = get_object_or_404(Property, pk=property_id) form = SelectFieldForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') return HttpResponseRedirect(request.META.get("HTTP_REFERER"))
def add_option(request, property_id): """Adds option to property with passed property id. """ property = get_object_or_404(Property, pk=property_id) if request.POST.get("action") == "add": name = request.POST.get("name", "") price = request.POST.get("price", "") try: price = float(price) except ValueError: price = 0.0 if name != "": option = PropertyOption.objects.create(name=name, price=price, property_id=property_id) message = _(u"Option has been added.") else: message = _(u"Option could not be added.") else: for option_id in request.POST.getlist("option"): try: option = PropertyOption.objects.get(pk=option_id) except PropertyOption.DoesNotExist: pass else: try: price = float(request.POST.get("price-%s" % option_id, "")) except ValueError: price = 0.0 try: position = int(request.POST.get("position-%s" % option_id, 99)) except ValueError: position = 99 option.position = position option.name = request.POST.get("name-%s" % option_id, "") option.price = price option.save() message = _(u"Options have been updated.") _update_positions(property) # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') html = [["#options", options_inline(request, property_id)]] result = simplejson.dumps({ "html": html, "message": message }, cls=LazyEncoder) return HttpResponse(result)
def save_number_field_validators(request, property_id): """Saves the validators for the property with passed property_id. """ property = get_object_or_404(Property, pk=property_id) form = NumberFieldForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') response = HttpResponseRedirect(request.META.get("HTTP_REFERER")) return lfs.core.utils.set_message_to(response, _(u"Validators have been saved."))
def delete_property(request, id): """Deletes the property with given id. """ try: property = Property.objects.get(pk=id) except Property.DoesNotExist: url = request.META.get("HTTP_REFERER", reverse("lfs_manage_shop_property")) else: property.delete() _update_property_positions() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') url = reverse("lfs_manage_shop_properties") return HttpResponseRedirect(url)
def save_step_range(request, property_id): """Save the steps of the property with given id. """ property = get_object_or_404(Property, pk=property_id) form = StepRangeForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') result = simplejson.dumps({ "message": _(u"Step range has been saved."), }, cls=LazyEncoder) return HttpResponse(result)
def delete_option(request, id): """Deletes option with given id. """ try: option = PropertyOption.objects.get(pk=id) except option.DoesNotExist: url = request.META.get("HTTP_REFERER", reverse("lfs_manage_shop_property")) else: property = option.property url = reverse("lfs_manage_shop_property", kwargs={"id": property.id}) option.delete() _update_positions(property) # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') return HttpResponseRedirect(url)
def delete_step(request, id): """Deletes step with given id. """ try: step = FilterStep.objects.get(pk=id) except FilterStep.DoesNotExist: url = request.META.get("HTTP_REFERER", reverse("lfs_manage_shop_property")) else: prop = step.property url = reverse("lfs_manage_shop_property", kwargs={"id": prop.id}) step.delete() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') response = HttpResponseRedirect(url) return lfs.core.utils.set_message_to(response, _(u"The step has been saved."))
def save_step_range(request, property_id): """Save the steps of the property with given id. """ property = get_object_or_404(Property, pk=property_id) form = StepRangeForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') result = json.dumps({ "message": _(u"Step range has been saved."), }, cls=LazyEncoder) return HttpResponse(result, content_type='application/json')
def delete_step(request, id): """Deletes step with given id. """ try: step = FilterStep.objects.get(pk=id) except FilterStep.DoesNotExist: url = request.META.get("HTTP_REFERER", reverse("lfs_manage_shop_property")) else: property = step.property url = reverse("lfs_manage_shop_property", kwargs={"id": property.id}) step.delete() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') response = HttpResponseRedirect(url) return lfs.core.utils.set_message_to(response, _(u"The step has been saved."))
def save_step_type(request, property_id): """Save the step type of the property with given id. """ property = get_object_or_404(Property, pk=property_id) form = StepTypeForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') html = [["#steps", steps_inline(request, property_id)]] result = json.dumps({ "html": html, "message": _(u"Step type has been saved."), }, cls=LazyEncoder) return HttpResponse(result, mimetype='application/json')
def save_step_type(request, property_id): """Save the step type of the property with given id. """ property = get_object_or_404(Property, pk=property_id) form = StepTypeForm(instance=property, data=request.POST) property = form.save() # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') html = [["#steps", steps_inline(request, property_id)]] result = simplejson.dumps({ "html": html, "message": _(u"Step type has been saved."), }, cls=LazyEncoder) return HttpResponse(result)
def update_property_type(request, id): """Updates the type of the property. This is separated from the data, because a change of type causes a deletion of product property values """ prop = get_object_or_404(Property, pk=id) old_type = prop.type form = PropertyTypeForm(instance=prop, data=request.POST) new_property = form.save() # Send signal only when the type changed as all values are deleted. if old_type != new_property.type: property_type_changed.send(prop) # invalidate global properties version number (all product property caches will be invalidated) invalidate_cache_group_id('global-properties-version') return lfs.core.utils.set_message_cookie( url=reverse("lfs_manage_shop_property", kwargs={"id": prop.id}), msg=_(u"Property type has been changed."), )