forked from CGM_Public/pretix_original
Compare commits
9 Commits
upstream/2
...
remove-inv
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4a59e6f4e | ||
|
|
0acaed41be | ||
|
|
993acce05a | ||
|
|
fe2132435c | ||
|
|
f4fcca19a4 | ||
|
|
24d26a9455 | ||
|
|
589f51454e | ||
|
|
bda27d72e7 | ||
|
|
f67690bc56 |
@@ -1,31 +0,0 @@
|
||||
name: Build Deploy email notification tool
|
||||
run-name: ${{ gitea.actor }} building new version of the email notification tool
|
||||
on:
|
||||
push: # Baut bei jedem Push (Branches + Tags)
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
Apply-Kubernetes-Resources:
|
||||
runs-on: podman
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Login to Docker Registry
|
||||
run: podman login -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_TOKEN }} cr.ortlerstrasse.de
|
||||
|
||||
- name: Set Docker Image Tag
|
||||
run: |
|
||||
if [[ "${{ gitea.ref }}" == refs/tags/* ]]; then
|
||||
echo "TAG_NAME=${{ gitea.ref_name }}" >> $GITHUB_ENV
|
||||
else
|
||||
echo "TAG_NAME=latest" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Build Docker image
|
||||
run: podman build -t cr.ortlerstrasse.de/cgo/pretix:${{ env.TAG_NAME }} .
|
||||
|
||||
- name: Push Docker image
|
||||
run: |
|
||||
podman push cr.ortlerstrasse.de/cgo/pretix:${{ env.TAG_NAME }}
|
||||
echo "Image pushed successfully: cr.ortlerstrasse.de/cgo/pretix:${{ env.TAG_NAME }}"
|
||||
@@ -16,6 +16,7 @@ Field Type Description
|
||||
id integer Internal ID of the program time
|
||||
start datetime The start date time for this program time slot.
|
||||
end datetime The end date time for this program time slot.
|
||||
location multi-lingual string The program time slot's location (or ``null``)
|
||||
===================================== ========================== =======================================================
|
||||
|
||||
.. versionchanged:: TODO
|
||||
@@ -54,17 +55,20 @@ Endpoints
|
||||
{
|
||||
"id": 2,
|
||||
"start": "2025-08-14T22:00:00Z",
|
||||
"end": "2025-08-15T00:00:00Z"
|
||||
"end": "2025-08-15T00:00:00Z",
|
||||
"location": null
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"start": "2025-08-12T22:00:00Z",
|
||||
"end": "2025-08-13T22:00:00Z"
|
||||
"end": "2025-08-13T22:00:00Z",
|
||||
"location": null
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"start": "2025-08-15T22:00:00Z",
|
||||
"end": "2025-08-17T22:00:00Z"
|
||||
"end": "2025-08-17T22:00:00Z",
|
||||
"location": null
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -99,7 +103,8 @@ Endpoints
|
||||
{
|
||||
"id": 1,
|
||||
"start": "2025-08-15T22:00:00Z",
|
||||
"end": "2025-10-27T23:00:00Z"
|
||||
"end": "2025-10-27T23:00:00Z",
|
||||
"location": null
|
||||
}
|
||||
|
||||
:param organizer: The ``slug`` field of the organizer to fetch
|
||||
@@ -125,7 +130,8 @@ Endpoints
|
||||
|
||||
{
|
||||
"start": "2025-08-15T10:00:00Z",
|
||||
"end": "2025-08-15T22:00:00Z"
|
||||
"end": "2025-08-15T22:00:00Z",
|
||||
"location": null
|
||||
}
|
||||
|
||||
**Example response**:
|
||||
@@ -139,7 +145,8 @@ Endpoints
|
||||
{
|
||||
"id": 17,
|
||||
"start": "2025-08-15T10:00:00Z",
|
||||
"end": "2025-08-15T22:00:00Z"
|
||||
"end": "2025-08-15T22:00:00Z",
|
||||
"location": null
|
||||
}
|
||||
|
||||
:param organizer: The ``slug`` field of the organizer of the event/item to create a program time for
|
||||
|
||||
@@ -19,4 +19,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
__version__ = "2026.4.1"
|
||||
__version__ = "2026.5.0.dev0"
|
||||
|
||||
@@ -191,7 +191,7 @@ class InlineItemAddOnSerializer(serializers.ModelSerializer):
|
||||
class InlineItemProgramTimeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ItemProgramTime
|
||||
fields = ('start', 'end')
|
||||
fields = ('start', 'end', 'location')
|
||||
|
||||
|
||||
class ItemBundleSerializer(serializers.ModelSerializer):
|
||||
@@ -222,7 +222,7 @@ class ItemBundleSerializer(serializers.ModelSerializer):
|
||||
class ItemProgramTimeSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = ItemProgramTime
|
||||
fields = ('id', 'start', 'end')
|
||||
fields = ('id', 'start', 'end', 'location')
|
||||
|
||||
def validate(self, data):
|
||||
data = super().validate(data)
|
||||
|
||||
@@ -1416,6 +1416,7 @@ class OrderCreateSerializer(I18nAwareModelSerializer):
|
||||
qa = QuotaAvailability()
|
||||
qa.queue(*[q for q, d in quota_diff_for_locking.items() if d > 0])
|
||||
qa.compute()
|
||||
v_avail = {}
|
||||
|
||||
# These are not technically correct as diff use due to the time offset applied above, so let's prevent accidental
|
||||
# use further down
|
||||
@@ -1445,11 +1446,13 @@ class OrderCreateSerializer(I18nAwareModelSerializer):
|
||||
|
||||
voucher_usage[v] += 1
|
||||
if voucher_usage[v] > 0:
|
||||
redeemed_in_carts = CartPosition.objects.filter(
|
||||
Q(voucher=pos_data['voucher']) & Q(event=self.context['event']) & Q(expires__gte=now_dt)
|
||||
).exclude(pk__in=[cp.pk for cp in delete_cps])
|
||||
v_avail = v.max_usages - v.redeemed - redeemed_in_carts.count()
|
||||
if v_avail < voucher_usage[v]:
|
||||
if v not in v_avail:
|
||||
v.refresh_from_db(fields=['redeemed'])
|
||||
redeemed_in_carts = CartPosition.objects.filter(
|
||||
Q(voucher=v) & Q(event=self.context['event']) & Q(expires__gte=now_dt)
|
||||
).exclude(pk__in=[cp.pk for cp in delete_cps])
|
||||
v_avail[v] = v.max_usages - v.redeemed - redeemed_in_carts.count()
|
||||
if v_avail[v] < voucher_usage[v]:
|
||||
errs[i]['voucher'] = [
|
||||
'The voucher has already been used the maximum number of times.'
|
||||
]
|
||||
|
||||
@@ -28,6 +28,5 @@ from .items import * # noqa
|
||||
from .json import * # noqa
|
||||
from .mail import * # noqa
|
||||
from .orderlist import * # noqa
|
||||
from .relevant_orderlist import * # noqa
|
||||
from .reusablemedia import * # noqa
|
||||
from .waitinglist import * # noqa
|
||||
|
||||
@@ -89,7 +89,7 @@ class OrderListExporter(MultiSheetListExporter):
|
||||
description = gettext_lazy('Download a spreadsheet of all orders. The spreadsheet will include three sheets, one '
|
||||
'with a line for every order, one with a line for every order position, and one with '
|
||||
'a line for every additional fee charged in an order.')
|
||||
featured = False
|
||||
featured = True
|
||||
repeatable_read = False
|
||||
|
||||
@cached_property
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
19
src/pretix/base/migrations/0299_itemprogramtime_location.py
Normal file
19
src/pretix/base/migrations/0299_itemprogramtime_location.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 4.2.27 on 2026-01-21 12:06
|
||||
|
||||
import i18nfield.fields
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("pretixbase", "0298_pluggable_permissions"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name="itemprogramtime",
|
||||
name="location",
|
||||
field=i18nfield.fields.I18nTextField(max_length=200, null=True),
|
||||
)
|
||||
]
|
||||
@@ -2306,10 +2306,17 @@ class ItemProgramTime(models.Model):
|
||||
:type start: datetime
|
||||
:param end: The date and time this program time ends
|
||||
:type end: datetime
|
||||
:param location: venue
|
||||
:type location: str
|
||||
"""
|
||||
item = models.ForeignKey('Item', related_name='program_times', on_delete=models.CASCADE)
|
||||
start = models.DateTimeField(verbose_name=_("Start"))
|
||||
end = models.DateTimeField(verbose_name=_("End"))
|
||||
location = I18nTextField(
|
||||
null=True, blank=True,
|
||||
max_length=200,
|
||||
verbose_name=_("Location"),
|
||||
)
|
||||
|
||||
def clean(self):
|
||||
if hasattr(self, 'item') and self.item and self.item.event.has_subevents:
|
||||
|
||||
@@ -498,9 +498,9 @@ DEFAULT_VARIABLES = OrderedDict((
|
||||
) if op.valid_until else ""
|
||||
}),
|
||||
("program_times", {
|
||||
"label": _("Program times: date and time"),
|
||||
"label": _("Program times"),
|
||||
"editor_sample": _(
|
||||
"2017-05-31 10:00 – 12:00\n2017-05-31 14:00 – 16:00\n2017-05-31 14:00 – 2017-06-01 14:00"),
|
||||
"2017-05-31 10:00 – 12:00, Room 1\n2017-05-31 14:00 – 16:00, Room 2\n2017-05-31 14:00 – 2017-06-01 14:00, Building A"),
|
||||
"evaluate": lambda op, order, ev: get_program_times(op, ev)
|
||||
}),
|
||||
("medium_identifier", {
|
||||
@@ -748,13 +748,19 @@ def get_seat(op: OrderPosition):
|
||||
|
||||
|
||||
def get_program_times(op: OrderPosition, ev: Event):
|
||||
return '\n'.join([
|
||||
datetimerange(
|
||||
pt.start.astimezone(ev.timezone),
|
||||
pt.end.astimezone(ev.timezone),
|
||||
as_html=False
|
||||
) for pt in op.item.program_times.all()
|
||||
])
|
||||
ptstr = []
|
||||
for pt in op.item.program_times.all():
|
||||
ptstr.append([
|
||||
datetimerange(
|
||||
pt.start.astimezone(ev.timezone),
|
||||
pt.end.astimezone(ev.timezone),
|
||||
as_html=False
|
||||
),
|
||||
(', ' + ', '.join(
|
||||
l.strip() for l in str(pt.location).splitlines() if l.strip())
|
||||
) if str(pt.location).strip() else ''
|
||||
])
|
||||
return '\n'.join(''.join(l) for l in ptstr)
|
||||
|
||||
|
||||
def generate_compressed_addon_list(op, order, event, only_checked_in=False):
|
||||
|
||||
@@ -727,8 +727,6 @@ def _check_positions(event: Event, now_dt: datetime, time_machine_now_dt: dateti
|
||||
_check_date(event, time_machine_now_dt)
|
||||
|
||||
products_seen = Counter()
|
||||
q_avail = Counter()
|
||||
v_avail = Counter()
|
||||
v_usages = Counter()
|
||||
v_budget = {}
|
||||
deleted_positions = set()
|
||||
@@ -793,6 +791,9 @@ def _check_positions(event: Event, now_dt: datetime, time_machine_now_dt: dateti
|
||||
shared_lock_objects=[event]
|
||||
)
|
||||
|
||||
q_avail = Counter()
|
||||
v_avail = Counter()
|
||||
|
||||
# Check maximum order size
|
||||
limit = min(int(event.settings.max_items_per_order), settings.PRETIX_MAX_ORDER_SIZE)
|
||||
if sum(1 for cp in sorted_positions if not cp.addon_to) > limit:
|
||||
|
||||
@@ -574,7 +574,7 @@ class ItemCreateForm(I18nModelForm):
|
||||
instance.bundles.create(bundled_item=b.bundled_item, bundled_variation=b.bundled_variation,
|
||||
count=b.count, designated_price=b.designated_price)
|
||||
for pt in self.cleaned_data['copy_from'].program_times.all():
|
||||
instance.program_times.create(start=pt.start, end=pt.end)
|
||||
instance.program_times.create(start=pt.start, end=pt.end, location=pt.location)
|
||||
|
||||
item_copy_data.send(sender=self.event, source=self.cleaned_data['copy_from'], target=instance)
|
||||
|
||||
@@ -1354,6 +1354,10 @@ class ItemProgramTimeForm(I18nModelForm):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['end'].widget.attrs['data-date-after'] = '#id_{prefix}-start_0'.format(prefix=self.prefix)
|
||||
self.fields['location'].widget.attrs['rows'] = '3'
|
||||
self.fields['location'].widget.attrs['placeholder'] = _(
|
||||
'Sample Conference Center, Heidelberg, Germany'
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = ItemProgramTime
|
||||
@@ -1361,6 +1365,7 @@ class ItemProgramTimeForm(I18nModelForm):
|
||||
fields = [
|
||||
'start',
|
||||
'end',
|
||||
'location'
|
||||
]
|
||||
field_classes = {
|
||||
'start': forms.SplitDateTimeField,
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
{% bootstrap_form_errors form %}
|
||||
{% bootstrap_field form.start layout="control" %}
|
||||
{% bootstrap_field form.end layout="control" %}
|
||||
{% bootstrap_field form.location layout="control" %}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
@@ -59,6 +60,7 @@
|
||||
<div class="panel-body form-horizontal">
|
||||
{% bootstrap_field formset.empty_form.start layout="control" %}
|
||||
{% bootstrap_field formset.empty_form.end layout="control" %}
|
||||
{% bootstrap_field formset.empty_form.location layout="control" %}
|
||||
</div>
|
||||
</div>
|
||||
{% endescapescript %}
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
<form action="{% url "control:organizer.device.bulk_edit" organizer=request.organizer.slug %}" method="post">
|
||||
<form action="#will-be-overridden" method="post">
|
||||
{% csrf_token %}
|
||||
{% for field in filter_form %}
|
||||
{{ field.as_hidden }}
|
||||
|
||||
@@ -846,7 +846,7 @@ msgstr "Details der Bestellposition"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:129
|
||||
msgid "Attendee details"
|
||||
msgstr "Details Teilnehmer"
|
||||
msgstr "Details Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:130 pretix/base/exporters/answers.py:66
|
||||
#: pretix/base/models/items.py:1767 pretix/control/navigation.py:185
|
||||
@@ -908,13 +908,13 @@ msgstr "Veranstaltungs- oder Termininformationen"
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html:50
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html:36
|
||||
msgid "Attendee name"
|
||||
msgstr "Name Teilnehmer"
|
||||
msgstr "Name Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:187
|
||||
#: pretix/base/datasync/sourcefields.py:604
|
||||
#: pretix/base/datasync/sourcefields.py:628
|
||||
msgid "Attendee"
|
||||
msgstr "Teilnehmer"
|
||||
msgstr "Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:207
|
||||
#: pretix/base/exporters/orderlist.py:647 pretix/base/forms/questions.py:699
|
||||
@@ -925,11 +925,11 @@ msgstr "Teilnehmer"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:172
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:175
|
||||
msgid "Attendee email"
|
||||
msgstr "E-Mail Teilnehmer"
|
||||
msgstr "E-Mail Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:219
|
||||
msgid "Attendee or order email"
|
||||
msgstr "E-Mail Teilnehmer oder Bestellung"
|
||||
msgstr "E-Mail Teilnehmer*in oder Bestellung"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:232
|
||||
#: pretix/base/exporters/orderlist.py:648 pretix/base/pdf.py:188
|
||||
@@ -939,23 +939,23 @@ msgstr "E-Mail Teilnehmer oder Bestellung"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:182
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:185
|
||||
msgid "Attendee company"
|
||||
msgstr "Teilnehmer-Firma"
|
||||
msgstr "Teilnehmer*innen-Firma"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:241
|
||||
msgid "Attendee address street"
|
||||
msgstr "Teilnehmer-Adresse: Straße"
|
||||
msgstr "Teilnehmer*innen-Adresse: Straße"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:250
|
||||
msgid "Attendee address ZIP code"
|
||||
msgstr "Teilnehmer-Adresse: PLZ"
|
||||
msgstr "Teilnehmer*innen-Adresse: PLZ"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:259
|
||||
msgid "Attendee address city"
|
||||
msgstr "Teilnehmer-Adresse: Stadt"
|
||||
msgstr "Teilnehmer*innen-Adresse: Stadt"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:268
|
||||
msgid "Attendee address country"
|
||||
msgstr "Teilnehmer-Adresse: Land"
|
||||
msgstr "Teilnehmer*innen-Adresse: Land"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:279
|
||||
#: pretix/base/exporters/orderlist.py:690 pretix/base/pdf.py:346
|
||||
@@ -1233,7 +1233,7 @@ msgid ""
|
||||
"Download a ZIP file including all files that have been uploaded by your "
|
||||
"customers while creating an order."
|
||||
msgstr ""
|
||||
"ZIP-Datei mit allen Dateien, die von Kunden im Bestellprozess als "
|
||||
"ZIP-Datei mit allen Dateien, die von Kund*innen im Bestellprozess als "
|
||||
"Antwort auf eine Frage hochgeladen wurden."
|
||||
|
||||
#: pretix/base/exporters/answers.py:76 pretix/base/exporters/orderlist.py:628
|
||||
@@ -2191,10 +2191,6 @@ msgstr "Ohne gültige Mitgliedschaft verstecken"
|
||||
msgid "Order data"
|
||||
msgstr "Bestelldaten"
|
||||
|
||||
#: pretix/base/exporters/relevant_orderlist.py:86
|
||||
msgid "Order data (sorted by relevance)"
|
||||
msgstr "Bestelldaten (nach Relevanz sortiert)"
|
||||
|
||||
#: pretix/base/exporters/json.py:53
|
||||
msgid ""
|
||||
"Download a structured JSON representation of all orders. This might be "
|
||||
@@ -2212,8 +2208,8 @@ msgid ""
|
||||
"Download a text file with all email addresses collected either from buyers "
|
||||
"or from ticket holders."
|
||||
msgstr ""
|
||||
"Textdatei mit allen E-Mail-Adressen, die von Käufern und "
|
||||
"Ticketinhaber eingesammelt wurden."
|
||||
"Textdatei mit allen E-Mail-Adressen, die von Käufer*innen und "
|
||||
"Ticketinhaber*innen eingesammelt wurden."
|
||||
|
||||
#: pretix/base/exporters/mail.py:76 pretix/plugins/reports/exporters.py:502
|
||||
#: pretix/plugins/reports/exporters.py:685
|
||||
@@ -2231,18 +2227,6 @@ msgstr ""
|
||||
"Bestellposition und das dritte eine Zeile für jede zusätzlich erhobene "
|
||||
"Gebühr."
|
||||
|
||||
#: pretix/base/exporters/relevant_orderlist.py:88
|
||||
msgid ""
|
||||
"Download a spreadsheet of all orders. The spreadsheet will include three "
|
||||
"sheets, one with a line for every order, one with a line for every order "
|
||||
"position, and one with a line for every additional fee charged in an "
|
||||
"order. The most relevant data is in the first columns of the tables."
|
||||
msgstr ""
|
||||
"Tabelle (Excel oder CSV) mit allen Bestellungen. Das erste Tabellenblatt "
|
||||
"enthält eine Zeile für jede Bestellung, das zweite eine Zeile für jede "
|
||||
"Bestellposition und das dritte eine Zeile für jede zusätzlich erhobene "
|
||||
"Gebühr. Die relevantesten Daten sind in den ersten Spalten der Tabellen."
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:102 pretix/base/models/orders.py:336
|
||||
#: pretix/base/permissions.py:228 pretix/control/navigation.py:267
|
||||
#: pretix/control/navigation.py:387
|
||||
@@ -4197,7 +4181,7 @@ msgstr "Bitte wählen Sie einen gültigen Staat aus."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:359 pretix/control/forms/filter.py:688
|
||||
msgid "Attendee email address"
|
||||
msgstr "Teilnehmer-E-Mail-Adresse"
|
||||
msgstr "Teilnehmer*innen-E-Mail-Adresse"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:375 pretix/base/modelimport_orders.py:386
|
||||
#: pretix/base/modelimport_orders.py:397 pretix/base/modelimport_orders.py:408
|
||||
@@ -4209,7 +4193,7 @@ msgstr "Teilnehmer-E-Mail-Adresse"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:193
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:196
|
||||
msgid "Attendee address"
|
||||
msgstr "Teilnehmer-Adresse"
|
||||
msgstr "Teilnehmer*innen-Adresse"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:445
|
||||
msgid "State"
|
||||
@@ -8072,7 +8056,7 @@ msgstr "Musterfirma GmbH"
|
||||
|
||||
#: pretix/base/pdf.py:193
|
||||
msgid "Full attendee address"
|
||||
msgstr "Volle Teilnehmer-Adresse"
|
||||
msgstr "Volle Teilnehmer*innen-Adresse"
|
||||
|
||||
#: pretix/base/pdf.py:194
|
||||
msgid ""
|
||||
@@ -8090,23 +8074,23 @@ msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py:198
|
||||
msgid "Attendee street"
|
||||
msgstr "Teilnehmer-Straße"
|
||||
msgstr "Teilnehmer*innen-Straße"
|
||||
|
||||
#: pretix/base/pdf.py:203
|
||||
msgid "Attendee ZIP code"
|
||||
msgstr "Teilnehmer-PLZ"
|
||||
msgstr "Teilnehmer*innen-PLZ"
|
||||
|
||||
#: pretix/base/pdf.py:208
|
||||
msgid "Attendee city"
|
||||
msgstr "Teilnehmer-Stadt"
|
||||
msgstr "Teilnehmer*innen-Stadt"
|
||||
|
||||
#: pretix/base/pdf.py:213
|
||||
msgid "Attendee state"
|
||||
msgstr "Teilnehmer-Bundesstaat"
|
||||
msgstr "Teilnehmer*innen-Bundesstaat"
|
||||
|
||||
#: pretix/base/pdf.py:218
|
||||
msgid "Attendee country"
|
||||
msgstr "Teilnehmer-Land"
|
||||
msgstr "Teilnehmer*innen-Land"
|
||||
|
||||
#: pretix/base/pdf.py:230
|
||||
msgid "Pseudonymization ID (lead scanning)"
|
||||
@@ -8403,7 +8387,7 @@ msgstr "Herr Mustermann"
|
||||
#: pretix/plugins/ticketoutputpdf/exporters.py:99
|
||||
#, python-brace-format
|
||||
msgid "Attendee name: {part}"
|
||||
msgstr "Teilnehmername: {part}"
|
||||
msgstr "Teilnehmer*innenname: {part}"
|
||||
|
||||
#: pretix/base/pdf.py:695
|
||||
msgid "Invoice address name for salutation"
|
||||
@@ -9311,7 +9295,7 @@ msgstr "Veranstaltungsort: {location}"
|
||||
#, python-brace-format
|
||||
msgctxt "invoice"
|
||||
msgid "Attendee: {name}"
|
||||
msgstr "Teilnehmer: {name}"
|
||||
msgstr "Teilnehmer*in: {name}"
|
||||
|
||||
#: pretix/base/services/invoices.py:293 pretix/plugins/reports/exporters.py:308
|
||||
#, python-brace-format
|
||||
@@ -10167,7 +10151,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:362
|
||||
msgid "Hide prices on attendee ticket page"
|
||||
msgstr "Preise auf Teilnehmer-Ticket-Seite verstecken"
|
||||
msgstr "Preise auf Teilnehmer*innen-Ticket-Seite verstecken"
|
||||
|
||||
#: pretix/base/settings.py:363
|
||||
msgid ""
|
||||
@@ -10177,13 +10161,13 @@ msgid ""
|
||||
"price."
|
||||
msgstr ""
|
||||
"Wenn eine Person mehrere Tickets erwirbt und E-Mails an alle "
|
||||
"Teilnehmer verschickt werden, wird mit dieser Option der Ticketpreis "
|
||||
"auf der Ticket-Seite der einzelnen Teilnehmer versteckt. Nur die "
|
||||
"Teilnehmer*innen verschickt werden, wird mit dieser Option der Ticketpreis "
|
||||
"auf der Ticket-Seite der einzelnen Teilnehmer*innen versteckt. Nur die "
|
||||
"Person, welche die Tickets kauft, sieht den Preis."
|
||||
|
||||
#: pretix/base/settings.py:381
|
||||
msgid "Ask for attendee names"
|
||||
msgstr "Namen der Teilnehmer erfragen"
|
||||
msgstr "Namen der Teilnehmer*innen erfragen"
|
||||
|
||||
#: pretix/base/settings.py:382
|
||||
msgid "Ask for a name for all personalized tickets."
|
||||
@@ -10192,11 +10176,11 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:391
|
||||
msgid "Require attendee names"
|
||||
msgstr "Namen der Teilnehmer erfordern"
|
||||
msgstr "Namen der Teilnehmer*innen erfordern"
|
||||
|
||||
#: pretix/base/settings.py:392
|
||||
msgid "Require customers to fill in the names of all attendees."
|
||||
msgstr "Erfordere die Eingabe aller Teilnehmer-Namen."
|
||||
msgstr "Erfordere die Eingabe aller Teilnehmer*innen-Namen."
|
||||
|
||||
#: pretix/base/settings.py:402
|
||||
msgid "Ask for email addresses per ticket"
|
||||
@@ -10727,8 +10711,8 @@ msgid ""
|
||||
"but no indication of missing payment will be visible on the ticket pages of "
|
||||
"attendees who did not buy the ticket themselves."
|
||||
msgstr ""
|
||||
"Die Box mit Zahlungsinstruktionen wird Ticketkäufern weiter angezeigt, "
|
||||
"aber Teilnehmern, die ihr Ticket nicht selbst gekauft haben, werden "
|
||||
"Die Box mit Zahlungsinstruktionen wird Ticketkäufer*innen weiter angezeigt, "
|
||||
"aber Teilnehmer*innen, die ihr Ticket nicht selbst gekauft haben, werden "
|
||||
"keine Anzeichen des fehlenden Zahlungseingangs sehen."
|
||||
|
||||
#: pretix/base/settings.py:1107
|
||||
@@ -11226,7 +11210,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:1750
|
||||
msgid "Show number of check-ins to customer"
|
||||
msgstr "Zeige Anzahl der Check-ins für Kunden an"
|
||||
msgstr "Zeige Anzahl der Check-ins für Kund*innen an"
|
||||
|
||||
#: pretix/base/settings.py:1751
|
||||
msgid ""
|
||||
@@ -11237,12 +11221,12 @@ msgid ""
|
||||
"failed scans will not be counted, and the user will not see the different "
|
||||
"check-in lists."
|
||||
msgstr ""
|
||||
"Wenn diese Option aktiv ist, können Kunden selbst sehen, wie oft sie die "
|
||||
"Wenn diese Option aktiv ist, können Kund*innen selbst sehen, wie oft sie die "
|
||||
"Veranstaltung betreten haben. Das ist normalerweise nicht nötig, aber kann "
|
||||
"nützlich sein, wenn es Tickets gibt, die eine bestimmte Anzahl an Eintritten "
|
||||
"erlauben, sodass Kunden die bisherige Nutzung des Tickets einsehen "
|
||||
"erlauben, sodass Kund*innen die bisherige Nutzung des Tickets einsehen "
|
||||
"können. Ausgänge oder fehlgeschlagene Scans werden nicht angezeigt und die "
|
||||
"Kunden sehen keine Aufschlüsselung verschiedener Check-in-Listen."
|
||||
"Kund*innen sehen keine Aufschlüsselung verschiedener Check-in-Listen."
|
||||
|
||||
#: pretix/base/settings.py:1764
|
||||
msgid "Allow users to download tickets"
|
||||
@@ -11423,7 +11407,7 @@ msgstr ""
|
||||
#: pretix/base/settings.py:1927 pretix/base/settings.py:1936
|
||||
msgid "Both the attendee and the person who ordered can make changes"
|
||||
msgstr ""
|
||||
"Sowohl Besteller als auch Teilnehmer können Änderungen vornehmen"
|
||||
"Sowohl Besteller*in als auch Teilnehmer*innen können Änderungen vornehmen"
|
||||
|
||||
#: pretix/base/settings.py:1931
|
||||
msgid "Allow customers to modify their information"
|
||||
@@ -11531,7 +11515,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:2037
|
||||
msgid "Allow individual attendees to change their ticket"
|
||||
msgstr "Erlaubt einzelnen Teilnehmern ihr Ticket zu ändern"
|
||||
msgstr "Erlaubt einzelnen Teilnehmer*innen ihr Ticket zu ändern"
|
||||
|
||||
#: pretix/base/settings.py:2038
|
||||
msgid ""
|
||||
@@ -11543,7 +11527,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Standardmäßig kann nur die Person, welche die Tickets gekauft hat, "
|
||||
"Änderungen an der Bestellung vornehmen. Wenn diese Option aktiv ist, können "
|
||||
"auch einzelne Teilnehmer Änderungen vornehmen. Teilnehmer können "
|
||||
"auch einzelne Teilnehmer*innen Änderungen vornehmen. Teilnehmer*innen können "
|
||||
"jedoch immer nur Änderungen vornehmen, welche die Gesamtkosten der "
|
||||
"Bestellung nicht verändern. Solche Änderungen können nur vom Ticketkäufer "
|
||||
"vorgenommen werden."
|
||||
@@ -11839,7 +11823,7 @@ msgid ""
|
||||
"people."
|
||||
msgstr ""
|
||||
"Sie können dieses Feld benutzen, um zusätzliche Informationen mit Ihren "
|
||||
"Teilnehmer zu teilen, wie z.B. Anreise-Informationen oder den Link zu "
|
||||
"Teilnehmer*innen zu teilen, wie z.B. Anreise-Informationen oder den Link zu "
|
||||
"einer digitalen Veranstaltung. Wenn das Feld leer ist, fügen wir automatisch "
|
||||
"einen Link zum Ticketshop, die Einlass-Uhrzeit und den Veranstalter hier "
|
||||
"ein. Es sind keine Platzhalter mit sensiblen personenbezogenen Daten "
|
||||
@@ -12080,8 +12064,8 @@ msgstr ""
|
||||
"Diese Datei wird an die erste E-Mail angehängt, die wir beim Eingang einer "
|
||||
"neuen Bestellung verschicken. Sie kann daher mit den Textvorlagen "
|
||||
"\"Getätigte Bestellung\", \"Kostenlose Bestellung\" oder \"Erhaltene "
|
||||
"Bestellung\" von oben auftreten. Sie wird ggf. sowohl an Besteller als "
|
||||
"auch Teilnehmer verschickt. Nicht geeignet zum Versand nicht-"
|
||||
"Bestellung\" von oben auftreten. Sie wird ggf. sowohl an Besteller*innen als "
|
||||
"auch Teilnehmer*innen verschickt. Nicht geeignet zum Versand nicht-"
|
||||
"öffentlicher Informationen, da die Datei unabhängig davon verschickt wird, "
|
||||
"ob die Bestellung bezahlt oder freigegeben ist. Um zu vermeiden, dass diese "
|
||||
"wichtige E-Mail nicht ankommt, können nur PDF-Dateien mit maximal {size} MB "
|
||||
@@ -15419,7 +15403,7 @@ msgstr "Check-in-Status"
|
||||
#: pretix/control/forms/filter.py:2041
|
||||
#: pretix/plugins/checkinlists/exporters.py:108
|
||||
msgid "All attendees"
|
||||
msgstr "Alle Teilnehmer"
|
||||
msgstr "Alle Teilnehmer*innen"
|
||||
|
||||
#: pretix/control/forms/filter.py:2042
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:183
|
||||
@@ -16003,7 +15987,7 @@ msgid ""
|
||||
"people over 65. This ticket includes access to all parts of the event, "
|
||||
"except the VIP area."
|
||||
msgstr ""
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudent, "
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudent*innen, "
|
||||
"Arbeitslose und Menschen über 65. Das Ticket enthält Zugang zu allen Teilen "
|
||||
"der Veranstaltung außer des VIP-Bereiches."
|
||||
|
||||
@@ -16317,7 +16301,7 @@ msgstr ""
|
||||
#: pretix/control/forms/orders.py:167 pretix/control/forms/orders.py:226
|
||||
#: pretix/control/forms/orders.py:240
|
||||
msgid "Notify customer by email"
|
||||
msgstr "Kunde per E-Mail benachrichtigen"
|
||||
msgstr "Kund*in per E-Mail benachrichtigen"
|
||||
|
||||
#: pretix/control/forms/orders.py:174
|
||||
msgid "Keep a cancellation fee of"
|
||||
@@ -17876,7 +17860,7 @@ msgstr "Eine individuelle E-Mail wurde verschickt."
|
||||
|
||||
#: pretix/control/logdisplay.py:554
|
||||
msgid "A custom email has been sent to an attendee."
|
||||
msgstr "Eine individuelle E-Mail wurde an einen Teilnehmer verschickt."
|
||||
msgstr "Eine individuelle E-Mail wurde an eine Teilnehmer*in verschickt."
|
||||
|
||||
#: pretix/control/logdisplay.py:555
|
||||
msgid ""
|
||||
@@ -19593,7 +19577,7 @@ msgstr "Terminal-ID"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/boxoffice/payment.html:104
|
||||
msgid "Card holder"
|
||||
msgstr "Karteninhaber"
|
||||
msgstr "Karteninhaber*in"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/boxoffice/payment.html:108
|
||||
msgid "Card expiration"
|
||||
@@ -19898,7 +19882,7 @@ msgstr "CSV"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:73
|
||||
msgid "No attendee record was found."
|
||||
msgstr "Keine passenden Teilnehmer gefunden."
|
||||
msgstr "Keine passenden Teilnehmer*innen gefunden."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:91
|
||||
#: pretix/control/templates/pretixcontrol/datasync/failed_jobs.html:19
|
||||
@@ -22720,7 +22704,7 @@ msgid ""
|
||||
"Only purchases of such products will be considered \"attendees\" for most "
|
||||
"statistical purposes or within some plugins."
|
||||
msgstr ""
|
||||
"Nur Käufe eines solchen Produkts werden als \"Teilnehmer\" gewertet, "
|
||||
"Nur Käufe eines solchen Produkts werden als \"Teilnehmer*innen\" gewertet, "
|
||||
"z.B. in Statistiken oder in Funktionen von Erweiterungen."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/item/create.html:39
|
||||
@@ -22799,7 +22783,7 @@ msgid ""
|
||||
"The system will not ask for a name or other attendee details. This only "
|
||||
"affects system-provided fields, you can still add your own questions."
|
||||
msgstr ""
|
||||
"Das System wird nicht nach einem Namen oder anderen Teilnehmer-Daten "
|
||||
"Das System wird nicht nach einem Namen oder anderen Teilnehmer*innen-Daten "
|
||||
"fragen. Dies betrifft nur vom System bereitgestellte Felder, eigene Fragen "
|
||||
"können trotzdem hinzugefügt werden."
|
||||
|
||||
@@ -25072,7 +25056,7 @@ msgstr "Sonstige Datenexporte"
|
||||
#: pretix/control/templates/pretixcontrol/orders/export.html:107
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export.html:107
|
||||
msgid "Recommended for new users"
|
||||
msgstr "Empfohlen für neue Benutzer"
|
||||
msgstr "Empfohlen für neue Benutzer*innen"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/export.html:120
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
|
||||
@@ -26050,7 +26034,7 @@ msgstr "Domains"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/edit.html:320
|
||||
msgid "This dialog is intended for advanced users."
|
||||
msgstr "Dieser Dialog ist für fortgeschrittene Anwender gedacht."
|
||||
msgstr "Dieser Dialog ist für fortgeschrittene Anwender*innen gedacht."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/edit.html:321
|
||||
msgid ""
|
||||
@@ -28455,7 +28439,7 @@ msgid ""
|
||||
"customers. This way, customers will not be able to discover the waiting list."
|
||||
msgstr ""
|
||||
"Entsprechend Ihrer Veranstaltungseinstellungen werden ausverkaufte Produkte "
|
||||
"nicht angezeigt. Dies führt dazu, dass Kunden die Warteliste nicht "
|
||||
"nicht angezeigt. Dies führt dazu, dass Kund*innen die Warteliste nicht "
|
||||
"finden können."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:38
|
||||
@@ -28765,11 +28749,11 @@ msgstr "Das ausgewählte List wurde gelöscht."
|
||||
|
||||
#: pretix/control/views/dashboards.py:115
|
||||
msgid "Attendees (ordered)"
|
||||
msgstr "Teilnehmer (bestellt)"
|
||||
msgstr "Teilnehmende (bestellt)"
|
||||
|
||||
#: pretix/control/views/dashboards.py:125
|
||||
msgid "Attendees (paid)"
|
||||
msgstr "Teilnehmer (bezahlt)"
|
||||
msgstr "Teilnehmende (bezahlt)"
|
||||
|
||||
#: pretix/control/views/dashboards.py:137
|
||||
#, python-brace-format
|
||||
@@ -30838,7 +30822,7 @@ msgstr "PDF-Sammlungen"
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:423
|
||||
msgid "Download all attendee badges as one large PDF for printing."
|
||||
msgstr "Alle Teilnehmer-Badges in einer großen PDF-Datei für den Druck."
|
||||
msgstr "Alle Teilnehmer*innen-Badges in einer großen PDF-Datei für den Druck."
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:444
|
||||
#: pretix/plugins/ticketoutputpdf/exporters.py:80
|
||||
@@ -31113,7 +31097,7 @@ msgstr "Anderes Bankkonto"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:85
|
||||
msgid "Name of account holder"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:87
|
||||
msgid ""
|
||||
@@ -31255,7 +31239,7 @@ msgstr "Bitte überweisen Sie den vollen Betrag auf das folgende Bankkonto:"
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/checkout_payment_confirm.html:32
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/checkout_payment_confirm.html:35
|
||||
msgid "Account holder"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:304
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html:20
|
||||
@@ -31850,7 +31834,7 @@ msgid ""
|
||||
"Download a spreadsheet with all attendees that are included in a check-in "
|
||||
"list."
|
||||
msgstr ""
|
||||
"Tabelle (Excel oder CSV) mit allen Teilnehmer, die in einer Check-in-"
|
||||
"Tabelle (Excel oder CSV) mit allen Teilnehmer*innen, die in einer Check-in-"
|
||||
"Liste zutrittsberechtigt sind."
|
||||
|
||||
#: pretix/plugins/checkinlists/exporters.py:501
|
||||
@@ -33029,7 +33013,7 @@ msgstr "Geplante E-Mails"
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:122
|
||||
msgid "Mass email was sent to customers or attendees."
|
||||
msgstr "Rundmail wurde an Kunden oder Teilnehmer verschickt."
|
||||
msgstr "Rundmail wurde an Kunden oder Teilnehmer*innen verschickt."
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:123
|
||||
msgid "Mass email was sent to waiting list entries."
|
||||
@@ -33061,7 +33045,7 @@ msgstr "Eine automatisierte E-Mail wurde an den Besteller verschickt"
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:142
|
||||
msgid "A scheduled email was sent to a ticket holder"
|
||||
msgstr "Eine automatisierte E-Mail wurde an eine Teilnehmer verschickt."
|
||||
msgstr "Eine automatisierte E-Mail wurde an eine Teilnehmer*in verschickt."
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:143
|
||||
msgid "An email rule was deleted"
|
||||
@@ -33094,7 +33078,7 @@ msgstr "Alle nicht eingecheckten Kunden"
|
||||
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/history_fragment_orders.html:23
|
||||
msgid "Attendee contact addresses"
|
||||
msgstr "Teilnehmer-E-Mail-Adressen"
|
||||
msgstr "Teilnehmer*innen-E-Mail-Adressen"
|
||||
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/history_fragment_orders.html:25
|
||||
msgid "All contact addresses"
|
||||
@@ -33253,14 +33237,14 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:250
|
||||
msgid "Orders or attendees"
|
||||
msgstr "Bestellungen oder Teilnehmer"
|
||||
msgstr "Bestellungen oder Teilnehmer*innen"
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:251
|
||||
msgid ""
|
||||
"Send an email to every customer, or to every person a ticket has been "
|
||||
"purchased for, or a combination of both."
|
||||
msgstr ""
|
||||
"Senden Sie eine E-Mail an alle Ticketkäufer, alle Ticketinhaber "
|
||||
"Senden Sie eine E-Mail an alle Ticketkäufer*innen, alle Ticketinhaber*innen "
|
||||
"oder eine Kombination aus beiden Gruppen."
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:417
|
||||
@@ -33842,23 +33826,23 @@ msgstr "SEPA-Lastschrift"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1277
|
||||
msgid "Account Holder Name"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1282
|
||||
msgid "Account Holder Street"
|
||||
msgstr "Straße (Kontoinhaber)"
|
||||
msgstr "Straße (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1294
|
||||
msgid "Account Holder Postal Code"
|
||||
msgstr "PLZ (Kontoinhaber)"
|
||||
msgstr "PLZ (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1306
|
||||
msgid "Account Holder City"
|
||||
msgstr "Stadt (Kontoinhaber)"
|
||||
msgstr "Stadt (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1318
|
||||
msgid "Account Holder Country"
|
||||
msgstr "Land (Kontoinhaber)"
|
||||
msgstr "Land (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1362
|
||||
msgid "Affirm via Stripe"
|
||||
@@ -34309,7 +34293,7 @@ msgstr "MOTO"
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:64
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:67
|
||||
msgid "Payer name"
|
||||
msgstr "Name des Zahlers"
|
||||
msgstr "Name des Zahlenden"
|
||||
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:91
|
||||
msgid "Payment receipt"
|
||||
@@ -35702,7 +35686,7 @@ msgstr[1] "Das Ticket wurde %(count)s-mal eingelöst."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:166
|
||||
msgid "No attendee name provided"
|
||||
msgstr "Name des Teilnehmenrs nicht angegeben"
|
||||
msgstr "Name der teilnehmenden Person nicht angegeben"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:219
|
||||
msgid "The image you previously uploaded"
|
||||
@@ -37464,12 +37448,12 @@ msgstr ""
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profiles.html:11
|
||||
#: pretix/presale/views/customer.py:386
|
||||
msgid "Attendee profiles"
|
||||
msgstr "Teilnehmer-Profile"
|
||||
msgstr "Teilnehmer*innen-Profile"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profiles.html:37
|
||||
msgid "You don’t have any attendee profiles in your account yet."
|
||||
msgstr ""
|
||||
"In Ihrem Kundenkonto sind noch keine Teilnehmer-Profile gespeichert."
|
||||
"In Ihrem Kundenkonto sind noch keine Teilnehmer*innen-Profile gespeichert."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_registration.html:7
|
||||
msgid "Registration"
|
||||
@@ -39057,7 +39041,7 @@ msgstr "Kosovo"
|
||||
#~ "This plugin allows you to generate badges or name tags for your attendees."
|
||||
#~ msgstr ""
|
||||
#~ "Diese Erweiterung erlaubt, Namensschilder oder Badges für die "
|
||||
#~ "Teilnehmer zu erstellen."
|
||||
#~ "Teilnehmer*innen zu erstellen."
|
||||
|
||||
#~ msgid "This plugin allows you to receive payments via PayPal"
|
||||
#~ msgstr "Dieses Plugin erlaubt, Zahlungen über PayPal anzunehmen"
|
||||
|
||||
@@ -848,7 +848,7 @@ msgstr "Details der Bestellposition"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:129
|
||||
msgid "Attendee details"
|
||||
msgstr "Details Teilnehmer"
|
||||
msgstr "Details Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:130 pretix/base/exporters/answers.py:66
|
||||
#: pretix/base/models/items.py:1767 pretix/control/navigation.py:185
|
||||
@@ -910,13 +910,13 @@ msgstr "Veranstaltungs- oder Termininformationen"
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html:50
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html:36
|
||||
msgid "Attendee name"
|
||||
msgstr "Name Teilnehmer"
|
||||
msgstr "Name Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:187
|
||||
#: pretix/base/datasync/sourcefields.py:604
|
||||
#: pretix/base/datasync/sourcefields.py:628
|
||||
msgid "Attendee"
|
||||
msgstr "Teilnehmer"
|
||||
msgstr "Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:207
|
||||
#: pretix/base/exporters/orderlist.py:647 pretix/base/forms/questions.py:699
|
||||
@@ -927,11 +927,11 @@ msgstr "Teilnehmer"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:172
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:175
|
||||
msgid "Attendee email"
|
||||
msgstr "E-Mail Teilnehmer"
|
||||
msgstr "E-Mail Teilnehmer*in"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:219
|
||||
msgid "Attendee or order email"
|
||||
msgstr "E-Mail Teilnehmer oder Bestellung"
|
||||
msgstr "E-Mail Teilnehmer*in oder Bestellung"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:232
|
||||
#: pretix/base/exporters/orderlist.py:648 pretix/base/pdf.py:188
|
||||
@@ -941,23 +941,23 @@ msgstr "E-Mail Teilnehmer oder Bestellung"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:182
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:185
|
||||
msgid "Attendee company"
|
||||
msgstr "Teilnehmer-Firma"
|
||||
msgstr "Teilnehmer*innen-Firma"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:241
|
||||
msgid "Attendee address street"
|
||||
msgstr "Teilnehmer-Adresse: Straße"
|
||||
msgstr "Teilnehmer*innen-Adresse: Straße"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:250
|
||||
msgid "Attendee address ZIP code"
|
||||
msgstr "Teilnehmer-Adresse: PLZ"
|
||||
msgstr "Teilnehmer*innen-Adresse: PLZ"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:259
|
||||
msgid "Attendee address city"
|
||||
msgstr "Teilnehmer-Adresse: Stadt"
|
||||
msgstr "Teilnehmer*innen-Adresse: Stadt"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:268
|
||||
msgid "Attendee address country"
|
||||
msgstr "Teilnehmer-Adresse: Land"
|
||||
msgstr "Teilnehmer*innen-Adresse: Land"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:279
|
||||
#: pretix/base/exporters/orderlist.py:690 pretix/base/pdf.py:346
|
||||
@@ -1235,7 +1235,7 @@ msgid ""
|
||||
"Download a ZIP file including all files that have been uploaded by your "
|
||||
"customers while creating an order."
|
||||
msgstr ""
|
||||
"ZIP-Datei mit allen Dateien, die von Kunden im Bestellprozess als "
|
||||
"ZIP-Datei mit allen Dateien, die von Kund*innen im Bestellprozess als "
|
||||
"Antwort auf eine Frage hochgeladen wurden."
|
||||
|
||||
#: pretix/base/exporters/answers.py:76 pretix/base/exporters/orderlist.py:628
|
||||
@@ -2210,8 +2210,8 @@ msgid ""
|
||||
"Download a text file with all email addresses collected either from buyers "
|
||||
"or from ticket holders."
|
||||
msgstr ""
|
||||
"Textdatei mit allen E-Mail-Adressen, die von Käufer und "
|
||||
"Ticketinhaber eingesammelt wurden."
|
||||
"Textdatei mit allen E-Mail-Adressen, die von Käufer*innen und "
|
||||
"Ticketinhaber*innen eingesammelt wurden."
|
||||
|
||||
#: pretix/base/exporters/mail.py:76 pretix/plugins/reports/exporters.py:502
|
||||
#: pretix/plugins/reports/exporters.py:685
|
||||
@@ -4183,7 +4183,7 @@ msgstr "Bitte wähle einen gültigen Staat aus."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:359 pretix/control/forms/filter.py:688
|
||||
msgid "Attendee email address"
|
||||
msgstr "Teilnehmer-E-Mail-Adresse"
|
||||
msgstr "Teilnehmer*innen-E-Mail-Adresse"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:375 pretix/base/modelimport_orders.py:386
|
||||
#: pretix/base/modelimport_orders.py:397 pretix/base/modelimport_orders.py:408
|
||||
@@ -4195,7 +4195,7 @@ msgstr "Teilnehmer-E-Mail-Adresse"
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:193
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:196
|
||||
msgid "Attendee address"
|
||||
msgstr "Teilnehmer-Adresse"
|
||||
msgstr "Teilnehmer*innen-Adresse"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:445
|
||||
msgid "State"
|
||||
@@ -8049,7 +8049,7 @@ msgstr "Musterfirma"
|
||||
|
||||
#: pretix/base/pdf.py:193
|
||||
msgid "Full attendee address"
|
||||
msgstr "Volle Teilnehmer-Adresse"
|
||||
msgstr "Volle Teilnehmer*innen-Adresse"
|
||||
|
||||
#: pretix/base/pdf.py:194
|
||||
msgid ""
|
||||
@@ -8067,23 +8067,23 @@ msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py:198
|
||||
msgid "Attendee street"
|
||||
msgstr "Teilnehmer-Straße"
|
||||
msgstr "Teilnehmer*innen-Straße"
|
||||
|
||||
#: pretix/base/pdf.py:203
|
||||
msgid "Attendee ZIP code"
|
||||
msgstr "Teilnehmer-PLZ"
|
||||
msgstr "Teilnehmer*innen-PLZ"
|
||||
|
||||
#: pretix/base/pdf.py:208
|
||||
msgid "Attendee city"
|
||||
msgstr "Teilnehmer-Stadt"
|
||||
msgstr "Teilnehmer*innen-Stadt"
|
||||
|
||||
#: pretix/base/pdf.py:213
|
||||
msgid "Attendee state"
|
||||
msgstr "Teilnehmer-Bundesstaat"
|
||||
msgstr "Teilnehmer*innen-Bundesstaat"
|
||||
|
||||
#: pretix/base/pdf.py:218
|
||||
msgid "Attendee country"
|
||||
msgstr "Teilnehmer-Land"
|
||||
msgstr "Teilnehmer*innen-Land"
|
||||
|
||||
#: pretix/base/pdf.py:230
|
||||
msgid "Pseudonymization ID (lead scanning)"
|
||||
@@ -8380,7 +8380,7 @@ msgstr "Herr Mustermann"
|
||||
#: pretix/plugins/ticketoutputpdf/exporters.py:99
|
||||
#, python-brace-format
|
||||
msgid "Attendee name: {part}"
|
||||
msgstr "Teilnehmer: {part}"
|
||||
msgstr "Teilnehmer*innenname: {part}"
|
||||
|
||||
#: pretix/base/pdf.py:695
|
||||
msgid "Invoice address name for salutation"
|
||||
@@ -9285,7 +9285,7 @@ msgstr "Veranstaltungsort: {location}"
|
||||
#, python-brace-format
|
||||
msgctxt "invoice"
|
||||
msgid "Attendee: {name}"
|
||||
msgstr "Teilnehmer: {name}"
|
||||
msgstr "Teilnehmer*in: {name}"
|
||||
|
||||
#: pretix/base/services/invoices.py:293 pretix/plugins/reports/exporters.py:308
|
||||
#, python-brace-format
|
||||
@@ -10139,7 +10139,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:362
|
||||
msgid "Hide prices on attendee ticket page"
|
||||
msgstr "Preise auf Teilnehmer-Ticket-Seite verstecken"
|
||||
msgstr "Preise auf Teilnehmer*innen-Ticket-Seite verstecken"
|
||||
|
||||
#: pretix/base/settings.py:363
|
||||
msgid ""
|
||||
@@ -10149,13 +10149,13 @@ msgid ""
|
||||
"price."
|
||||
msgstr ""
|
||||
"Wenn eine Person mehrere Tickets erwirbt und E-Mails an alle "
|
||||
"Teilnehmer verschickt werden, wird mit dieser Option der Ticketpreis "
|
||||
"auf der Ticket-Seite der einzelnen Teilnehmer versteckt. Nur die "
|
||||
"Teilnehmer*innen verschickt werden, wird mit dieser Option der Ticketpreis "
|
||||
"auf der Ticket-Seite der einzelnen Teilnehmer*innen versteckt. Nur die "
|
||||
"Person, welche die Tickets kauft, sieht den Preis."
|
||||
|
||||
#: pretix/base/settings.py:381
|
||||
msgid "Ask for attendee names"
|
||||
msgstr "Namen der Teilnehmer erfragen"
|
||||
msgstr "Namen der Teilnehmer*innen erfragen"
|
||||
|
||||
#: pretix/base/settings.py:382
|
||||
msgid "Ask for a name for all personalized tickets."
|
||||
@@ -10164,11 +10164,11 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:391
|
||||
msgid "Require attendee names"
|
||||
msgstr "Namen der Teilnehmer erfordern"
|
||||
msgstr "Namen der Teilnehmer*innen erfordern"
|
||||
|
||||
#: pretix/base/settings.py:392
|
||||
msgid "Require customers to fill in the names of all attendees."
|
||||
msgstr "Erfordere die Eingabe aller Teilnehmer-Namen."
|
||||
msgstr "Erfordere die Eingabe aller Teilnehmer*innen-Namen."
|
||||
|
||||
#: pretix/base/settings.py:402
|
||||
msgid "Ask for email addresses per ticket"
|
||||
@@ -10190,7 +10190,7 @@ msgstr ""
|
||||
"aktivierst, fragt das System zusätzlich nach einzelnen E-Mail-Adressen für "
|
||||
"jedes personalisierte Ticket in der Bestellung. Dies könnte z.B. nützlich "
|
||||
"sein, wenn du auch im Falle von Gruppenbestellungen individuelle Adressen "
|
||||
"von jedem Teilnehmer benötigst. pretix sendet die Bestellbestätigung "
|
||||
"von jeder Teilnehmer*in benötigst. pretix sendet die Bestellbestätigung "
|
||||
"standardmäßig nach wie vor nur an die primäre Adresse, dies kann jedoch in "
|
||||
"den E-Mail-Einstellungen angepasst werden."
|
||||
|
||||
@@ -10698,8 +10698,8 @@ msgid ""
|
||||
"but no indication of missing payment will be visible on the ticket pages of "
|
||||
"attendees who did not buy the ticket themselves."
|
||||
msgstr ""
|
||||
"Die Box mit Zahlungsinstruktionen wird Ticketkäufern weiter angezeigt, "
|
||||
"aber Teilnehmer, die ihr Ticket nicht selbst gekauft haben, werden "
|
||||
"Die Box mit Zahlungsinstruktionen wird Ticketkäufer*innen weiter angezeigt, "
|
||||
"aber Teilnehmer*innen, die ihr Ticket nicht selbst gekauft haben, werden "
|
||||
"keine Anzeichen des fehlenden Zahlungseingangs sehen."
|
||||
|
||||
#: pretix/base/settings.py:1107
|
||||
@@ -11197,7 +11197,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:1750
|
||||
msgid "Show number of check-ins to customer"
|
||||
msgstr "Zeige Anzahl der Check-ins für Kunden an"
|
||||
msgstr "Zeige Anzahl der Check-ins für Kund*innen an"
|
||||
|
||||
#: pretix/base/settings.py:1751
|
||||
msgid ""
|
||||
@@ -11208,12 +11208,12 @@ msgid ""
|
||||
"failed scans will not be counted, and the user will not see the different "
|
||||
"check-in lists."
|
||||
msgstr ""
|
||||
"Wenn diese Option aktiv ist, können Kunden selbst sehen, wie oft sie die "
|
||||
"Wenn diese Option aktiv ist, können Kund*innen selbst sehen, wie oft sie die "
|
||||
"Veranstaltung betreten haben. Das ist normalerweise nicht nötig, aber kann "
|
||||
"nützlich sein, wenn es Tickets gibt, die eine bestimmte Anzahl an Eintritten "
|
||||
"erlauben, sodass Kunden die bisherige Nutzung des Tickets einsehen "
|
||||
"erlauben, sodass Kund*innen die bisherige Nutzung des Tickets einsehen "
|
||||
"können. Ausgänge oder fehlgeschlagene Scans werden nicht angezeigt und die "
|
||||
"Kunden sehen keine Aufschlüsselung verschiedener Check-in-Listen."
|
||||
"Kund*innen sehen keine Aufschlüsselung verschiedener Check-in-Listen."
|
||||
|
||||
#: pretix/base/settings.py:1764
|
||||
msgid "Allow users to download tickets"
|
||||
@@ -11394,7 +11394,7 @@ msgstr ""
|
||||
#: pretix/base/settings.py:1927 pretix/base/settings.py:1936
|
||||
msgid "Both the attendee and the person who ordered can make changes"
|
||||
msgstr ""
|
||||
"Sowohl Besteller als auch Teilnehmer können Änderungen vornehmen"
|
||||
"Sowohl Besteller*in als auch Teilnehmer*innen können Änderungen vornehmen"
|
||||
|
||||
#: pretix/base/settings.py:1931
|
||||
msgid "Allow customers to modify their information"
|
||||
@@ -11502,7 +11502,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:2037
|
||||
msgid "Allow individual attendees to change their ticket"
|
||||
msgstr "Erlaubt einzelnen Teilnehmer ihr Ticket zu ändern"
|
||||
msgstr "Erlaubt einzelnen Teilnehmer*innen ihr Ticket zu ändern"
|
||||
|
||||
#: pretix/base/settings.py:2038
|
||||
msgid ""
|
||||
@@ -11514,7 +11514,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Standardmäßig kann nur die Person, welche die Tickets gekauft hat, "
|
||||
"Änderungen an der Bestellung vornehmen. Wenn diese Option aktiv ist, können "
|
||||
"auch einzelne Teilnehmer Änderungen vornehmen. Teilnehmer können "
|
||||
"auch einzelne Teilnehmer*innen Änderungen vornehmen. Teilnehmer*innen können "
|
||||
"jedoch immer nur Änderungen vornehmen, welche die Gesamtkosten der "
|
||||
"Bestellung nicht verändern. Solche Änderungen können nur vom Ticketkäufer "
|
||||
"vorgenommen werden."
|
||||
@@ -11698,7 +11698,7 @@ msgstr "Kontakt-E-Mail"
|
||||
#: pretix/base/settings.py:2273 pretix/control/forms/event.py:1900
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
"Wir werden diese Adresse veröffentlichen um Teilnehmern zu ermöglichen, "
|
||||
"Wir werden diese Adresse veröffentlichen um Teilnehmer*innen zu ermöglichen, "
|
||||
"dich zu kontaktieren."
|
||||
|
||||
#: pretix/base/settings.py:2281 pretix/control/forms/event.py:1892
|
||||
@@ -11810,7 +11810,7 @@ msgid ""
|
||||
"people."
|
||||
msgstr ""
|
||||
"Du kannst dieses Feld benutzen um zusätzliche Informationen mit deinen "
|
||||
"Teilnehmer zu teilen, wie z.B. Anreise-Informationen oder den Link zu "
|
||||
"Teilnehmer*innen zu teilen, wie z.B. Anreise-Informationen oder den Link zu "
|
||||
"einer digitalen Veranstaltung. Wenn das Feld leer ist, fügen wir automatisch "
|
||||
"einen Link zum Ticketshop, die Einlass-Uhrzeit und den Veranstalter hier "
|
||||
"ein. Es sind keine Platzhalter mit sensiblen personenbezogenen Daten "
|
||||
@@ -12050,8 +12050,8 @@ msgstr ""
|
||||
"Diese Datei wird an die erste E-Mail angehängt, die wir beim Eingang einer "
|
||||
"neuen Bestellung verschicken. Sie kann daher mit den Textvorlagen "
|
||||
"\"Getätigte Bestellung\", \"Kostenlose Bestellung\" oder \"Erhaltene "
|
||||
"Bestellung\" von oben auftreten. Sie wird ggf. sowohl an Besteller als "
|
||||
"auch Teilnehmer verschickt. Nicht geeignet zum Versand nicht-"
|
||||
"Bestellung\" von oben auftreten. Sie wird ggf. sowohl an Besteller*innen als "
|
||||
"auch Teilnehmer*innen verschickt. Nicht geeignet zum Versand nicht-"
|
||||
"öffentlicher Informationen, da die Datei unabhängig davon verschickt wird, "
|
||||
"ob die Bestellung bezahlt oder freigegeben ist. Um zu vermeiden, dass diese "
|
||||
"wichtige E-Mail nicht ankommt, können nur PDF-Dateien mit maximal {size} MB "
|
||||
@@ -13314,7 +13314,7 @@ msgstr ""
|
||||
msgid ""
|
||||
"You cannot require specifying attendee names if you do not ask for them."
|
||||
msgstr ""
|
||||
"Du kannst die Angabe von Teilnehmernamen nur erfordern, wenn auch nach "
|
||||
"Du kannst die Angabe von Teilnehmer*innennamen nur erfordern, wenn auch nach "
|
||||
"Namen gefragt wird."
|
||||
|
||||
#: pretix/base/settings.py:4129
|
||||
@@ -14979,11 +14979,11 @@ msgstr "Ticket-Downloads"
|
||||
#: pretix/control/forms/event.py:1882
|
||||
msgid "Your customers will be able to download their tickets in PDF format."
|
||||
msgstr ""
|
||||
"Die Teilnehmer werden ihre Tickets im PDF-Format herunterladen können."
|
||||
"Die Teilnehmer*innen werden ihre Tickets im PDF-Format herunterladen können."
|
||||
|
||||
#: pretix/control/forms/event.py:1886
|
||||
msgid "Require all attendees to fill in their names"
|
||||
msgstr "Erfordere, dass alle Teilnehmer ihre Namen ausfüllen"
|
||||
msgstr "Erfordere, dass alle Teilnehmer*innen ihre Namen ausfüllen"
|
||||
|
||||
#: pretix/control/forms/event.py:1887
|
||||
msgid ""
|
||||
@@ -15019,7 +15019,7 @@ msgid ""
|
||||
"then import your bank statements to process the payments within pretix, or "
|
||||
"mark them as paid manually."
|
||||
msgstr ""
|
||||
"Deine Teilnehmer werden angewiesen, das Geld direkt auf dein Bankkonto "
|
||||
"Deine Teilnehmer*innen werden angewiesen, das Geld direkt auf dein Bankkonto "
|
||||
"zu überweisen. Du kannst dann deinen Kontoauszug in pretix importieren, um "
|
||||
"Zahlungen zuzuweisen, oder die Bestellungen manuell als bezahlt markieren."
|
||||
|
||||
@@ -15380,7 +15380,7 @@ msgstr "Check-in-Status"
|
||||
#: pretix/control/forms/filter.py:2041
|
||||
#: pretix/plugins/checkinlists/exporters.py:108
|
||||
msgid "All attendees"
|
||||
msgstr "Alle Teilnehmer"
|
||||
msgstr "Alle Teilnehmer*innen"
|
||||
|
||||
#: pretix/control/forms/filter.py:2042
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:183
|
||||
@@ -15964,7 +15964,7 @@ msgid ""
|
||||
"people over 65. This ticket includes access to all parts of the event, "
|
||||
"except the VIP area."
|
||||
msgstr ""
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudenten, "
|
||||
"z.B. Dieses reduzierte Ticket ist erhältlich für Vollzeitstudent*innen, "
|
||||
"Arbeitslose und Menschen über 65. Das Ticket enthält Zugang zu allen Teilen "
|
||||
"der Veranstaltung außer des VIP-Bereiches."
|
||||
|
||||
@@ -17837,7 +17837,7 @@ msgstr "Eine individuelle E-Mail wurde verschickt."
|
||||
|
||||
#: pretix/control/logdisplay.py:554
|
||||
msgid "A custom email has been sent to an attendee."
|
||||
msgstr "Eine individuelle E-Mail wurde an eine Teilnehmer verschickt."
|
||||
msgstr "Eine individuelle E-Mail wurde an eine Teilnehmer*in verschickt."
|
||||
|
||||
#: pretix/control/logdisplay.py:555
|
||||
msgid ""
|
||||
@@ -19553,7 +19553,7 @@ msgstr "Terminal-ID"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/boxoffice/payment.html:104
|
||||
msgid "Card holder"
|
||||
msgstr "Karteninhaber"
|
||||
msgstr "Karteninhaber*in"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/boxoffice/payment.html:108
|
||||
msgid "Card expiration"
|
||||
@@ -19858,7 +19858,7 @@ msgstr "CSV"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:73
|
||||
msgid "No attendee record was found."
|
||||
msgstr "Keine passenden Teilnehmer gefunden."
|
||||
msgstr "Keine passenden Teilnehmer*innen gefunden."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html:91
|
||||
#: pretix/control/templates/pretixcontrol/datasync/failed_jobs.html:19
|
||||
@@ -21685,7 +21685,7 @@ msgid ""
|
||||
"provide ways for your attendees to contact you:"
|
||||
msgstr ""
|
||||
"Wenn irgendetwas schiefgeht oder unklar ist, empfehlen wir, dass du deinen "
|
||||
"Teilnehmer die Möglichkeit gibst, dich zu benachrichtigen:"
|
||||
"Teilnehmer*innen die Möglichkeit gibst, dich zu benachrichtigen:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/settings.html:21
|
||||
msgid "Basics"
|
||||
@@ -22673,7 +22673,7 @@ msgid ""
|
||||
"Only purchases of such products will be considered \"attendees\" for most "
|
||||
"statistical purposes or within some plugins."
|
||||
msgstr ""
|
||||
"Nur Käufe eines solchen Produkts werden als \"Teilnehmer\" gewertet, "
|
||||
"Nur Käufe eines solchen Produkts werden als \"Teilnehmer*innen\" gewertet, "
|
||||
"z.B. in Statistiken oder in Funktionen von Erweiterungen."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/item/create.html:39
|
||||
@@ -22752,7 +22752,7 @@ msgid ""
|
||||
"The system will not ask for a name or other attendee details. This only "
|
||||
"affects system-provided fields, you can still add your own questions."
|
||||
msgstr ""
|
||||
"Das System wird nicht nach einem Namen oder anderen Teilnehmer-Daten "
|
||||
"Das System wird nicht nach einem Namen oder anderen Teilnehmer*innen-Daten "
|
||||
"fragen. Dies betrifft nur vom System bereitgestellte Felder, eigene Fragen "
|
||||
"können trotzdem hinzugefügt werden."
|
||||
|
||||
@@ -23449,9 +23449,9 @@ msgid ""
|
||||
"ticket. If you provide food, one example might be to ask your users about "
|
||||
"dietary requirements."
|
||||
msgstr ""
|
||||
"Fragen erlauben deinen Besucher, zusätzliche Informationen zu ihrem "
|
||||
"Fragen erlauben deinen Besucher*innen, zusätzliche Informationen zu ihrem "
|
||||
"Ticket auszufüllen. Wenn deine Veranstaltung Verpflegung beinhaltet, "
|
||||
"könntest du z.B. nach Allergien deiner Teilnehmer fragen."
|
||||
"könntest du z.B. nach Allergien deiner Teilnehmer*innen fragen."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/items/questions.html:15
|
||||
msgid "Create a new question"
|
||||
@@ -23590,7 +23590,7 @@ msgstr ""
|
||||
"Um deine Produkte verfügbar zu machen, musst du Kontingente anlegen. "
|
||||
"Kontingente definieren, wie oft ein Produkt verkauft werden darf. Auf diese "
|
||||
"Art kannst du konfigurieren, ob deine Veranstaltung unbegrenzt viele "
|
||||
"Teilnehmer aufnehmen kann oder ob die Anzahl begrenzt ist. Du kannst "
|
||||
"Teilnehmer*innen aufnehmen kann oder ob die Anzahl begrenzt ist. Du kannst "
|
||||
"ein Produkt zu mehreren Kontingenten hinzufügen, um komplexere Anforderungen "
|
||||
"abzubilden, z.B. wenn du die Gesamtzahl der Tickets begrenzen willst, aber "
|
||||
"einen speziellen Ticket-Typ noch stärker begrenzen willst."
|
||||
@@ -25022,7 +25022,7 @@ msgstr "Sonstige Datenexporte"
|
||||
#: pretix/control/templates/pretixcontrol/orders/export.html:107
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export.html:107
|
||||
msgid "Recommended for new users"
|
||||
msgstr "Empfohlen für neue Benutzer"
|
||||
msgstr "Empfohlen für neue Benutzer*innen"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/orders/export.html:120
|
||||
#: pretix/control/templates/pretixcontrol/organizers/export.html:120
|
||||
@@ -25999,7 +25999,7 @@ msgstr "Domains"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/edit.html:320
|
||||
msgid "This dialog is intended for advanced users."
|
||||
msgstr "Dieser Dialog ist für fortgeschrittene Anwender gedacht."
|
||||
msgstr "Dieser Dialog ist für fortgeschrittene Anwender*innen gedacht."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/organizers/edit.html:321
|
||||
msgid ""
|
||||
@@ -28399,7 +28399,7 @@ msgid ""
|
||||
"customers. This way, customers will not be able to discover the waiting list."
|
||||
msgstr ""
|
||||
"Entsprechend deiner Veranstaltungseinstellungen werden ausverkaufte Produkte "
|
||||
"nicht angezeigt. Dies führt dazu, dass Kunden die Warteliste nicht "
|
||||
"nicht angezeigt. Dies führt dazu, dass Kund*innen die Warteliste nicht "
|
||||
"finden können."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html:38
|
||||
@@ -28708,11 +28708,11 @@ msgstr "Das ausgewählte List wurde gelöscht."
|
||||
|
||||
#: pretix/control/views/dashboards.py:115
|
||||
msgid "Attendees (ordered)"
|
||||
msgstr "Teilnehmer (bestellt)"
|
||||
msgstr "Teilnehmende (bestellt)"
|
||||
|
||||
#: pretix/control/views/dashboards.py:125
|
||||
msgid "Attendees (paid)"
|
||||
msgstr "Teilnehmer (bezahlt)"
|
||||
msgstr "Teilnehmende (bezahlt)"
|
||||
|
||||
#: pretix/control/views/dashboards.py:137
|
||||
#, python-brace-format
|
||||
@@ -30777,7 +30777,7 @@ msgstr "PDF-Sammlungen"
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:423
|
||||
msgid "Download all attendee badges as one large PDF for printing."
|
||||
msgstr "Alle Teilnehmer-Badges in einer großen PDF-Datei für den Druck."
|
||||
msgstr "Alle Teilnehmer*innen-Badges in einer großen PDF-Datei für den Druck."
|
||||
|
||||
#: pretix/plugins/badges/exporters.py:444
|
||||
#: pretix/plugins/ticketoutputpdf/exporters.py:80
|
||||
@@ -31051,7 +31051,7 @@ msgstr "Anderes Bankkonto"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:85
|
||||
msgid "Name of account holder"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:87
|
||||
msgid ""
|
||||
@@ -31193,7 +31193,7 @@ msgstr "Bitte überweise den vollen Betrag auf das folgende Bankkonto:"
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/checkout_payment_confirm.html:32
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/checkout_payment_confirm.html:35
|
||||
msgid "Account holder"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/banktransfer/payment.py:304
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html:20
|
||||
@@ -31789,7 +31789,7 @@ msgid ""
|
||||
"Download a spreadsheet with all attendees that are included in a check-in "
|
||||
"list."
|
||||
msgstr ""
|
||||
"Tabelle (Excel oder CSV) mit allen Teilnehmer, die in einer Check-in-"
|
||||
"Tabelle (Excel oder CSV) mit allen Teilnehmer*innen, die in einer Check-in-"
|
||||
"Liste zutrittsberechtigt sind."
|
||||
|
||||
#: pretix/plugins/checkinlists/exporters.py:501
|
||||
@@ -32965,7 +32965,7 @@ msgstr "Geplante E-Mails"
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:122
|
||||
msgid "Mass email was sent to customers or attendees."
|
||||
msgstr "Rundmail wurde an Kunden oder Teilnehmer verschickt."
|
||||
msgstr "Rundmail wurde an Kunden oder Teilnehmer*innen verschickt."
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:123
|
||||
msgid "Mass email was sent to waiting list entries."
|
||||
@@ -32997,7 +32997,7 @@ msgstr "Eine automatisierte E-Mail wurde an den Besteller verschickt"
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:142
|
||||
msgid "A scheduled email was sent to a ticket holder"
|
||||
msgstr "Eine automatisierte E-Mail wurde an einen Teilnehmer verschickt."
|
||||
msgstr "Eine automatisierte E-Mail wurde an eine Teilnehmer*in verschickt."
|
||||
|
||||
#: pretix/plugins/sendmail/signals.py:143
|
||||
msgid "An email rule was deleted"
|
||||
@@ -33030,7 +33030,7 @@ msgstr "Alle nicht eingecheckten Kunden"
|
||||
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/history_fragment_orders.html:23
|
||||
msgid "Attendee contact addresses"
|
||||
msgstr "Teilnehmer-E-Mail-Adressen"
|
||||
msgstr "Teilnehmer*innen-E-Mail-Adressen"
|
||||
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/history_fragment_orders.html:25
|
||||
msgid "All contact addresses"
|
||||
@@ -33190,14 +33190,14 @@ msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:250
|
||||
msgid "Orders or attendees"
|
||||
msgstr "Bestellungen oder Teilnehmer"
|
||||
msgstr "Bestellungen oder Teilnehmer*innen"
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:251
|
||||
msgid ""
|
||||
"Send an email to every customer, or to every person a ticket has been "
|
||||
"purchased for, or a combination of both."
|
||||
msgstr ""
|
||||
"Sende eine E-Mail an alle Ticketkäufer, alle Ticketinhaber oder "
|
||||
"Sende eine E-Mail an alle Ticketkäufer*innen, alle Ticketinhaber*innen oder "
|
||||
"eine Kombination aus beiden Gruppen."
|
||||
|
||||
#: pretix/plugins/sendmail/views.py:417
|
||||
@@ -33777,23 +33777,23 @@ msgstr "SEPA-Lastschrift"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1277
|
||||
msgid "Account Holder Name"
|
||||
msgstr "Kontoinhaber"
|
||||
msgstr "Kontoinhaber*in"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1282
|
||||
msgid "Account Holder Street"
|
||||
msgstr "Straße (Kontoinhaber)"
|
||||
msgstr "Straße (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1294
|
||||
msgid "Account Holder Postal Code"
|
||||
msgstr "PLZ (Kontoinhaber)"
|
||||
msgstr "PLZ (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1306
|
||||
msgid "Account Holder City"
|
||||
msgstr "Stadt (Kontoinhaber)"
|
||||
msgstr "Stadt (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1318
|
||||
msgid "Account Holder Country"
|
||||
msgstr "Land (Kontoinhaber)"
|
||||
msgstr "Land (Kontoinhaber*in)"
|
||||
|
||||
#: pretix/plugins/stripe/payment.py:1362
|
||||
msgid "Affirm via Stripe"
|
||||
@@ -34242,7 +34242,7 @@ msgstr "MOTO"
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:64
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:67
|
||||
msgid "Payer name"
|
||||
msgstr "Name des Zahlers"
|
||||
msgstr "Name des Zahlenden"
|
||||
|
||||
#: pretix/plugins/stripe/templates/pretixplugins/stripe/control.html:91
|
||||
msgid "Payment receipt"
|
||||
@@ -35630,7 +35630,7 @@ msgstr[1] "Das Ticket wurde %(count)s-mal eingelöst."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:166
|
||||
msgid "No attendee name provided"
|
||||
msgstr "Name des Teilnehmenrs nicht angegeben"
|
||||
msgstr "Name der teilnehmenden Person nicht angegeben"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:219
|
||||
msgid "The image you previously uploaded"
|
||||
@@ -37390,12 +37390,12 @@ msgstr "Möchtest das folgende Profil wirklich aus deinem Kundenkonto löschen?"
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profiles.html:11
|
||||
#: pretix/presale/views/customer.py:386
|
||||
msgid "Attendee profiles"
|
||||
msgstr "Teilnehmer-Adresse"
|
||||
msgstr "Teilnehmer*innen-Adresse"
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_profiles.html:37
|
||||
msgid "You don’t have any attendee profiles in your account yet."
|
||||
msgstr ""
|
||||
"In deinem Kundenkonto sind noch keine Teilnehmer-Profile gespeichert."
|
||||
"In deinem Kundenkonto sind noch keine Teilnehmer*innen-Profile gespeichert."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_registration.html:7
|
||||
msgid "Registration"
|
||||
@@ -38928,7 +38928,7 @@ msgstr "Kosovo"
|
||||
#~ "This plugin allows you to generate badges or name tags for your attendees."
|
||||
#~ msgstr ""
|
||||
#~ "Diese Erweiterung erlaubt, Namensschilder oder Badges für die "
|
||||
#~ "Teilnehmer zu erstellen."
|
||||
#~ "Teilnehmer*innen zu erstellen."
|
||||
|
||||
#~ msgid "This plugin allows you to receive payments via PayPal"
|
||||
#~ msgstr "Dieses Plugin erlaubt, Zahlungen über PayPal anzunehmen"
|
||||
@@ -39506,7 +39506,7 @@ msgstr "Kosovo"
|
||||
#~ msgstr "Biete Ticket-Download bereits vor Bezahlung einer Bestellung an"
|
||||
|
||||
#~ msgid "Attendee names"
|
||||
#~ msgstr "Teilnehmername"
|
||||
#~ msgstr "Teilnehmer*innennamen"
|
||||
|
||||
#~ msgid "Enable output"
|
||||
#~ msgstr "Aktivieren"
|
||||
@@ -39783,7 +39783,7 @@ msgstr "Kosovo"
|
||||
#~ "If checked, users can cancel orders by themselves as long as they are not "
|
||||
#~ "yet paid."
|
||||
#~ msgstr ""
|
||||
#~ "Wenn diese Option aktiviert ist, können Teilnehmer selbstständig "
|
||||
#~ "Wenn diese Option aktiviert ist, können Teilnehmer*innen selbstständig "
|
||||
#~ "Bestellungen stornieren solange sie nicht bezahlt wurden."
|
||||
|
||||
#~ msgid "Sales overview"
|
||||
|
||||
@@ -57,7 +57,7 @@ from django.utils.translation import gettext as _, gettext_lazy, pgettext_lazy
|
||||
from pypdf import PageObject, PdfReader, PdfWriter, Transformation
|
||||
from pypdf.generic import RectangleObject
|
||||
from reportlab.lib import pagesizes
|
||||
from reportlab.lib.units import mm
|
||||
from reportlab.lib.units import inch, mm
|
||||
from reportlab.pdfgen import canvas
|
||||
|
||||
from pretix.base.exporter import BaseExporter
|
||||
@@ -133,6 +133,14 @@ OPTIONS = OrderedDict([
|
||||
'offsets': [66.1 * mm, 29.6 * mm],
|
||||
'pagesize': pagesizes.A4,
|
||||
}),
|
||||
('avery_4inx3in', {
|
||||
'name': 'Avery 4" x 3" (74459)',
|
||||
'cols': 2,
|
||||
'rows': 3,
|
||||
'margins': [1 * inch, .25 * inch, 1 * inch, .25 * inch],
|
||||
'offsets': [4 * inch, 3 * inch],
|
||||
'pagesize': pagesizes.LETTER,
|
||||
}),
|
||||
('avery_80x50', {
|
||||
'name': 'Avery Zweckform 80 x 50 mm (L4785)',
|
||||
'cols': 2,
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
from django.utils.text import format_lazy
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from reportlab.lib import pagesizes
|
||||
from reportlab.lib.units import mm
|
||||
from reportlab.lib.units import inch, mm
|
||||
|
||||
|
||||
def _simple_template(w, h):
|
||||
@@ -261,4 +261,9 @@ TEMPLATES = {
|
||||
"pagesize": (88.9 * mm, 33.87 * mm),
|
||||
"layout": _simple_template(88.9 * mm, 33.87 * mm),
|
||||
},
|
||||
"4inx3in": {
|
||||
"label": format_lazy(_("{width} x {height} inch label"), width=4, height=3),
|
||||
"pagesize": (4 * inch, 3 * inch),
|
||||
"layout": _simple_template(4 * inch, 3 * inch),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -153,7 +153,7 @@ def get_private_icals(event, positions):
|
||||
# Actual ical organizer field is not useful since it will cause "your invitation was accepted" emails to the organizer
|
||||
descr.append(_('Organizer: {organizer}').format(organizer=event.organizer.name))
|
||||
description = '\n'.join(descr)
|
||||
location = None
|
||||
location = ", ".join(l.strip() for l in str(pt.location).splitlines() if l.strip())
|
||||
dtstart = pt.start.astimezone(tz)
|
||||
dtend = pt.end.astimezone(tz)
|
||||
uid = 'pretix-{}-{}-{}-{}@{}'.format(
|
||||
|
||||
@@ -530,6 +530,7 @@ def test_item_detail_program_times(token_client, organizer, event, team, item, c
|
||||
res["program_times"] = [{
|
||||
"start": "2017-12-27T00:00:00Z",
|
||||
"end": "2017-12-28T00:00:00Z",
|
||||
"location": None
|
||||
}]
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/items/{}/'.format(organizer.slug, event.slug,
|
||||
item.pk))
|
||||
@@ -1972,32 +1973,54 @@ def program_time2(item, category):
|
||||
end=datetime(2017, 12, 30, 0, 0, 0, tzinfo=timezone.utc))
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def program_time3(item, category):
|
||||
return item.program_times.create(start=datetime(2017, 12, 30, 0, 0, 0, tzinfo=timezone.utc),
|
||||
end=datetime(2017, 12, 31, 0, 0, 0, tzinfo=timezone.utc),
|
||||
location='Testlocation')
|
||||
|
||||
|
||||
TEST_PROGRAM_TIMES_RES = {
|
||||
0: {
|
||||
"start": "2017-12-27T00:00:00Z",
|
||||
"end": "2017-12-28T00:00:00Z",
|
||||
"location": None,
|
||||
},
|
||||
1: {
|
||||
"start": "2017-12-29T00:00:00Z",
|
||||
"end": "2017-12-30T00:00:00Z",
|
||||
"location": None,
|
||||
},
|
||||
2: {
|
||||
"start": "2017-12-30T00:00:00Z",
|
||||
"end": "2017-12-31T00:00:00Z",
|
||||
"location": {"en": "Testlocation"},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_program_times_list(token_client, organizer, event, item, program_time, program_time2):
|
||||
def test_program_times_list(token_client, organizer, event, item, program_time, program_time2, program_time3):
|
||||
res = dict(TEST_PROGRAM_TIMES_RES)
|
||||
res[0]["id"] = program_time.pk
|
||||
res[1]["id"] = program_time2.pk
|
||||
res[2]["id"] = program_time3.pk
|
||||
resp = token_client.get('/api/v1/organizers/{}/events/{}/items/{}/program_times/'.format(organizer.slug, event.slug,
|
||||
item.pk))
|
||||
assert resp.status_code == 200
|
||||
assert res[0]['start'] == resp.data['results'][0]['start']
|
||||
assert res[0]['end'] == resp.data['results'][0]['end']
|
||||
assert res[0]['id'] == resp.data['results'][0]['id']
|
||||
assert res[0] == resp.data['results'][0]
|
||||
assert res[1]['start'] == resp.data['results'][1]['start']
|
||||
assert res[1]['end'] == resp.data['results'][1]['end']
|
||||
assert res[1]['id'] == resp.data['results'][1]['id']
|
||||
assert res[1] == resp.data['results'][1]
|
||||
assert res[2]['start'] == resp.data['results'][2]['start']
|
||||
assert res[2]['end'] == resp.data['results'][2]['end']
|
||||
assert res[2]['location'] == resp.data['results'][2]['location']
|
||||
assert res[2]['id'] == resp.data['results'][2]['id']
|
||||
assert res[2] == resp.data['results'][2]
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@@ -2039,6 +2062,59 @@ def test_program_times_create(token_client, organizer, event, item):
|
||||
assert resp.content.decode() == '{"non_field_errors":["The program end must not be before the program start."]}'
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_program_times_create_location(token_client, organizer, event, item):
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/items/{}/program_times/'.format(organizer.slug, event.slug, item.pk),
|
||||
{
|
||||
"start": "2017-12-27T00:00:00Z",
|
||||
"end": "2017-12-28T00:00:00Z",
|
||||
"location": {
|
||||
"en": "Testlocation",
|
||||
"de": "Testort"
|
||||
}
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
assert resp.status_code == 201
|
||||
with scopes_disabled():
|
||||
program_time = ItemProgramTime.objects.get(pk=resp.data['id'])
|
||||
assert "Testlocation" == program_time.location.localize("en")
|
||||
assert "Testort" == program_time.location.localize("de")
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_program_times_create_without_location(token_client, organizer, event, item):
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/items/{}/program_times/'.format(organizer.slug, event.slug, item.pk),
|
||||
{
|
||||
"start": "2017-12-27T00:00:00Z",
|
||||
"end": "2017-12-28T00:00:00Z"
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
assert resp.status_code == 201
|
||||
assert resp.data['location'] is None
|
||||
with scopes_disabled():
|
||||
program_time = ItemProgramTime.objects.get(pk=resp.data['id'])
|
||||
assert str(program_time.location) == ""
|
||||
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/items/{}/program_times/'.format(organizer.slug, event.slug, item.pk),
|
||||
{
|
||||
"start": "2017-12-27T00:00:00Z",
|
||||
"end": "2017-12-28T00:00:00Z",
|
||||
"location": None
|
||||
},
|
||||
format='json'
|
||||
)
|
||||
assert resp.status_code == 201
|
||||
assert resp.data['location'] is None
|
||||
with scopes_disabled():
|
||||
program_time = ItemProgramTime.objects.get(pk=resp.data['id'])
|
||||
assert str(program_time.location) == ""
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_program_times_update(token_client, organizer, event, item, program_time):
|
||||
resp = token_client.patch(
|
||||
|
||||
@@ -82,7 +82,11 @@ def test_full_clone_same_organizer():
|
||||
assert item1.meta_data
|
||||
ItemProgramTime.objects.create(item=item1,
|
||||
start=datetime.datetime(2017, 12, 27, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
end=datetime.datetime(2017, 12, 28, 0, 0, 0, tzinfo=datetime.timezone.utc))
|
||||
end=datetime.datetime(2017, 12, 28, 0, 0, 0, tzinfo=datetime.timezone.utc),
|
||||
location={
|
||||
"en": "Testlocation",
|
||||
"de": "Testort"
|
||||
})
|
||||
assert item1.program_times
|
||||
item2 = event.items.create(category=category, tax_rule=tax_rule, name="T-shirt", default_price=15,
|
||||
hidden_if_item_available=item1)
|
||||
@@ -169,6 +173,7 @@ def test_full_clone_same_organizer():
|
||||
assert copied_item1.meta_data == item1.meta_data
|
||||
assert copied_item1.program_times.first().start == item1.program_times.first().start
|
||||
assert copied_item1.program_times.first().end == item1.program_times.first().end
|
||||
assert copied_item1.program_times.first().location == item1.program_times.first().location
|
||||
assert copied_item2.variations.get().meta_data == item2v.meta_data
|
||||
assert copied_item1.hidden_if_available == copied_q2
|
||||
assert copied_item1.grant_membership_type == membership_type
|
||||
|
||||
@@ -692,7 +692,8 @@ class ItemsTest(ItemFormTest):
|
||||
self.item2.program_times.create(start=datetime.datetime(2017, 12, 27, 0, 0, 0,
|
||||
tzinfo=datetime.timezone.utc),
|
||||
end=datetime.datetime(2017, 12, 28, 0, 0, 0,
|
||||
tzinfo=datetime.timezone.utc))
|
||||
tzinfo=datetime.timezone.utc),
|
||||
location={"en": "Testlocation", "de": "Testort"})
|
||||
|
||||
doc = self.get_doc('/control/event/%s/%s/items/add?copy_from=%d' % (self.orga1.slug, self.event1.slug, self.item2.pk))
|
||||
data = extract_form_fields(doc.select("form")[0])
|
||||
@@ -723,6 +724,7 @@ class ItemsTest(ItemFormTest):
|
||||
assert set([str(v.value) for v in i_new.variations.all()]) == set([str(v.value) for v in i_old.variations.all()])
|
||||
assert i_old.program_times.first().start == i_new.program_times.first().start
|
||||
assert i_old.program_times.first().end == i_new.program_times.first().end
|
||||
assert i_old.program_times.first().location == i_new.program_times.first().location
|
||||
|
||||
def test_add_to_existing_quota(self):
|
||||
with scopes_disabled():
|
||||
|
||||
Reference in New Issue
Block a user