Allow attendees to modify their data (Z#23152886) (#4138)

* Allow attendees to modify their data

* Allow attendees to change ticket information

* Update src/pretix/control/templates/pretixcontrol/event/settings.html

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/presale/views/order.py

Co-authored-by: Mira <weller@rami.io>

* Update src/pretix/base/services/placeholders.py

Co-authored-by: Mira <weller@rami.io>

* Tests fix

* Fix test

---------

Co-authored-by: Mira <weller@rami.io>
This commit is contained in:
Raphael Michel
2024-05-08 15:18:33 +02:00
committed by GitHub
parent aa55eb2de2
commit e8f7cea1bf
12 changed files with 347 additions and 28 deletions

View File

@@ -29,6 +29,11 @@
<div class="panel-heading">
<h3 class="panel-title">
{% trans "Your items" %}
{% if position.can_modify_answers %}
<a href="{% eventurl event "presale:event.order.position.modify" secret=position.web_secret position=position.positionid order=order.code %}" aria-label="{% trans "Change ordered items" %}" class="h6">
<span class="fa fa-edit" aria-hidden="true"></span>{% trans "Change details" %}
</a>
{% endif %}
</h3>
</div>
<div class="panel-body">

View File

@@ -0,0 +1,55 @@
{% extends "pretixpresale/event/base.html" %}
{% load i18n %}
{% load bootstrap3 %}
{% load rich_text %}
{% block title %}{% trans "Modify ticket" %}{% endblock %}
{% block content %}
<h2>
{% blocktrans trimmed %}
Modify ticket
{% endblocktrans %}
</h2>
<form class="form-horizontal" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="panel-group" id="questions_accordion">
{% for pos, forms in formgroups %}
<details class="panel panel-default" open>
<summary class="panel-heading">
<h4 class="panel-title">
<strong>{{ pos.item.name }}{% if pos.variation %}
{{ pos.variation }}
{% endif %}</strong>
</h4>
</summary>
<div id="cp{{ pos.id }}">
<div class="panel-body questions-form">
{% for form in forms %}
{% if form.pos.item != pos.item %}
{# Add-Ons #}
<legend>+ {{ form.pos.item.name }}{% if form.pos.variation %}
{{ form.pos.variation.value }}
{% endif %}</legend>
{% endif %}
{% bootstrap_form form layout="checkout" %}
{% endfor %}
</div>
</div>
</details>
{% endfor %}
</div>
<div class="row checkout-button-row">
<div class="col-md-4">
<a class="btn btn-block btn-default btn-lg"
href="{{ view.get_position_url }}">
{% trans "Cancel" %}
</a>
</div>
<div class="col-md-4 col-md-offset-4">
<button class="btn btn-block btn-primary btn-lg" type="submit">
{% trans "Save changes" %}
</button>
</div>
<div class="clearfix"></div>
</div>
</form>
{% endblock %}