category_type refactoring

This commit is contained in:
Mira Weller
2024-06-21 18:03:01 +02:00
parent 01b535a0af
commit d04b855cce
3 changed files with 18 additions and 19 deletions

View File

@@ -106,7 +106,7 @@ class CategoryForm(I18nModelForm):
_('Combined category'), _('Products in this category are regular products displayed on the front page, '
'but are additionally shown in the cross-selling step, according to the configuration below.'))),),
))
self.fields['category_type'].initial = 'addon' if self.instance.is_addon else (self.instance.cross_selling_mode or 'normal')
self.fields['category_type'].initial = self.instance.category_type
self.fields['cross_selling_condition'].widget.attrs['data-display-dependency'] = '#id_category_type_2,#id_category_type_3'
self.fields['cross_selling_condition'].widget.attrs['data-disable-dependent'] = 'true'
@@ -131,14 +131,7 @@ class CategoryForm(I18nModelForm):
if d.get('category_type') == 'only' or d.get('category_type') == 'both':
if not d.get('cross_selling_condition'):
raise ValidationError({'cross_selling_condition': [_('This field is required')]})
self.instance.cross_selling_mode = d.get('category_type')
else:
self.instance.cross_selling_mode = None
if d.get('category_type') == 'only' or d.get('category_type') == 'both' or d.get('category_type') == 'normal':
self.instance.is_addon = False
elif d.get('category_type') == 'addon':
self.instance.is_addon = True
d['category_type'] = 'normal'
self.instance.category_type = d.get('category_type')
return d

View File

@@ -42,11 +42,7 @@
<strong><a href="{% url "control:event.items.categories.edit" organizer=request.event.organizer.slug event=request.event.slug category=c.id %}">{{ c.internal_name|default:c.name }}</a></strong>
</td>
<td>
{% if c.is_addon %}{% trans "Add-on product category" %}
{% elif c.cross_selling_mode is None %}{% trans "Normal category" %}
{% elif c.cross_selling_mode == 'both' %}{% trans "Combined category" %}
{% elif c.cross_selling_mode == 'only' %}{% trans "Cross-selling category" %}
{% endif %}
{{ c.get_category_type_display }}
</td>
<td class="text-right flip">
<button title="{% trans "Move up" %}" formaction="{% url "control:event.items.categories.up" organizer=request.event.organizer.slug event=request.event.slug category=c.id %}" class="btn btn-default btn-sm sortable-up"{% if forloop.counter0 == 0 and not page_obj.has_previous %} disabled{% endif %}><i class="fa fa-arrow-up"></i></button>