forked from CGM_Public/pretix_original
Show selected add-ons in questions step
This commit is contained in:
@@ -348,7 +348,7 @@ class QuestionsStep(QuestionsViewMixin, CartMixin, TemplateFlowStep):
|
||||
messages.warning(request, _('Please enter your name.'))
|
||||
return False
|
||||
|
||||
for cp in self.positions:
|
||||
for cp in self._positions_for_questions:
|
||||
answ = {
|
||||
aw.question_id: aw.answer for aw in cp.answers.all()
|
||||
}
|
||||
|
||||
@@ -72,6 +72,20 @@
|
||||
<div id="cp{{ pos.id }}"
|
||||
class="panel-collapse collapse in">
|
||||
<div class="panel-body" data-idx="{{ forloop.counter0 }}">
|
||||
{% if pos.addons.all %}
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label">
|
||||
{% trans "Selected add-ons" %}
|
||||
</label>
|
||||
<div class="col-md-9 form-control-text">
|
||||
<ul class="addon-list">
|
||||
{% for a in pos.addons.all %}
|
||||
<li>{{ a.item.name }}{% if a.variation %} – {{ a.variation.value }}{% endif %}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for form in forms %}
|
||||
{% if form.pos.item != pos.item %}
|
||||
{# Add-Ons #}
|
||||
|
||||
@@ -22,8 +22,12 @@ class QuestionsViewMixin:
|
||||
addon_penalty = 1 if pos.addon_to else 0
|
||||
return i, addon_penalty, pos.pk
|
||||
|
||||
@cached_property
|
||||
def _positions_for_questions(self):
|
||||
return sorted(get_cart(self.request), key=self._keyfunc)
|
||||
cart = get_cart(self.request).select_related(
|
||||
'addon_to'
|
||||
).prefetch_related('addons', 'addons__item', 'addons__variation')
|
||||
return sorted(list(cart), key=self._keyfunc)
|
||||
|
||||
@cached_property
|
||||
def forms(self):
|
||||
@@ -33,7 +37,7 @@ class QuestionsViewMixin:
|
||||
submitted at once.
|
||||
"""
|
||||
formlist = []
|
||||
for cr in self._positions_for_questions():
|
||||
for cr in self._positions_for_questions:
|
||||
cartpos = cr if isinstance(cr, CartPosition) else None
|
||||
orderpos = cr if isinstance(cr, OrderPosition) else None
|
||||
form = QuestionsForm(event=self.request.event,
|
||||
|
||||
@@ -40,5 +40,12 @@
|
||||
}
|
||||
.form-group.required .control-label:after {
|
||||
content: '*';
|
||||
color: $brand-primary
|
||||
color: $brand-primary;
|
||||
}
|
||||
.form-control-text {
|
||||
padding-top: 7px;
|
||||
}
|
||||
.addon-list {
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
}
|
||||
Reference in New Issue
Block a user