Added option to show remaining quota to users

This commit is contained in:
Raphael Michel
2016-03-22 18:39:28 +01:00
parent 4110c1c77a
commit 9c44159bb6
12 changed files with 216 additions and 150 deletions

View File

@@ -101,6 +101,10 @@ DEFAULTS = {
'default': 'True', 'default': 'True',
'type': bool 'type': bool
}, },
'show_quota_left': {
'default': 'False',
'type': bool
},
'ticket_download': { 'ticket_download': {
'default': 'False', 'default': 'False',
'type': bool 'type': bool

View File

@@ -125,6 +125,11 @@ class EventSettingsForm(SettingsForm):
choices=settings.LANGUAGES, choices=settings.LANGUAGES,
label=_("Default language"), label=_("Default language"),
) )
show_quota_left = forms.BooleanField(
label=_("Show number of tickets left"),
help_text=_("Publicly show how many tickets of a certain type are still available."),
required=False
)
attendee_names_asked = forms.BooleanField( attendee_names_asked = forms.BooleanField(
label=_("Ask for attendee names"), label=_("Ask for attendee names"),
help_text=_("Ask for a name for all tickets which include admission to the event."), help_text=_("Ask for a name for all tickets which include admission to the event."),

View File

@@ -23,6 +23,7 @@
{% bootstrap_field sform.show_times layout="horizontal" %} {% bootstrap_field sform.show_times layout="horizontal" %}
{% bootstrap_field sform.contact_mail layout="horizontal" %} {% bootstrap_field sform.contact_mail layout="horizontal" %}
{% bootstrap_field sform.imprint_url layout="horizontal" %} {% bootstrap_field sform.imprint_url layout="horizontal" %}
{% bootstrap_field sform.show_quota_left layout="horizontal" %}
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>{% trans "Timeline" %}</legend> <legend>{% trans "Timeline" %}</legend>

View File

@@ -9,7 +9,7 @@
<span class="label label-success">{% trans "Unlimited" %}</span> <span class="label label-success">{% trans "Unlimited" %}</span>
{% endif %} {% endif %}
{% elif availability.0 == 20 %} {% elif availability.0 == 20 %}
<span class="label label-warning">{% trans "Sold out (or reserved)" %}</span> <span class="label label-warning">{% trans "Fully reserved" %}</span>
{% elif availability.0 == 0 %} {% elif availability.0 == 0 %}
<span class="label label-danger">{% trans "Sold out" %}</span> <span class="label label-danger">{% trans "Sold out" %}</span>
{% endif %} {% endif %}

View File

@@ -30,7 +30,7 @@
{% endfor %} {% endfor %}
</ul> </ul>
</td> </td>
<td>{{ q.size }}</td> <td>{% if q.size == None %}Unlimited{% else %}{{ q.size }}{% endif %}</td>
<td>{% include "pretixcontrol/items/fragment_quota_availability.html" with availability=q.availability %}</td> <td>{% include "pretixcontrol/items/fragment_quota_availability.html" with availability=q.availability %}</td>
<td class="text-right"><a href="{% url "control:event.items.quotas.delete" organizer=request.event.organizer.slug event=request.event.slug quota=q.id %}" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></a></td> <td class="text-right"><a href="{% url "control:event.items.quotas.delete" organizer=request.event.organizer.slug event=request.event.slug quota=q.id %}" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></a></td>
</tr> </tr>

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 1\n" "Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-22 12:09+0000\n" "POT-Creation-Date: 2016-03-22 17:39+0000\n"
"PO-Revision-Date: 2016-03-22 13:10+0100\n" "PO-Revision-Date: 2016-03-22 18:39+0100\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n" "Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: Raphael Michel <michel@rami.io>\n" "Language-Team: Raphael Michel <michel@rami.io>\n"
"Language: de\n" "Language: de\n"
@@ -33,7 +33,7 @@ msgid "E-mail"
msgstr "E-Mail" msgstr "E-Mail"
#: pretix/base/forms/auth.py:14 pretix/base/forms/auth.py:77 #: pretix/base/forms/auth.py:14 pretix/base/forms/auth.py:77
#: pretix/base/forms/auth.py:113 pretix/control/forms/event.py:277 #: pretix/base/forms/auth.py:113 pretix/control/forms/event.py:282
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
@@ -566,7 +566,7 @@ msgstr "Bestellung"
#: pretix/base/models/orders.py:149 #: pretix/base/models/orders.py:149
#: pretix/control/templates/pretixcontrol/event/base.html:102 #: pretix/control/templates/pretixcontrol/event/base.html:102
#: pretix/control/templates/pretixcontrol/event/settings.html:39 #: pretix/control/templates/pretixcontrol/event/settings.html:40
#: pretix/control/templates/pretixcontrol/orders/index.html:3 #: pretix/control/templates/pretixcontrol/orders/index.html:3
#: pretix/control/templates/pretixcontrol/orders/index.html:5 #: pretix/control/templates/pretixcontrol/orders/index.html:5
msgid "Orders" msgid "Orders"
@@ -703,7 +703,7 @@ msgstr "Veranstalter-Berechtigungen"
#: pretix/base/models/vouchers.py:28 #: pretix/base/models/vouchers.py:28
#: pretix/control/templates/pretixcontrol/vouchers/index.html:14 #: pretix/control/templates/pretixcontrol/vouchers/index.html:14
#: pretix/presale/templates/pretixpresale/event/index.html:170 #: pretix/presale/templates/pretixpresale/event/index.html:176
msgid "Voucher code" msgid "Voucher code"
msgstr "Gutscheincode" msgstr "Gutscheincode"
@@ -1096,7 +1096,7 @@ msgstr "Unkategorisiert"
msgid "Payment method fees" msgid "Payment method fees"
msgstr "Zahlungsgebühren" msgstr "Zahlungsgebühren"
#: pretix/base/settings.py:134 #: pretix/base/settings.py:138
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1122,7 +1122,7 @@ msgstr ""
"Viele Grüße,\n" "Viele Grüße,\n"
"Das {event} Team" "Das {event} Team"
#: pretix/base/settings.py:147 #: pretix/base/settings.py:151
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1151,7 +1151,7 @@ msgstr ""
"Viele Grüße,\n" "Viele Grüße,\n"
"Das {event}s Team" "Das {event}s Team"
#: pretix/base/settings.py:162 #: pretix/base/settings.py:166
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1425,49 +1425,59 @@ msgid "Default language"
msgstr "Standardsprache" msgstr "Standardsprache"
#: pretix/control/forms/event.py:129 #: pretix/control/forms/event.py:129
msgid "Show number of tickets left"
msgstr "Zeige Anzahl verbleibender Tickets"
#: pretix/control/forms/event.py:130
msgid "Publicly show how many tickets of a certain type are still available."
msgstr ""
"Zeige öffentlich an, wie viele Tickets des jeweiligen Typs noch verfügbar "
"sind."
#: pretix/control/forms/event.py:134
msgid "Ask for attendee names" msgid "Ask for attendee names"
msgstr "Namen der Teilnehmer erfragen" msgstr "Namen der Teilnehmer erfragen"
#: pretix/control/forms/event.py:130 #: pretix/control/forms/event.py:135
msgid "Ask for a name for all tickets which include admission to the event." msgid "Ask for a name for all tickets which include admission to the event."
msgstr "Frage für alle Eintritts-Tickets nach dem Namen des Teilnehmers." msgstr "Frage für alle Eintritts-Tickets nach dem Namen des Teilnehmers."
#: pretix/control/forms/event.py:134 #: pretix/control/forms/event.py:139
msgid "Require attendee names" msgid "Require attendee names"
msgstr "Namen des Teilnehmer erfordern" msgstr "Namen des Teilnehmer erfordern"
#: pretix/control/forms/event.py:135 #: pretix/control/forms/event.py:140
msgid "Require customers to fill in the names of all attendees." msgid "Require customers to fill in the names of all attendees."
msgstr "Erfordere die Eingabe aller Teilnehmer-Namen." msgstr "Erfordere die Eingabe aller Teilnehmer-Namen."
#: pretix/control/forms/event.py:139 #: pretix/control/forms/event.py:144
msgid "Ask for invoice address" msgid "Ask for invoice address"
msgstr "Rechnungsadresse erfragen" msgstr "Rechnungsadresse erfragen"
#: pretix/control/forms/event.py:143 #: pretix/control/forms/event.py:148
msgid "Require invoice address" msgid "Require invoice address"
msgstr "Rechnungsadresse erforderlich" msgstr "Rechnungsadresse erforderlich"
#: pretix/control/forms/event.py:147 #: pretix/control/forms/event.py:152
msgid "Ask for VAT ID" msgid "Ask for VAT ID"
msgstr "Nach USt-ID fragen" msgstr "Nach USt-ID fragen"
#: pretix/control/forms/event.py:148 #: pretix/control/forms/event.py:153
msgid "" msgid ""
"Does only work if an invoice address is asked for. VAT ID is not required." "Does only work if an invoice address is asked for. VAT ID is not required."
msgstr "" msgstr ""
"Funktioniert nur, wenn nach einer Rechnungsadresse gefragt wird. Die USt-ID-" "Funktioniert nur, wenn nach einer Rechnungsadresse gefragt wird. Die USt-ID-"
"Eingabe ist freiwillig." "Eingabe ist freiwillig."
#: pretix/control/forms/event.py:152 #: pretix/control/forms/event.py:157
msgid "Generate invoices" msgid "Generate invoices"
msgstr "Rechnungen ausstellen" msgstr "Rechnungen ausstellen"
#: pretix/control/forms/event.py:157 #: pretix/control/forms/event.py:162
msgid "Your address" msgid "Your address"
msgstr "Ihre Adresse" msgstr "Ihre Adresse"
#: pretix/control/forms/event.py:158 #: pretix/control/forms/event.py:163
msgid "" msgid ""
"Will be printed as the sender on invoices. Be sure to include relevant " "Will be printed as the sender on invoices. Be sure to include relevant "
"details required in your jurisdiction (e.g. your VAT ID)." "details required in your jurisdiction (e.g. your VAT ID)."
@@ -1475,72 +1485,72 @@ msgstr ""
"Wird als Absender auf Rechnungen gedruckt. Denken Sie daran, alle rechtlich " "Wird als Absender auf Rechnungen gedruckt. Denken Sie daran, alle rechtlich "
"erforderlichen Merkmale aufzuführen, z.B. Ihre USt-ID oder Steuernummer." "erforderlichen Merkmale aufzuführen, z.B. Ihre USt-ID oder Steuernummer."
#: pretix/control/forms/event.py:163 #: pretix/control/forms/event.py:168
msgid "Additional text" msgid "Additional text"
msgstr "Zusätzlicher Text" msgstr "Zusätzlicher Text"
#: pretix/control/forms/event.py:164 #: pretix/control/forms/event.py:169
msgid "Will be printed on every invoice below the invoice total." msgid "Will be printed on every invoice below the invoice total."
msgstr "Wird auf jeder Rechnung unterhalb des Gesamtbetrages gedruckt." msgstr "Wird auf jeder Rechnung unterhalb des Gesamtbetrages gedruckt."
#: pretix/control/forms/event.py:168 #: pretix/control/forms/event.py:173
msgid "Invoice language" msgid "Invoice language"
msgstr "Rechnungssprache" msgstr "Rechnungssprache"
#: pretix/control/forms/event.py:169 #: pretix/control/forms/event.py:174
msgid "The user's language" msgid "The user's language"
msgstr "Sprache des Benutzers" msgstr "Sprache des Benutzers"
#: pretix/control/forms/event.py:173 #: pretix/control/forms/event.py:178
msgid "Maximum number of items per order" msgid "Maximum number of items per order"
msgstr "Maximale Anzahl Produkte pro Bestellung" msgstr "Maximale Anzahl Produkte pro Bestellung"
#: pretix/control/forms/event.py:177 #: pretix/control/forms/event.py:182
msgid "Reservation period" msgid "Reservation period"
msgstr "Reservierungszeitraum" msgstr "Reservierungszeitraum"
#: pretix/control/forms/event.py:178 #: pretix/control/forms/event.py:183
msgid "" msgid ""
"The number of minutes the items in a user's card are reserved for this user." "The number of minutes the items in a user's card are reserved for this user."
msgstr "" msgstr ""
"Die Dauer in Minuten, die Produkte im Warenkorb eines Benutzers reserviert " "Die Dauer in Minuten, die Produkte im Warenkorb eines Benutzers reserviert "
"werden." "werden."
#: pretix/control/forms/event.py:181 #: pretix/control/forms/event.py:186
msgid "Imprint URL" msgid "Imprint URL"
msgstr "Impressum (URL)" msgstr "Impressum (URL)"
#: pretix/control/forms/event.py:185 #: pretix/control/forms/event.py:190
msgid "Contact address" msgid "Contact address"
msgstr "Kontakt-E-Mail" msgstr "Kontakt-E-Mail"
#: pretix/control/forms/event.py:187 #: pretix/control/forms/event.py:192
msgid "Public email address for contacting the organizer" msgid "Public email address for contacting the organizer"
msgstr "Öffentliche E-Mail-Adresse zur Kontaktierung des Veranstalters" msgstr "Öffentliche E-Mail-Adresse zur Kontaktierung des Veranstalters"
#: pretix/control/forms/event.py:194 #: pretix/control/forms/event.py:199
msgid "" msgid ""
"Your default locale must also be enebled for your event (see box above)." "Your default locale must also be enebled for your event (see box above)."
msgstr "" msgstr ""
"Die Standardsprache muss eine der aktivierten Sprachen sein (siehe weiter " "Die Standardsprache muss eine der aktivierten Sprachen sein (siehe weiter "
"oben)." "oben)."
#: pretix/control/forms/event.py:198 #: pretix/control/forms/event.py:203
msgid "" msgid ""
"You cannot require specifying attendee names if you do not ask for them." "You cannot require specifying attendee names if you do not ask for them."
msgstr "" msgstr ""
"Sie können die Angabe von Teilnehmernamen nur erfordern, wenn Sie auch nach " "Sie können die Angabe von Teilnehmernamen nur erfordern, wenn Sie auch nach "
"Namen fragen." "Namen fragen."
#: pretix/control/forms/event.py:227 pretix/control/forms/event.py:329 #: pretix/control/forms/event.py:232 pretix/control/forms/event.py:334
msgid "This field is required." msgid "This field is required."
msgstr "Dieses Feld ist erforderlich." msgstr "Dieses Feld ist erforderlich."
#: pretix/control/forms/event.py:232 #: pretix/control/forms/event.py:237
msgid "Subject prefix" msgid "Subject prefix"
msgstr "Betreffs-Prefix" msgstr "Betreffs-Prefix"
#: pretix/control/forms/event.py:233 #: pretix/control/forms/event.py:238
msgid "" msgid ""
"This will be prepended to the subject of all outgoing emails. This could be " "This will be prepended to the subject of all outgoing emails. This could be "
"a short form of your event name." "a short form of your event name."
@@ -1548,19 +1558,19 @@ msgstr ""
"Dies wird jedem E-Mail-Betreff vorangestellt und könnten z.B. eine Kurzform " "Dies wird jedem E-Mail-Betreff vorangestellt und könnten z.B. eine Kurzform "
"Ihres Veranstaltungsnamens enthalten." "Ihres Veranstaltungsnamens enthalten."
#: pretix/control/forms/event.py:238 #: pretix/control/forms/event.py:243
msgid "Sender address" msgid "Sender address"
msgstr "Absender-Adresse" msgstr "Absender-Adresse"
#: pretix/control/forms/event.py:239 #: pretix/control/forms/event.py:244
msgid "Sender address for outgoing e-mails" msgid "Sender address for outgoing e-mails"
msgstr "Absender-Adresse für ausgehende E-Mails" msgstr "Absender-Adresse für ausgehende E-Mails"
#: pretix/control/forms/event.py:242 #: pretix/control/forms/event.py:247
msgid "Placed order" msgid "Placed order"
msgstr "Getätigte Bestellung" msgstr "Getätigte Bestellung"
#: pretix/control/forms/event.py:245 #: pretix/control/forms/event.py:250
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Available placeholders: {event}, {total}, {currency}, {date}, {paymentinfo}, " "Available placeholders: {event}, {total}, {currency}, {date}, {paymentinfo}, "
@@ -1569,25 +1579,25 @@ msgstr ""
"Verfügbare Platzhalter: {event}, {total}, {currency}, {date}, {paymentinfo}, " "Verfügbare Platzhalter: {event}, {total}, {currency}, {date}, {paymentinfo}, "
"{url}" "{url}"
#: pretix/control/forms/event.py:248 #: pretix/control/forms/event.py:253
msgid "Paid order" msgid "Paid order"
msgstr "Bezahlt Bestellung" msgstr "Bezahlt Bestellung"
#: pretix/control/forms/event.py:251 pretix/control/forms/event.py:257 #: pretix/control/forms/event.py:256 pretix/control/forms/event.py:262
#, python-brace-format #, python-brace-format
msgid "Available placeholders: {event}, {url}" msgid "Available placeholders: {event}, {url}"
msgstr "Verfügbare Platzhalter: {event}, {url}" msgstr "Verfügbare Platzhalter: {event}, {url}"
#: pretix/control/forms/event.py:254 #: pretix/control/forms/event.py:259
#: pretix/control/templates/pretixcontrol/order/index.html:79 #: pretix/control/templates/pretixcontrol/order/index.html:79
msgid "Resend link" msgid "Resend link"
msgstr "Link erneut senden" msgstr "Link erneut senden"
#: pretix/control/forms/event.py:260 #: pretix/control/forms/event.py:265
msgid "Use custom SMTP server" msgid "Use custom SMTP server"
msgstr "Eigenen SMTP-Server verwenden" msgstr "Eigenen SMTP-Server verwenden"
#: pretix/control/forms/event.py:261 #: pretix/control/forms/event.py:266
msgid "" msgid ""
"All mail related to your event will be sent over the smtp server specified " "All mail related to your event will be sent over the smtp server specified "
"by you." "by you."
@@ -1595,49 +1605,49 @@ msgstr ""
"Alle E-Mails bezüglich Ihrer Veranstaltung werden über den von Ihnen " "Alle E-Mails bezüglich Ihrer Veranstaltung werden über den von Ihnen "
"angegebenen SMTP-Server versendet." "angegebenen SMTP-Server versendet."
#: pretix/control/forms/event.py:265 #: pretix/control/forms/event.py:270
msgid "Hostname" msgid "Hostname"
msgstr "Hostname" msgstr "Hostname"
#: pretix/control/forms/event.py:269 #: pretix/control/forms/event.py:274
msgid "Port" msgid "Port"
msgstr "Port" msgstr "Port"
#: pretix/control/forms/event.py:273 #: pretix/control/forms/event.py:278
msgid "Username" msgid "Username"
msgstr "Benutzername" msgstr "Benutzername"
#: pretix/control/forms/event.py:282 #: pretix/control/forms/event.py:287
msgid "Use STARTTLS" msgid "Use STARTTLS"
msgstr "STARTTLS verwenden" msgstr "STARTTLS verwenden"
#: pretix/control/forms/event.py:283 #: pretix/control/forms/event.py:288
msgid "Commonly enabled on port 587." msgid "Commonly enabled on port 587."
msgstr "Meistens auf Port 587 verfügbar." msgstr "Meistens auf Port 587 verfügbar."
#: pretix/control/forms/event.py:287 #: pretix/control/forms/event.py:292
msgid "Use SSL" msgid "Use SSL"
msgstr "SSL verwenden" msgstr "SSL verwenden"
#: pretix/control/forms/event.py:288 #: pretix/control/forms/event.py:293
msgid "Commonly enabled on port 465." msgid "Commonly enabled on port 465."
msgstr "Meistens auf Port 465 verfügbar." msgstr "Meistens auf Port 465 verfügbar."
#: pretix/control/forms/event.py:303 #: pretix/control/forms/event.py:308
msgid "Use feature" msgid "Use feature"
msgstr "Funktion benutzen" msgstr "Funktion benutzen"
#: pretix/control/forms/event.py:304 #: pretix/control/forms/event.py:309
msgid "Use pretix to generate tickets for the user to download and print out." msgid "Use pretix to generate tickets for the user to download and print out."
msgstr "" msgstr ""
"Wenn diese Funktion aktiviert ist, generiert pretix Tickets, die der " "Wenn diese Funktion aktiviert ist, generiert pretix Tickets, die der "
"Benutzer herunterladen und ausdrucken kann." "Benutzer herunterladen und ausdrucken kann."
#: pretix/control/forms/event.py:308 #: pretix/control/forms/event.py:313
msgid "Download date" msgid "Download date"
msgstr "Download-Datum" msgstr "Download-Datum"
#: pretix/control/forms/event.py:309 #: pretix/control/forms/event.py:314
msgid "Ticket download will be offered after this date." msgid "Ticket download will be offered after this date."
msgstr "Der Ticket-Download wird zu diesem Zeitpunkt freigeschaltet." msgstr "Der Ticket-Download wird zu diesem Zeitpunkt freigeschaltet."
@@ -1816,7 +1826,7 @@ msgstr "Neues Passwort setzen"
#: pretix/control/templates/pretixcontrol/event/mail.html:31 #: pretix/control/templates/pretixcontrol/event/mail.html:31
#: pretix/control/templates/pretixcontrol/event/payment.html:31 #: pretix/control/templates/pretixcontrol/event/payment.html:31
#: pretix/control/templates/pretixcontrol/event/permissions.html:59 #: pretix/control/templates/pretixcontrol/event/permissions.html:59
#: pretix/control/templates/pretixcontrol/event/settings.html:58 #: pretix/control/templates/pretixcontrol/event/settings.html:59
#: pretix/control/templates/pretixcontrol/event/tickets.html:36 #: pretix/control/templates/pretixcontrol/event/tickets.html:36
#: pretix/control/templates/pretixcontrol/events/create.html:30 #: pretix/control/templates/pretixcontrol/events/create.html:30
#: pretix/control/templates/pretixcontrol/item/index.html:31 #: pretix/control/templates/pretixcontrol/item/index.html:31
@@ -2091,12 +2101,12 @@ msgstr "Allgemeine Informationen"
msgid "Display settings" msgid "Display settings"
msgstr "Anzeigeeinstellungen" msgstr "Anzeigeeinstellungen"
#: pretix/control/templates/pretixcontrol/event/settings.html:28 #: pretix/control/templates/pretixcontrol/event/settings.html:29
#: pretix/control/templates/pretixcontrol/events/create.html:19 #: pretix/control/templates/pretixcontrol/events/create.html:19
msgid "Timeline" msgid "Timeline"
msgstr "Ablauf" msgstr "Ablauf"
#: pretix/control/templates/pretixcontrol/event/settings.html:46 #: pretix/control/templates/pretixcontrol/event/settings.html:47
msgid "Invoicing" msgid "Invoicing"
msgstr "Rechnungswesen" msgstr "Rechnungswesen"
@@ -2273,8 +2283,8 @@ msgid "Unlimited"
msgstr "Unbegrenzt" msgstr "Unbegrenzt"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:12 #: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:12
msgid "Sold out (or reserved)" msgid "Fully reserved"
msgstr "Ausverkauft (oder reserviert)" msgstr "Alle reserviert"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:14 #: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:14
msgid "Sold out" msgid "Sold out"
@@ -2478,8 +2488,8 @@ msgstr "nicht beantwortet"
#: pretix/control/templates/pretixcontrol/order/index.html:161 #: pretix/control/templates/pretixcontrol/order/index.html:161
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:63 #: pretix/presale/templates/pretixpresale/event/fragment_cart.html:63
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:81 #: pretix/presale/templates/pretixpresale/event/fragment_cart.html:81
#: pretix/presale/templates/pretixpresale/event/index.html:104 #: pretix/presale/templates/pretixpresale/event/index.html:107
#: pretix/presale/templates/pretixpresale/event/index.html:141 #: pretix/presale/templates/pretixpresale/event/index.html:147
#, python-format #, python-format
msgid "incl. %(rate)s%% taxes" msgid "incl. %(rate)s%% taxes"
msgstr "inkl. %(rate)s%% MwSt." msgstr "inkl. %(rate)s%% MwSt."
@@ -3911,14 +3921,19 @@ msgid "SOLD OUT"
msgstr "AUSVERKAUFT" msgstr "AUSVERKAUFT"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:8 #: pretix/presale/templates/pretixpresale/event/fragment_availability.html:8
msgid "Unavailable" msgid "Reserved"
msgstr "Nicht verfügbar" msgstr "Reserviert"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10 #: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10
msgid "This item is currently unavailable but might become available again." msgid "All remaining products are reserved but might become available again."
msgstr "" msgstr ""
"Dieses Produkt ist zur Zeit nicht verfügbar, wird es aber evtl. wieder " "Alle verbleibenden Tickets sind reserviert, werden aber evtl. wieder "
"werden." "verfügbar."
#: pretix/presale/templates/pretixpresale/event/fragment_quota_left.html:4
#, python-format
msgid "%(num)s currently available"
msgstr "Aktuell verfügbar: %(num)s"
#: pretix/presale/templates/pretixpresale/event/index.html:5 #: pretix/presale/templates/pretixpresale/event/index.html:5
msgid "Presale" msgid "Presale"
@@ -3952,12 +3967,12 @@ msgstr "ab %(currency)s %(minprice)s"
msgid "Show variants" msgid "Show variants"
msgstr "Varianten zeigen" msgstr "Varianten zeigen"
#: pretix/presale/templates/pretixpresale/event/index.html:165 #: pretix/presale/templates/pretixpresale/event/index.html:171
#: pretix/presale/templates/pretixpresale/event/index.html:175 #: pretix/presale/templates/pretixpresale/event/index.html:181
msgid "Redeem a voucher" msgid "Redeem a voucher"
msgstr "Gutschein einlösen" msgstr "Gutschein einlösen"
#: pretix/presale/templates/pretixpresale/event/index.html:185 #: pretix/presale/templates/pretixpresale/event/index.html:191
msgid "Add to cart" msgid "Add to cart"
msgstr "Zum Warenkorb hinzufügen" msgstr "Zum Warenkorb hinzufügen"
@@ -4143,6 +4158,12 @@ msgstr "Deutsch"
msgid "German (informal)" msgid "German (informal)"
msgstr "Deutsch (Du)" msgstr "Deutsch (Du)"
#~ msgid "Sold out (or reserved)"
#~ msgstr "Ausverkauft (oder reserviert)"
#~ msgid "Unavailable"
#~ msgstr "Nicht verfügbar"
#~ msgid "" #~ msgid ""
#~ "%s\n" #~ "%s\n"
#~ "until %s" #~ "until %s"

View File

@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 1\n" "Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-22 12:09+0000\n" "POT-Creation-Date: 2016-03-22 17:39+0000\n"
"PO-Revision-Date: 2016-03-22 13:10+0100\n" "PO-Revision-Date: 2016-03-22 18:39+0100\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n" "Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: Raphael Michel <michel@rami.io>\n" "Language-Team: Raphael Michel <michel@rami.io>\n"
"Language: de\n" "Language: de\n"
@@ -33,7 +33,7 @@ msgid "E-mail"
msgstr "E-Mail" msgstr "E-Mail"
#: pretix/base/forms/auth.py:14 pretix/base/forms/auth.py:77 #: pretix/base/forms/auth.py:14 pretix/base/forms/auth.py:77
#: pretix/base/forms/auth.py:113 pretix/control/forms/event.py:277 #: pretix/base/forms/auth.py:113 pretix/control/forms/event.py:282
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
@@ -566,7 +566,7 @@ msgstr "Bestellung"
#: pretix/base/models/orders.py:149 #: pretix/base/models/orders.py:149
#: pretix/control/templates/pretixcontrol/event/base.html:102 #: pretix/control/templates/pretixcontrol/event/base.html:102
#: pretix/control/templates/pretixcontrol/event/settings.html:39 #: pretix/control/templates/pretixcontrol/event/settings.html:40
#: pretix/control/templates/pretixcontrol/orders/index.html:3 #: pretix/control/templates/pretixcontrol/orders/index.html:3
#: pretix/control/templates/pretixcontrol/orders/index.html:5 #: pretix/control/templates/pretixcontrol/orders/index.html:5
msgid "Orders" msgid "Orders"
@@ -703,7 +703,7 @@ msgstr "Veranstalter-Berechtigungen"
#: pretix/base/models/vouchers.py:28 #: pretix/base/models/vouchers.py:28
#: pretix/control/templates/pretixcontrol/vouchers/index.html:14 #: pretix/control/templates/pretixcontrol/vouchers/index.html:14
#: pretix/presale/templates/pretixpresale/event/index.html:170 #: pretix/presale/templates/pretixpresale/event/index.html:176
msgid "Voucher code" msgid "Voucher code"
msgstr "Gutscheincode" msgstr "Gutscheincode"
@@ -1097,7 +1097,7 @@ msgstr "Unkategorisiert"
msgid "Payment method fees" msgid "Payment method fees"
msgstr "Zahlungsgebühren" msgstr "Zahlungsgebühren"
#: pretix/base/settings.py:134 #: pretix/base/settings.py:138
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1123,7 +1123,7 @@ msgstr ""
"Viele Grüße,\n" "Viele Grüße,\n"
"Das {event} Team" "Das {event} Team"
#: pretix/base/settings.py:147 #: pretix/base/settings.py:151
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1151,7 +1151,7 @@ msgstr ""
"Viele Grüße,\n" "Viele Grüße,\n"
"Das {event} Team" "Das {event} Team"
#: pretix/base/settings.py:162 #: pretix/base/settings.py:166
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Hello,\n" "Hello,\n"
@@ -1423,49 +1423,59 @@ msgid "Default language"
msgstr "Standardsprache" msgstr "Standardsprache"
#: pretix/control/forms/event.py:129 #: pretix/control/forms/event.py:129
msgid "Show number of tickets left"
msgstr "Zeige Anzahl verbleibender Tickets"
#: pretix/control/forms/event.py:130
msgid "Publicly show how many tickets of a certain type are still available."
msgstr ""
"Zeige öffentlich an, wie viele Tickets des jeweiligen Typs noch verfügbar "
"sind."
#: pretix/control/forms/event.py:134
msgid "Ask for attendee names" msgid "Ask for attendee names"
msgstr "Namen der Teilnehmer erfragen" msgstr "Namen der Teilnehmer erfragen"
#: pretix/control/forms/event.py:130 #: pretix/control/forms/event.py:135
msgid "Ask for a name for all tickets which include admission to the event." msgid "Ask for a name for all tickets which include admission to the event."
msgstr "Frage für alle Eintritts-Tickets nach dem Namen des Teilnehmers." msgstr "Frage für alle Eintritts-Tickets nach dem Namen des Teilnehmers."
#: pretix/control/forms/event.py:134 #: pretix/control/forms/event.py:139
msgid "Require attendee names" msgid "Require attendee names"
msgstr "Namen des Teilnehmer erfordern" msgstr "Namen des Teilnehmer erfordern"
#: pretix/control/forms/event.py:135 #: pretix/control/forms/event.py:140
msgid "Require customers to fill in the names of all attendees." msgid "Require customers to fill in the names of all attendees."
msgstr "Erfordere die Eingabe aller Teilnehmer-Namen." msgstr "Erfordere die Eingabe aller Teilnehmer-Namen."
#: pretix/control/forms/event.py:139 #: pretix/control/forms/event.py:144
msgid "Ask for invoice address" msgid "Ask for invoice address"
msgstr "Rechnungsadresse erfragen" msgstr "Rechnungsadresse erfragen"
#: pretix/control/forms/event.py:143 #: pretix/control/forms/event.py:148
msgid "Require invoice address" msgid "Require invoice address"
msgstr "Rechnungsadresse erforderlich" msgstr "Rechnungsadresse erforderlich"
#: pretix/control/forms/event.py:147 #: pretix/control/forms/event.py:152
msgid "Ask for VAT ID" msgid "Ask for VAT ID"
msgstr "Nach USt-ID fragen" msgstr "Nach USt-ID fragen"
#: pretix/control/forms/event.py:148 #: pretix/control/forms/event.py:153
msgid "" msgid ""
"Does only work if an invoice address is asked for. VAT ID is not required." "Does only work if an invoice address is asked for. VAT ID is not required."
msgstr "" msgstr ""
"Funktioniert nur, wenn nach einer Rechnungsadresse gefragt wird. Die USt-ID-" "Funktioniert nur, wenn nach einer Rechnungsadresse gefragt wird. Die USt-ID-"
"Eingabe ist freiwillig." "Eingabe ist freiwillig."
#: pretix/control/forms/event.py:152 #: pretix/control/forms/event.py:157
msgid "Generate invoices" msgid "Generate invoices"
msgstr "Rechnungen ausstellen" msgstr "Rechnungen ausstellen"
#: pretix/control/forms/event.py:157 #: pretix/control/forms/event.py:162
msgid "Your address" msgid "Your address"
msgstr "Deine Adresse" msgstr "Deine Adresse"
#: pretix/control/forms/event.py:158 #: pretix/control/forms/event.py:163
msgid "" msgid ""
"Will be printed as the sender on invoices. Be sure to include relevant " "Will be printed as the sender on invoices. Be sure to include relevant "
"details required in your jurisdiction (e.g. your VAT ID)." "details required in your jurisdiction (e.g. your VAT ID)."
@@ -1473,72 +1483,72 @@ msgstr ""
"Wird als Absender auf Rechnungen gedruckt. Denke daran, alle rechtlich " "Wird als Absender auf Rechnungen gedruckt. Denke daran, alle rechtlich "
"erforderlichen Merkmale aufzuführen, z.B. deine USt-ID oder Steuernummer." "erforderlichen Merkmale aufzuführen, z.B. deine USt-ID oder Steuernummer."
#: pretix/control/forms/event.py:163 #: pretix/control/forms/event.py:168
msgid "Additional text" msgid "Additional text"
msgstr "Zusätzlicher Text" msgstr "Zusätzlicher Text"
#: pretix/control/forms/event.py:164 #: pretix/control/forms/event.py:169
msgid "Will be printed on every invoice below the invoice total." msgid "Will be printed on every invoice below the invoice total."
msgstr "Wird auf jeder Rechnung unterhalb des Gesamtbetrages gedruckt." msgstr "Wird auf jeder Rechnung unterhalb des Gesamtbetrages gedruckt."
#: pretix/control/forms/event.py:168 #: pretix/control/forms/event.py:173
msgid "Invoice language" msgid "Invoice language"
msgstr "Rechnungssprache" msgstr "Rechnungssprache"
#: pretix/control/forms/event.py:169 #: pretix/control/forms/event.py:174
msgid "The user's language" msgid "The user's language"
msgstr "Sprache des Benutzers" msgstr "Sprache des Benutzers"
#: pretix/control/forms/event.py:173 #: pretix/control/forms/event.py:178
msgid "Maximum number of items per order" msgid "Maximum number of items per order"
msgstr "Maximale Anzahl Produkte pro Bestellung" msgstr "Maximale Anzahl Produkte pro Bestellung"
#: pretix/control/forms/event.py:177 #: pretix/control/forms/event.py:182
msgid "Reservation period" msgid "Reservation period"
msgstr "Reservierungszeitraum" msgstr "Reservierungszeitraum"
#: pretix/control/forms/event.py:178 #: pretix/control/forms/event.py:183
msgid "" msgid ""
"The number of minutes the items in a user's card are reserved for this user." "The number of minutes the items in a user's card are reserved for this user."
msgstr "" msgstr ""
"Die Dauer in Minuten, die Produkte im Warenkorb eines Benutzers reserviert " "Die Dauer in Minuten, die Produkte im Warenkorb eines Benutzers reserviert "
"werden." "werden."
#: pretix/control/forms/event.py:181 #: pretix/control/forms/event.py:186
msgid "Imprint URL" msgid "Imprint URL"
msgstr "Impressum (URL)" msgstr "Impressum (URL)"
#: pretix/control/forms/event.py:185 #: pretix/control/forms/event.py:190
msgid "Contact address" msgid "Contact address"
msgstr "Kontakt-E-Mail" msgstr "Kontakt-E-Mail"
#: pretix/control/forms/event.py:187 #: pretix/control/forms/event.py:192
msgid "Public email address for contacting the organizer" msgid "Public email address for contacting the organizer"
msgstr "Öffentliche E-Mail-Adresse zur Kontaktierung des Veranstalters" msgstr "Öffentliche E-Mail-Adresse zur Kontaktierung des Veranstalters"
#: pretix/control/forms/event.py:194 #: pretix/control/forms/event.py:199
msgid "" msgid ""
"Your default locale must also be enebled for your event (see box above)." "Your default locale must also be enebled for your event (see box above)."
msgstr "" msgstr ""
"Die Standardsprache muss eine der aktivierten Sprachen sein (siehe weiter " "Die Standardsprache muss eine der aktivierten Sprachen sein (siehe weiter "
"oben)." "oben)."
#: pretix/control/forms/event.py:198 #: pretix/control/forms/event.py:203
msgid "" msgid ""
"You cannot require specifying attendee names if you do not ask for them." "You cannot require specifying attendee names if you do not ask for them."
msgstr "" msgstr ""
"Du kannst die Angabe von Teilnehmernamen nur erfordern, wenn auch nach Namen " "Du kannst die Angabe von Teilnehmernamen nur erfordern, wenn auch nach Namen "
"gefragt wird." "gefragt wird."
#: pretix/control/forms/event.py:227 pretix/control/forms/event.py:329 #: pretix/control/forms/event.py:232 pretix/control/forms/event.py:334
msgid "This field is required." msgid "This field is required."
msgstr "Dieses Feld ist erforderlich." msgstr "Dieses Feld ist erforderlich."
#: pretix/control/forms/event.py:232 #: pretix/control/forms/event.py:237
msgid "Subject prefix" msgid "Subject prefix"
msgstr "Betreffs-Prefix" msgstr "Betreffs-Prefix"
#: pretix/control/forms/event.py:233 #: pretix/control/forms/event.py:238
msgid "" msgid ""
"This will be prepended to the subject of all outgoing emails. This could be " "This will be prepended to the subject of all outgoing emails. This could be "
"a short form of your event name." "a short form of your event name."
@@ -1546,19 +1556,19 @@ msgstr ""
"Dies wird jedem E-Mail-Betreff vorangestellt und könnten z.B. eine Kurzform " "Dies wird jedem E-Mail-Betreff vorangestellt und könnten z.B. eine Kurzform "
"deines Veranstaltungsnamens enthalten." "deines Veranstaltungsnamens enthalten."
#: pretix/control/forms/event.py:238 #: pretix/control/forms/event.py:243
msgid "Sender address" msgid "Sender address"
msgstr "Absender-Adresse" msgstr "Absender-Adresse"
#: pretix/control/forms/event.py:239 #: pretix/control/forms/event.py:244
msgid "Sender address for outgoing e-mails" msgid "Sender address for outgoing e-mails"
msgstr "Absender-Adresse für ausgehende E-Mails" msgstr "Absender-Adresse für ausgehende E-Mails"
#: pretix/control/forms/event.py:242 #: pretix/control/forms/event.py:247
msgid "Placed order" msgid "Placed order"
msgstr "Getätigte Bestellung" msgstr "Getätigte Bestellung"
#: pretix/control/forms/event.py:245 #: pretix/control/forms/event.py:250
#, python-brace-format #, python-brace-format
msgid "" msgid ""
"Available placeholders: {event}, {total}, {currency}, {date}, {paymentinfo}, " "Available placeholders: {event}, {total}, {currency}, {date}, {paymentinfo}, "
@@ -1567,25 +1577,25 @@ msgstr ""
"Verfügbare Platzhalter: {event}, {total}, {currency}, {date}, {paymentinfo}, " "Verfügbare Platzhalter: {event}, {total}, {currency}, {date}, {paymentinfo}, "
"{url}" "{url}"
#: pretix/control/forms/event.py:248 #: pretix/control/forms/event.py:253
msgid "Paid order" msgid "Paid order"
msgstr "Bezahlt Bestellung" msgstr "Bezahlt Bestellung"
#: pretix/control/forms/event.py:251 pretix/control/forms/event.py:257 #: pretix/control/forms/event.py:256 pretix/control/forms/event.py:262
#, python-brace-format #, python-brace-format
msgid "Available placeholders: {event}, {url}" msgid "Available placeholders: {event}, {url}"
msgstr "Verfügbare Platzhalter: {event}, {url}" msgstr "Verfügbare Platzhalter: {event}, {url}"
#: pretix/control/forms/event.py:254 #: pretix/control/forms/event.py:259
#: pretix/control/templates/pretixcontrol/order/index.html:79 #: pretix/control/templates/pretixcontrol/order/index.html:79
msgid "Resend link" msgid "Resend link"
msgstr "Link erneut senden" msgstr "Link erneut senden"
#: pretix/control/forms/event.py:260 #: pretix/control/forms/event.py:265
msgid "Use custom SMTP server" msgid "Use custom SMTP server"
msgstr "Eigenen SMTP-Server verwenden" msgstr "Eigenen SMTP-Server verwenden"
#: pretix/control/forms/event.py:261 #: pretix/control/forms/event.py:266
msgid "" msgid ""
"All mail related to your event will be sent over the smtp server specified " "All mail related to your event will be sent over the smtp server specified "
"by you." "by you."
@@ -1593,49 +1603,49 @@ msgstr ""
"Alle E-Mails bezüglich deiner Veranstaltung werden über den von dir " "Alle E-Mails bezüglich deiner Veranstaltung werden über den von dir "
"angegebenen SMTP-Server versendet." "angegebenen SMTP-Server versendet."
#: pretix/control/forms/event.py:265 #: pretix/control/forms/event.py:270
msgid "Hostname" msgid "Hostname"
msgstr "Hostname" msgstr "Hostname"
#: pretix/control/forms/event.py:269 #: pretix/control/forms/event.py:274
msgid "Port" msgid "Port"
msgstr "Port" msgstr "Port"
#: pretix/control/forms/event.py:273 #: pretix/control/forms/event.py:278
msgid "Username" msgid "Username"
msgstr "Benutzername" msgstr "Benutzername"
#: pretix/control/forms/event.py:282 #: pretix/control/forms/event.py:287
msgid "Use STARTTLS" msgid "Use STARTTLS"
msgstr "STARTTLS verwenden" msgstr "STARTTLS verwenden"
#: pretix/control/forms/event.py:283 #: pretix/control/forms/event.py:288
msgid "Commonly enabled on port 587." msgid "Commonly enabled on port 587."
msgstr "Meistens auf Port 587 verfügbar." msgstr "Meistens auf Port 587 verfügbar."
#: pretix/control/forms/event.py:287 #: pretix/control/forms/event.py:292
msgid "Use SSL" msgid "Use SSL"
msgstr "SSL verwenden" msgstr "SSL verwenden"
#: pretix/control/forms/event.py:288 #: pretix/control/forms/event.py:293
msgid "Commonly enabled on port 465." msgid "Commonly enabled on port 465."
msgstr "Meistens auf Port 465 verfügbar." msgstr "Meistens auf Port 465 verfügbar."
#: pretix/control/forms/event.py:303 #: pretix/control/forms/event.py:308
msgid "Use feature" msgid "Use feature"
msgstr "Funktion benutzen" msgstr "Funktion benutzen"
#: pretix/control/forms/event.py:304 #: pretix/control/forms/event.py:309
msgid "Use pretix to generate tickets for the user to download and print out." msgid "Use pretix to generate tickets for the user to download and print out."
msgstr "" msgstr ""
"Wenn diese Funktion aktiviert ist, generiert pretix Tickets, die der " "Wenn diese Funktion aktiviert ist, generiert pretix Tickets, die der "
"Benutzer herunterladen und ausdrucken kann." "Benutzer herunterladen und ausdrucken kann."
#: pretix/control/forms/event.py:308 #: pretix/control/forms/event.py:313
msgid "Download date" msgid "Download date"
msgstr "Download-Datum" msgstr "Download-Datum"
#: pretix/control/forms/event.py:309 #: pretix/control/forms/event.py:314
msgid "Ticket download will be offered after this date." msgid "Ticket download will be offered after this date."
msgstr "Der Ticket-Download wird zu diesem Zeitpunkt freigeschaltet." msgstr "Der Ticket-Download wird zu diesem Zeitpunkt freigeschaltet."
@@ -1811,7 +1821,7 @@ msgstr "Neues Passwort setzen"
#: pretix/control/templates/pretixcontrol/event/mail.html:31 #: pretix/control/templates/pretixcontrol/event/mail.html:31
#: pretix/control/templates/pretixcontrol/event/payment.html:31 #: pretix/control/templates/pretixcontrol/event/payment.html:31
#: pretix/control/templates/pretixcontrol/event/permissions.html:59 #: pretix/control/templates/pretixcontrol/event/permissions.html:59
#: pretix/control/templates/pretixcontrol/event/settings.html:58 #: pretix/control/templates/pretixcontrol/event/settings.html:59
#: pretix/control/templates/pretixcontrol/event/tickets.html:36 #: pretix/control/templates/pretixcontrol/event/tickets.html:36
#: pretix/control/templates/pretixcontrol/events/create.html:30 #: pretix/control/templates/pretixcontrol/events/create.html:30
#: pretix/control/templates/pretixcontrol/item/index.html:31 #: pretix/control/templates/pretixcontrol/item/index.html:31
@@ -2086,12 +2096,12 @@ msgstr "Allgemeine Informationen"
msgid "Display settings" msgid "Display settings"
msgstr "Anzeigeeinstellungen" msgstr "Anzeigeeinstellungen"
#: pretix/control/templates/pretixcontrol/event/settings.html:28 #: pretix/control/templates/pretixcontrol/event/settings.html:29
#: pretix/control/templates/pretixcontrol/events/create.html:19 #: pretix/control/templates/pretixcontrol/events/create.html:19
msgid "Timeline" msgid "Timeline"
msgstr "Ablauf" msgstr "Ablauf"
#: pretix/control/templates/pretixcontrol/event/settings.html:46 #: pretix/control/templates/pretixcontrol/event/settings.html:47
msgid "Invoicing" msgid "Invoicing"
msgstr "Rechnungswesen" msgstr "Rechnungswesen"
@@ -2267,8 +2277,8 @@ msgid "Unlimited"
msgstr "Unbegrenzt" msgstr "Unbegrenzt"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:12 #: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:12
msgid "Sold out (or reserved)" msgid "Fully reserved"
msgstr "Ausverkauft (oder reserviert)" msgstr "Alle reserviert"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:14 #: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:14
msgid "Sold out" msgid "Sold out"
@@ -2472,8 +2482,8 @@ msgstr "nicht beantwortet"
#: pretix/control/templates/pretixcontrol/order/index.html:161 #: pretix/control/templates/pretixcontrol/order/index.html:161
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:63 #: pretix/presale/templates/pretixpresale/event/fragment_cart.html:63
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:81 #: pretix/presale/templates/pretixpresale/event/fragment_cart.html:81
#: pretix/presale/templates/pretixpresale/event/index.html:104 #: pretix/presale/templates/pretixpresale/event/index.html:107
#: pretix/presale/templates/pretixpresale/event/index.html:141 #: pretix/presale/templates/pretixpresale/event/index.html:147
#, python-format #, python-format
msgid "incl. %(rate)s%% taxes" msgid "incl. %(rate)s%% taxes"
msgstr "inkl. %(rate)s%% MwSt." msgstr "inkl. %(rate)s%% MwSt."
@@ -3899,14 +3909,19 @@ msgid "SOLD OUT"
msgstr "AUSVERKAUFT" msgstr "AUSVERKAUFT"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:8 #: pretix/presale/templates/pretixpresale/event/fragment_availability.html:8
msgid "Unavailable" msgid "Reserved"
msgstr "Nicht verfügbar" msgstr "Reserviert"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10 #: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10
msgid "This item is currently unavailable but might become available again." msgid "All remaining products are reserved but might become available again."
msgstr "" msgstr ""
"Dieses Produkt ist zur Zeit nicht verfügbar, wird es aber evtl. wieder " "Alle verbleibenden Tickets sind reserviert, werden aber evtl. wieder "
"werden." "verfügbar."
#: pretix/presale/templates/pretixpresale/event/fragment_quota_left.html:4
#, python-format
msgid "%(num)s currently available"
msgstr "Aktuell verfügbar: %(num)s"
#: pretix/presale/templates/pretixpresale/event/index.html:5 #: pretix/presale/templates/pretixpresale/event/index.html:5
msgid "Presale" msgid "Presale"
@@ -3940,12 +3955,12 @@ msgstr "ab %(currency)s %(minprice)s"
msgid "Show variants" msgid "Show variants"
msgstr "Varianten zeigen" msgstr "Varianten zeigen"
#: pretix/presale/templates/pretixpresale/event/index.html:165 #: pretix/presale/templates/pretixpresale/event/index.html:171
#: pretix/presale/templates/pretixpresale/event/index.html:175 #: pretix/presale/templates/pretixpresale/event/index.html:181
msgid "Redeem a voucher" msgid "Redeem a voucher"
msgstr "Gutschein einlösen" msgstr "Gutschein einlösen"
#: pretix/presale/templates/pretixpresale/event/index.html:185 #: pretix/presale/templates/pretixpresale/event/index.html:191
msgid "Add to cart" msgid "Add to cart"
msgstr "Zum Warenkorb hinzufügen" msgstr "Zum Warenkorb hinzufügen"
@@ -4132,6 +4147,12 @@ msgstr "Deutsch"
msgid "German (informal)" msgid "German (informal)"
msgstr "Deutsch (Du)" msgstr "Deutsch (Du)"
#~ msgid "Sold out (or reserved)"
#~ msgstr "Ausverkauft (oder reserviert)"
#~ msgid "Unavailable"
#~ msgstr "Nicht verfügbar"
#~ msgid "" #~ msgid ""
#~ "%s\n" #~ "%s\n"
#~ "until %s" #~ "until %s"

View File

@@ -5,9 +5,9 @@
</div> </div>
{% elif avail < 100 %} {% elif avail < 100 %}
<div class="col-md-2 col-xs-6 availability-box unavailable"> <div class="col-md-2 col-xs-6 availability-box unavailable">
<strong>{% trans "Unavailable" %}</strong><br /> <strong>{% trans "Reserved" %}</strong><br />
<small> <small>
{% trans "This item is currently unavailable but might become available again." %} {% trans "All remaining products are reserved but might become available again." %}
</small> </small>
</div> </div>
{% endif %} {% endif %}

View File

@@ -0,0 +1,8 @@
{% load i18n %}
{% if avail.0 > 0 and avail.1 != None %}
<p><small>
{% blocktrans trimmed with num=avail.1 %}
{{ num }} currently available
{% endblocktrans %}
</small></p>
{% endif %}

View File

@@ -96,6 +96,9 @@
<div class="row-fluid product-row variation"> <div class="row-fluid product-row variation">
<div class="col-md-8 col-xs-12"> <div class="col-md-8 col-xs-12">
{{ var }} {{ var }}
{% if event.settings.show_quota_left %}
{% include "pretixpresale/event/fragment_quota_left.html" with avail=var.cached_availability %}
{% endif %}
</div> </div>
<div class="col-md-2 col-xs-6 price"> <div class="col-md-2 col-xs-6 price">
{{ event.currency }} {{ var.price|floatformat:2 }} {{ event.currency }} {{ var.price|floatformat:2 }}
@@ -109,7 +112,7 @@
{% if var.cached_availability.0 == 100 %} {% if var.cached_availability.0 == 100 %}
<div class="col-md-2 col-xs-6 availability-box available"> <div class="col-md-2 col-xs-6 availability-box available">
<input type="number" class="form-control input-item-count" placeholder="0" min="0" <input type="number" class="form-control input-item-count" placeholder="0" min="0"
max="{{ var.cached_availability.1 }}" max="{{ var.order_max }}"
name="variation_{{ item.id }}_{{ var.id }}"> name="variation_{{ item.id }}_{{ var.id }}">
</div> </div>
{% else %} {% else %}
@@ -132,7 +135,10 @@
</a> </a>
{% endif %} {% endif %}
<strong>{{ item.name }}</strong> <strong>{{ item.name }}</strong>
{% if item.description %}<p>{{ item.description }}</p>{% endif %} {% if item.description %}<p class="description">{{ item.description }}</p>{% endif %}
{% if event.settings.show_quota_left %}
{% include "pretixpresale/event/fragment_quota_left.html" with avail=item.cached_availability %}
{% endif %}
</div> </div>
<div class="col-md-2 col-xs-6 price"> <div class="col-md-2 col-xs-6 price">
{{ event.currency }} {{ item.price|floatformat:2 }} {{ event.currency }} {{ item.price|floatformat:2 }}
@@ -146,7 +152,7 @@
{% if item.cached_availability.0 == 100 %} {% if item.cached_availability.0 == 100 %}
<div class="col-md-2 col-xs-6 availability-box available"> <div class="col-md-2 col-xs-6 availability-box available">
<input type="number" class="form-control input-item-count" placeholder="0" min="0" <input type="number" class="form-control input-item-count" placeholder="0" min="0"
max="{{ item.cached_availability.1 }}" name="item_{{ item.id }}"> max="{{ item.order_max }}" name="item_{{ item.id }}">
</div> </div>
{% else %} {% else %}
{% include "pretixpresale/event/fragment_availability.html" with avail=item.cached_availability.0 %} {% include "pretixpresale/event/fragment_availability.html" with avail=item.cached_availability.0 %}

View File

@@ -30,16 +30,16 @@ class EventIndex(EventViewMixin, CartMixin, TemplateView):
item.has_variations = item.variations.exists() item.has_variations = item.variations.exists()
if not item.has_variations: if not item.has_variations:
item.cached_availability = list(item.check_quotas()) item.cached_availability = list(item.check_quotas())
item.cached_availability[1] = min((item.cached_availability[1] item.order_max = min(item.cached_availability[1]
if item.cached_availability[1] is not None else sys.maxsize), if item.cached_availability[1] is not None else sys.maxsize,
int(self.request.event.settings.max_items_per_order)) int(self.request.event.settings.max_items_per_order))
item.price = item.default_price item.price = item.default_price
else: else:
for var in item.available_variations: for var in item.available_variations:
var.cached_availability = list(var.check_quotas()) var.cached_availability = list(var.check_quotas())
var.cached_availability[1] = min(var.cached_availability[1] var.order_max = min(var.cached_availability[1]
if var.cached_availability[1] is not None else sys.maxsize, if var.cached_availability[1] is not None else sys.maxsize,
int(self.request.event.settings.max_items_per_order)) int(self.request.event.settings.max_items_per_order))
var.price = var.default_price if var.default_price is not None else item.default_price var.price = var.default_price if var.default_price is not None else item.default_price
if len(item.available_variations) > 0: if len(item.available_variations) > 0:
item.min_price = min([v.price for v in item.available_variations]) item.min_price = min([v.price for v in item.available_variations])

View File

@@ -3,7 +3,7 @@
&:last-child { &:last-child {
} }
p:last-child { p {
margin-bottom: 0; margin-bottom: 0;
} }