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.'))
|
messages.warning(request, _('Please enter your name.'))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
for cp in self.positions:
|
for cp in self._positions_for_questions:
|
||||||
answ = {
|
answ = {
|
||||||
aw.question_id: aw.answer for aw in cp.answers.all()
|
aw.question_id: aw.answer for aw in cp.answers.all()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,6 +72,20 @@
|
|||||||
<div id="cp{{ pos.id }}"
|
<div id="cp{{ pos.id }}"
|
||||||
class="panel-collapse collapse in">
|
class="panel-collapse collapse in">
|
||||||
<div class="panel-body" data-idx="{{ forloop.counter0 }}">
|
<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 %}
|
{% for form in forms %}
|
||||||
{% if form.pos.item != pos.item %}
|
{% if form.pos.item != pos.item %}
|
||||||
{# Add-Ons #}
|
{# Add-Ons #}
|
||||||
|
|||||||
@@ -22,8 +22,12 @@ class QuestionsViewMixin:
|
|||||||
addon_penalty = 1 if pos.addon_to else 0
|
addon_penalty = 1 if pos.addon_to else 0
|
||||||
return i, addon_penalty, pos.pk
|
return i, addon_penalty, pos.pk
|
||||||
|
|
||||||
|
@cached_property
|
||||||
def _positions_for_questions(self):
|
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
|
@cached_property
|
||||||
def forms(self):
|
def forms(self):
|
||||||
@@ -33,7 +37,7 @@ class QuestionsViewMixin:
|
|||||||
submitted at once.
|
submitted at once.
|
||||||
"""
|
"""
|
||||||
formlist = []
|
formlist = []
|
||||||
for cr in self._positions_for_questions():
|
for cr in self._positions_for_questions:
|
||||||
cartpos = cr if isinstance(cr, CartPosition) else None
|
cartpos = cr if isinstance(cr, CartPosition) else None
|
||||||
orderpos = cr if isinstance(cr, OrderPosition) else None
|
orderpos = cr if isinstance(cr, OrderPosition) else None
|
||||||
form = QuestionsForm(event=self.request.event,
|
form = QuestionsForm(event=self.request.event,
|
||||||
|
|||||||
@@ -40,5 +40,12 @@
|
|||||||
}
|
}
|
||||||
.form-group.required .control-label:after {
|
.form-group.required .control-label:after {
|
||||||
content: '*';
|
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