diff --git a/src/tixlcontrol/templates/tixlcontrol/item/variations_2d.html b/src/tixlcontrol/templates/tixlcontrol/item/variations_2d.html deleted file mode 100644 index f84f92907..000000000 --- a/src/tixlcontrol/templates/tixlcontrol/item/variations_2d.html +++ /dev/null @@ -1,38 +0,0 @@ -{% extends "tixlcontrol/item/base.html" %} -{% load i18n %} -{% load bootstrap3 %} -{% block inside %} -
- {% csrf_token %} - - - - - {% for val in properties.1.values.all %} - - {% endfor %} - - - - {% for sub in forms %} - - - {% for form in sub.forms %} - - {% endfor %} - - {% endfor %} - -
{{ val.value }}
{{ sub.row }} - {% bootstrap_field form.active layout='inline' %} - {% bootstrap_field form.default_price layout='inline' %} - {{ form.default_price.errors }} -
-
- -
-
- -{% endblock %} diff --git a/src/tixlcontrol/templates/tixlcontrol/item/variations_nd.html b/src/tixlcontrol/templates/tixlcontrol/item/variations_nd.html index 3fcfceba1..31dadf8e0 100644 --- a/src/tixlcontrol/templates/tixlcontrol/item/variations_nd.html +++ b/src/tixlcontrol/templates/tixlcontrol/item/variations_nd.html @@ -5,7 +5,9 @@
{% csrf_token %} {% for major in forms %} -

{{ major.row }}

+ {% if major.row %} +

{{ major.row }}

+ {% endif %} @@ -18,7 +20,7 @@ {% for sub in major.forms %} - + {% for form in sub.forms %}
{{ sub.row }}{{ sub.row.value }} {% bootstrap_field form.active layout='inline' %} diff --git a/src/tixlcontrol/views/item.py b/src/tixlcontrol/views/item.py index 835ccf51b..94311edaa 100644 --- a/src/tixlcontrol/views/item.py +++ b/src/tixlcontrol/views/item.py @@ -616,34 +616,8 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView forms.append(form) forms_flat = forms - elif self.dimension == 2: - # For two-dimensional structures we have a grid of forms - # prop1 is the property on the grid's y-axis - prop1 = self.properties[0] - # prop2 is the property on the grid's x-axis - prop2 = self.properties[1] - - # Given a list of variations, this will sort them by their position - # on the x-axis - sort = lambda v: v[prop2.pk].pk - - for val1 in prop1.values.all(): - formrow = [] - # We are now inside a grid row. We iterate over all variations - # which belong in this row and create forms for them. In order - # to achieve this, we select all variation dictionaries which - # have the same value for prop1 as our row does and sort them - # by their value for prop2. - filtered = [v for v in variations if v[prop1.pk].pk == val1.pk] - for variation in sorted(filtered, key=sort): - form = self.get_form(variation, data) - formrow.append(form) - forms_flat.append(form) - - forms.append({'row': val1.value, 'forms': formrow}) - - elif self.dimension > 2: - # For 3 or more dimensional structures we display a list of grids + elif self.dimension >= 2: + # For 2 or more dimensional structures we display a list of grids # of forms # prop1 is the property on all the grid's y-axes @@ -721,9 +695,7 @@ class ItemVariations(ItemDetailMixin, EventPermissionRequiredMixin, TemplateView return ['tixlcontrol/item/variations_0d.html'] elif self.dimension == 1: return ['tixlcontrol/item/variations_1d.html'] - elif self.dimension == 2: - return ['tixlcontrol/item/variations_2d.html'] - elif self.dimension > 2: + elif self.dimension >= 2: return ['tixlcontrol/item/variations_nd.html'] def get_context_data(self, **kwargs):