forked from CGM_Public/pretix_original
Compare commits
31 Commits
event-date
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
052aaf937b | ||
|
|
bc6da2512a | ||
|
|
6378dc69b8 | ||
|
|
2b53d04a19 | ||
|
|
7efe7b5ff7 | ||
|
|
ae5464d486 | ||
|
|
67fec8d1f6 | ||
|
|
95a081676b | ||
|
|
7228a6304d | ||
|
|
04b9134e36 | ||
|
|
2e0769bc41 | ||
|
|
4d2f854710 | ||
|
|
b9ac9496d2 | ||
|
|
a975f5dc50 | ||
|
|
4ea1f6284a | ||
|
|
a01d105829 | ||
|
|
b1bfa1acee | ||
|
|
0b4e99c2d8 | ||
|
|
0cdce7a9cd | ||
|
|
464f625301 | ||
|
|
0c1072503c | ||
|
|
9ead82839a | ||
|
|
c346e3a7f4 | ||
|
|
a26f219faf | ||
|
|
74fb8e7d0c | ||
|
|
b9dbeef1ef | ||
|
|
54079797d2 | ||
|
|
02a4ed4be2 | ||
|
|
7f7c95aedb | ||
|
|
47af20d417 | ||
|
|
91e69f793d |
@@ -203,7 +203,8 @@ checkins list of objects List of **succe
|
|||||||
├ datetime datetime Time of check-in
|
├ datetime datetime Time of check-in
|
||||||
├ type string Type of scan (defaults to ``entry``)
|
├ type string Type of scan (defaults to ``entry``)
|
||||||
├ gate integer Internal ID of the gate. Can be ``null``.
|
├ gate integer Internal ID of the gate. Can be ``null``.
|
||||||
├ device integer Internal ID of the device. Can be ``null``.
|
├ device integer Internal ID of the device. Can be ``null``. **Deprecated**, since this ID is not otherwise used in the API and is therefore not very useful.
|
||||||
|
├ device_id integer Attribute ``device_id`` of the device. Can be ``null``.
|
||||||
└ auto_checked_in boolean Indicates if this check-in been performed automatically by the system
|
└ auto_checked_in boolean Indicates if this check-in been performed automatically by the system
|
||||||
downloads list of objects List of ticket download options
|
downloads list of objects List of ticket download options
|
||||||
├ output string Ticket output provider (e.g. ``pdf``, ``passbook``)
|
├ output string Ticket output provider (e.g. ``pdf``, ``passbook``)
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ without any special behavior.
|
|||||||
Connecting SSO providers (pretix as the SSO client)
|
Connecting SSO providers (pretix as the SSO client)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
To connect an external application as a SSO client, go to "Customer accounts" → "SSO providers" → "Create a new SSO provider"
|
To connect an external application as a SSO provider, go to "Customer accounts" → "SSO providers" → "Create a new SSO provider"
|
||||||
in your organizer account.
|
in your organizer account.
|
||||||
|
|
||||||
.. thumbnail:: ../../screens/organizer/customer_ssoprovider_add.png
|
.. thumbnail:: ../../screens/organizer/customer_ssoprovider_add.png
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ dependencies = [
|
|||||||
"django-libsass==0.9",
|
"django-libsass==0.9",
|
||||||
"django-localflavor==4.0",
|
"django-localflavor==4.0",
|
||||||
"django-markup",
|
"django-markup",
|
||||||
"django-oauth-toolkit==2.3.*",
|
"django-oauth-toolkit==3.0.*",
|
||||||
"django-otp==1.5.*",
|
"django-otp==1.5.*",
|
||||||
"django-phonenumber-field==7.3.*",
|
"django-phonenumber-field==7.3.*",
|
||||||
"django-redis==5.4.*",
|
"django-redis==5.4.*",
|
||||||
@@ -76,7 +76,7 @@ dependencies = [
|
|||||||
"phonenumberslite==8.13.*",
|
"phonenumberslite==8.13.*",
|
||||||
"Pillow==10.4.*",
|
"Pillow==10.4.*",
|
||||||
"pretix-plugin-build",
|
"pretix-plugin-build",
|
||||||
"protobuf==5.27.*",
|
"protobuf==5.28.*",
|
||||||
"psycopg2-binary",
|
"psycopg2-binary",
|
||||||
"pycountry",
|
"pycountry",
|
||||||
"pycparser==2.22",
|
"pycparser==2.22",
|
||||||
|
|||||||
@@ -19,4 +19,4 @@
|
|||||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
# 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/>.
|
# <https://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
__version__ = "2024.8.0.dev0"
|
__version__ = "2024.9.0.dev0"
|
||||||
|
|||||||
@@ -80,6 +80,7 @@ ALL_LANGUAGES = [
|
|||||||
('de', _('German')),
|
('de', _('German')),
|
||||||
('de-informal', _('German (informal)')),
|
('de-informal', _('German (informal)')),
|
||||||
('ar', _('Arabic')),
|
('ar', _('Arabic')),
|
||||||
|
('eu', _('Basque')),
|
||||||
('ca', _('Catalan')),
|
('ca', _('Catalan')),
|
||||||
('zh-hans', _('Chinese (simplified)')),
|
('zh-hans', _('Chinese (simplified)')),
|
||||||
('zh-hant', _('Chinese (traditional)')),
|
('zh-hant', _('Chinese (traditional)')),
|
||||||
|
|||||||
@@ -896,6 +896,7 @@ class DeviceEventSettingsSerializer(EventSettingsSerializer):
|
|||||||
'locale',
|
'locale',
|
||||||
'last_order_modification_date',
|
'last_order_modification_date',
|
||||||
'show_quota_left',
|
'show_quota_left',
|
||||||
|
'show_dates_on_frontpage',
|
||||||
'max_items_per_order',
|
'max_items_per_order',
|
||||||
'attendee_names_asked',
|
'attendee_names_asked',
|
||||||
'attendee_names_required',
|
'attendee_names_required',
|
||||||
|
|||||||
@@ -273,9 +273,15 @@ class AnswerSerializer(I18nAwareModelSerializer):
|
|||||||
|
|
||||||
|
|
||||||
class CheckinSerializer(I18nAwareModelSerializer):
|
class CheckinSerializer(I18nAwareModelSerializer):
|
||||||
|
device_id = serializers.SlugRelatedField(
|
||||||
|
source='device',
|
||||||
|
slug_field='device_id',
|
||||||
|
read_only=True,
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Checkin
|
model = Checkin
|
||||||
fields = ('id', 'datetime', 'list', 'auto_checked_in', 'gate', 'device', 'type')
|
fields = ('id', 'datetime', 'list', 'auto_checked_in', 'gate', 'device', 'device_id', 'type')
|
||||||
|
|
||||||
|
|
||||||
class FailedCheckinSerializer(I18nAwareModelSerializer):
|
class FailedCheckinSerializer(I18nAwareModelSerializer):
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ def _checkin_list_position_queryset(checkinlists, ignore_status=False, ignore_pr
|
|||||||
Prefetch(
|
Prefetch(
|
||||||
'positions',
|
'positions',
|
||||||
OrderPosition.objects.prefetch_related(
|
OrderPosition.objects.prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related('device')),
|
||||||
'item', 'variation', 'answers', 'answers__options', 'answers__question',
|
'item', 'variation', 'answers', 'answers__options', 'answers__question',
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ class ReusableMediaViewSet(viewsets.ModelViewSet):
|
|||||||
queryset=OrderPosition.objects.select_related(
|
queryset=OrderPosition.objects.select_related(
|
||||||
'order', 'order__event', 'order__event__organizer', 'seat',
|
'order', 'order__event', 'order__event__organizer', 'seat',
|
||||||
).prefetch_related(
|
).prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related('device')),
|
||||||
'answers', 'answers__options', 'answers__question',
|
'answers', 'answers__options', 'answers__question',
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ class OrderViewSetMixin:
|
|||||||
return Prefetch(
|
return Prefetch(
|
||||||
'positions',
|
'positions',
|
||||||
opq.all().prefetch_related(
|
opq.all().prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related('device')),
|
||||||
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
||||||
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'), to_attr='meta_values_cached')
|
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'), to_attr='meta_values_cached')
|
||||||
)),
|
)),
|
||||||
@@ -279,7 +279,7 @@ class OrderViewSetMixin:
|
|||||||
return Prefetch(
|
return Prefetch(
|
||||||
'positions',
|
'positions',
|
||||||
opq.all().prefetch_related(
|
opq.all().prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related('device')),
|
||||||
'item', 'variation',
|
'item', 'variation',
|
||||||
Prefetch('answers', queryset=QuestionAnswer.objects.prefetch_related('options', 'question').order_by('question__position')),
|
Prefetch('answers', queryset=QuestionAnswer.objects.prefetch_related('options', 'question').order_by('question__position')),
|
||||||
'seat',
|
'seat',
|
||||||
@@ -1092,7 +1092,7 @@ class OrderPositionViewSet(viewsets.ModelViewSet):
|
|||||||
'item_meta_properties',
|
'item_meta_properties',
|
||||||
)
|
)
|
||||||
qs = qs.prefetch_related(
|
qs = qs.prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related("device")),
|
||||||
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
||||||
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'),
|
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'),
|
||||||
to_attr='meta_values_cached')
|
to_attr='meta_values_cached')
|
||||||
@@ -1111,7 +1111,7 @@ class OrderPositionViewSet(viewsets.ModelViewSet):
|
|||||||
Prefetch(
|
Prefetch(
|
||||||
'positions',
|
'positions',
|
||||||
qs.prefetch_related(
|
qs.prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related('device')),
|
||||||
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
Prefetch('item', queryset=self.request.event.items.prefetch_related(
|
||||||
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'),
|
Prefetch('meta_values', ItemMetaValue.objects.select_related('property'),
|
||||||
to_attr='meta_values_cached')
|
to_attr='meta_values_cached')
|
||||||
@@ -1135,7 +1135,7 @@ class OrderPositionViewSet(viewsets.ModelViewSet):
|
|||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
qs = qs.prefetch_related(
|
qs = qs.prefetch_related(
|
||||||
Prefetch('checkins', queryset=Checkin.objects.all()),
|
Prefetch('checkins', queryset=Checkin.objects.select_related("device")),
|
||||||
'answers', 'answers__options', 'answers__question',
|
'answers', 'answers__options', 'answers__question',
|
||||||
).select_related(
|
).select_related(
|
||||||
'item', 'order', 'order__event', 'order__event__organizer', 'seat'
|
'item', 'order', 'order__event', 'order__event__organizer', 'seat'
|
||||||
|
|||||||
@@ -60,7 +60,6 @@ from django.urls import reverse
|
|||||||
from django.utils.crypto import get_random_string
|
from django.utils.crypto import get_random_string
|
||||||
from django.utils.formats import date_format
|
from django.utils.formats import date_format
|
||||||
from django.utils.functional import cached_property
|
from django.utils.functional import cached_property
|
||||||
from django.utils.html import format_html
|
|
||||||
from django.utils.timezone import make_aware, now
|
from django.utils.timezone import make_aware, now
|
||||||
from django.utils.translation import gettext, gettext_lazy as _
|
from django.utils.translation import gettext, gettext_lazy as _
|
||||||
from django_scopes import ScopedManager, scopes_disabled
|
from django_scopes import ScopedManager, scopes_disabled
|
||||||
@@ -180,14 +179,10 @@ class EventMixin:
|
|||||||
"""
|
"""
|
||||||
tz = tz or self.timezone
|
tz = tz or self.timezone
|
||||||
if (not self.settings.show_date_to and not force_show_end) or not self.date_to:
|
if (not self.settings.show_date_to and not force_show_end) or not self.date_to:
|
||||||
if as_html:
|
df, dt = self.date_from, self.date_from
|
||||||
return format_html(
|
else:
|
||||||
"<time datetime=\"{}\">{}</time>",
|
df, dt = self.date_from, self.date_to
|
||||||
_date(self.date_from.astimezone(tz), "Y-m-d"),
|
return daterange(df.astimezone(tz), dt.astimezone(tz), as_html)
|
||||||
_date(self.date_from.astimezone(tz), "DATE_FORMAT"),
|
|
||||||
)
|
|
||||||
return _date(self.date_from.astimezone(tz), "DATE_FORMAT")
|
|
||||||
return daterange(self.date_from.astimezone(tz), self.date_to.astimezone(tz), as_html)
|
|
||||||
|
|
||||||
def get_date_range_display_as_html(self, tz=None, force_show_end=False) -> str:
|
def get_date_range_display_as_html(self, tz=None, force_show_end=False) -> str:
|
||||||
return self.get_date_range_display(tz, force_show_end, as_html=True)
|
return self.get_date_range_display(tz, force_show_end, as_html=True)
|
||||||
|
|||||||
@@ -1295,7 +1295,8 @@ DEFAULTS = {
|
|||||||
'form_kwargs': dict(
|
'form_kwargs': dict(
|
||||||
label=_("Show event times and dates on the ticket shop"),
|
label=_("Show event times and dates on the ticket shop"),
|
||||||
help_text=_("If disabled, no date or time will be shown on the ticket shop's front page. This settings "
|
help_text=_("If disabled, no date or time will be shown on the ticket shop's front page. This settings "
|
||||||
"does however not affect the display in other locations."),
|
"also affects a few other locations, however it should not be expected that the date of the "
|
||||||
|
"event is shown nowhere to users."),
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
'show_date_to': {
|
'show_date_to': {
|
||||||
|
|||||||
@@ -1143,12 +1143,12 @@ class MailSettingsForm(FormPlaceholderMixin, SettingsForm):
|
|||||||
widget=I18nTextInput,
|
widget=I18nTextInput,
|
||||||
)
|
)
|
||||||
mail_subject_order_incomplete_payment = I18nFormField(
|
mail_subject_order_incomplete_payment = I18nFormField(
|
||||||
label=_("Subject"),
|
label=_("Subject (if an incomplete payment was received)"),
|
||||||
required=False,
|
required=False,
|
||||||
widget=I18nTextInput,
|
widget=I18nTextInput,
|
||||||
)
|
)
|
||||||
mail_text_order_incomplete_payment = I18nFormField(
|
mail_text_order_incomplete_payment = I18nFormField(
|
||||||
label=_("Text"),
|
label=_("Text (if an incomplete payment was received)"),
|
||||||
required=False,
|
required=False,
|
||||||
widget=I18nMarkdownTextarea,
|
widget=I18nMarkdownTextarea,
|
||||||
help_text=_("This email only applies to payment methods that can receive incomplete payments, "
|
help_text=_("This email only applies to payment methods that can receive incomplete payments, "
|
||||||
|
|||||||
@@ -102,16 +102,24 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{% for t in team.active_tokens %}
|
{% for t in tokens %}
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td {% if not t.active %}class="text-muted"{% endif %}>
|
||||||
|
{% if not t.active %}
|
||||||
|
<del>
|
||||||
|
{% endif %}
|
||||||
{{ t.name }}
|
{{ t.name }}
|
||||||
|
{% if not t.active %}
|
||||||
|
</del>
|
||||||
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
<td class="text-right flip">
|
<td class="text-right flip">
|
||||||
<button type="submit" name="remove-token" value="{{ t.id }}"
|
{% if t.active %}
|
||||||
class="btn btn-danger btn-sm btn-block">
|
<button type="submit" name="remove-token" value="{{ t.id }}"
|
||||||
<i class="fa fa-times"></i> {% trans "Remove" %}
|
class="btn btn-danger btn-sm btn-block">
|
||||||
</button>
|
<i class="fa fa-times"></i> {% trans "Remove" %}
|
||||||
|
</button>
|
||||||
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -686,14 +686,24 @@ class TeamDeleteView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
|
|||||||
try:
|
try:
|
||||||
self.object.log_action('pretix.team.deleted', user=self.request.user)
|
self.object.log_action('pretix.team.deleted', user=self.request.user)
|
||||||
self.object.delete()
|
self.object.delete()
|
||||||
except ProtectedError:
|
except ProtectedError as e:
|
||||||
messages.error(
|
is_logs = any(isinstance(e, LogEntry) for e in e.protected_objects)
|
||||||
self.request,
|
if is_logs:
|
||||||
_(
|
messages.error(
|
||||||
'The team could not be deleted as some constraints (e.g. data created by '
|
self.request,
|
||||||
'plug-ins) do not allow it.'
|
_(
|
||||||
|
"The team could not be deleted because the team or one of its API tokens is part of "
|
||||||
|
"historical audit logs."
|
||||||
|
)
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
messages.error(
|
||||||
|
self.request,
|
||||||
|
_(
|
||||||
|
'The team could not be deleted as some constraints (e.g. data created by '
|
||||||
|
'plug-ins) do not allow it.'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
|
||||||
return redirect(success_url)
|
return redirect(success_url)
|
||||||
|
|
||||||
messages.success(request, _('The selected team has been deleted.'))
|
messages.success(request, _('The selected team has been deleted.'))
|
||||||
@@ -723,6 +733,7 @@ class TeamMemberView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
|
|||||||
ctx = super().get_context_data(**kwargs)
|
ctx = super().get_context_data(**kwargs)
|
||||||
ctx['add_form'] = self.add_form
|
ctx['add_form'] = self.add_form
|
||||||
ctx['add_token_form'] = self.add_token_form
|
ctx['add_token_form'] = self.add_token_form
|
||||||
|
ctx['tokens'] = self.object.tokens.order_by("-active", "name", "pk")
|
||||||
return ctx
|
return ctx
|
||||||
|
|
||||||
def _send_invite(self, instance):
|
def _send_invite(self, instance):
|
||||||
|
|||||||
@@ -53,14 +53,14 @@ def daterange(df, dt, as_html=False):
|
|||||||
|
|
||||||
if lng.startswith("de"):
|
if lng.startswith("de"):
|
||||||
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
|
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
|
||||||
return format_html(base_format, _date(df, "j. F Y"))
|
return format_html(base_format, _date(df, "D, j. F Y"))
|
||||||
elif df.year == dt.year and df.month == dt.month:
|
elif df.year == dt.year and df.month == dt.month:
|
||||||
return format_html(base_format, _date(df, "j."), "–", _date(dt, "j. F Y"))
|
return format_html(base_format, _date(df, "j."), "–", _date(dt, "j. F Y"))
|
||||||
elif df.year == dt.year:
|
elif df.year == dt.year:
|
||||||
return format_html(base_format, _date(df, "j. F"), " – ", _date(dt, "j. F Y"))
|
return format_html(base_format, _date(df, "j. F"), " – ", _date(dt, "j. F Y"))
|
||||||
elif lng.startswith("en"):
|
elif lng.startswith("en"):
|
||||||
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
|
if df.year == dt.year and df.month == dt.month and df.day == dt.day:
|
||||||
return format_html(base_format, _date(df, "N jS, Y"))
|
return format_html(base_format, _date(df, "D, N jS, Y"))
|
||||||
elif df.year == dt.year and df.month == dt.month:
|
elif df.year == dt.year and df.month == dt.month:
|
||||||
return format_html(base_format, _date(df, "N jS"), " – ", _date(dt, "jS, Y"))
|
return format_html(base_format, _date(df, "N jS"), " – ", _date(dt, "jS, Y"))
|
||||||
elif df.year == dt.year:
|
elif df.year == dt.year:
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
||||||
"PO-Revision-Date: 2024-07-23 10:22+0000\n"
|
"PO-Revision-Date: 2024-09-03 00:00+0000\n"
|
||||||
"Last-Translator: Alberto Ortega <ortega16.cieza@gmail.com>\n"
|
"Last-Translator: Alberto Ortega <ortega16.cieza@gmail.com>\n"
|
||||||
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix/"
|
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||||
"es/>\n"
|
"es/>\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 5.6.2\n"
|
"X-Generator: Weblate 5.7\n"
|
||||||
|
|
||||||
#: pretix/_base_settings.py:79
|
#: pretix/_base_settings.py:79
|
||||||
msgid "English"
|
msgid "English"
|
||||||
@@ -3984,8 +3984,9 @@ msgstr ""
|
|||||||
|
|
||||||
#: pretix/base/models/customers.py:299 pretix/base/models/orders.py:1513
|
#: pretix/base/models/customers.py:299 pretix/base/models/orders.py:1513
|
||||||
#: pretix/base/models/orders.py:3175 pretix/base/settings.py:1096
|
#: pretix/base/models/orders.py:3175 pretix/base/settings.py:1096
|
||||||
|
#, fuzzy
|
||||||
msgid "Company name"
|
msgid "Company name"
|
||||||
msgstr "Nombre de la Compañía"
|
msgstr "Razón Social / Organización"
|
||||||
|
|
||||||
#: pretix/base/models/customers.py:303 pretix/base/models/orders.py:1517
|
#: pretix/base/models/customers.py:303 pretix/base/models/orders.py:1517
|
||||||
#: pretix/base/models/orders.py:3182 pretix/base/settings.py:81
|
#: pretix/base/models/orders.py:3182 pretix/base/settings.py:81
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
||||||
"PO-Revision-Date: 2024-08-26 15:00+0000\n"
|
"PO-Revision-Date: 2024-09-06 08:47+0000\n"
|
||||||
"Last-Translator: Albizuri <oier@puntu.eus>\n"
|
"Last-Translator: Albizuri <oier@puntu.eus>\n"
|
||||||
"Language-Team: Basque <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
"Language-Team: Basque <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||||
"eu/>\n"
|
"eu/>\n"
|
||||||
@@ -602,7 +602,7 @@ msgstr ""
|
|||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:913
|
#: pretix/static/pretixcontrol/js/ui/editor.js:913
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:673
|
#: pretix/static/pretixcontrol/js/ui/editor.js:673
|
||||||
msgid "Ticket design"
|
msgid "Ticket design"
|
||||||
msgstr ""
|
msgstr "Sarrera diseinua"
|
||||||
|
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:1250
|
#: pretix/static/pretixcontrol/js/ui/editor.js:1250
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:972
|
#: pretix/static/pretixcontrol/js/ui/editor.js:972
|
||||||
@@ -720,16 +720,18 @@ msgid ""
|
|||||||
"The items in your cart are no longer reserved for you. You can still "
|
"The items in your cart are no longer reserved for you. You can still "
|
||||||
"complete your order as long as they’re available."
|
"complete your order as long as they’re available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Zure saskiko produktuak ez daude zuretzat erreserbatuta. Oraindik ere zure "
|
||||||
|
"eskaera bete dezakezu, baldin eta eskuragarri badaude."
|
||||||
|
|
||||||
#: pretix/static/pretixpresale/js/ui/cart.js:45
|
#: pretix/static/pretixpresale/js/ui/cart.js:45
|
||||||
msgid "Cart expired"
|
msgid "Cart expired"
|
||||||
msgstr ""
|
msgstr "Saskia iraungita"
|
||||||
|
|
||||||
#: pretix/static/pretixpresale/js/ui/cart.js:50
|
#: pretix/static/pretixpresale/js/ui/cart.js:50
|
||||||
msgid "The items in your cart are reserved for you for one minute."
|
msgid "The items in your cart are reserved for you for one minute."
|
||||||
msgid_plural "The items in your cart are reserved for you for {num} minutes."
|
msgid_plural "The items in your cart are reserved for you for {num} minutes."
|
||||||
msgstr[0] ""
|
msgstr[0] "Zure saskiko produktuak minutu -ez erreserbatuta daude zuretzat."
|
||||||
msgstr[1] ""
|
msgstr[1] "Zure saskiko produktuak {num} minutuz erreserbatuta daude zuretzat."
|
||||||
|
|
||||||
#: pretix/static/pretixpresale/js/ui/main.js:203
|
#: pretix/static/pretixpresale/js/ui/main.js:203
|
||||||
msgid "The organizer keeps %(currency)s %(amount)s"
|
msgid "The organizer keeps %(currency)s %(amount)s"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
||||||
"PO-Revision-Date: 2024-07-01 16:00+0000\n"
|
"PO-Revision-Date: 2024-08-28 10:03+0000\n"
|
||||||
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
|
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
|
||||||
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix/pl/"
|
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix/pl/"
|
||||||
">\n"
|
">\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||||
"|| n%100>=20) ? 1 : 2;\n"
|
"|| n%100>=20) ? 1 : 2;\n"
|
||||||
"X-Generator: Weblate 5.6.1\n"
|
"X-Generator: Weblate 5.7\n"
|
||||||
|
|
||||||
#: pretix/_base_settings.py:79
|
#: pretix/_base_settings.py:79
|
||||||
msgid "English"
|
msgid "English"
|
||||||
@@ -259,10 +259,9 @@ msgid "Unknown plugin: '{name}'."
|
|||||||
msgstr "Nieznany plugin: '{name}'."
|
msgstr "Nieznany plugin: '{name}'."
|
||||||
|
|
||||||
#: pretix/api/serializers/event.py:295
|
#: pretix/api/serializers/event.py:295
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
#| msgid "Unknown plugin: '{name}'."
|
|
||||||
msgid "Restricted plugin: '{name}'."
|
msgid "Restricted plugin: '{name}'."
|
||||||
msgstr "Nieznany plugin: '{name}'."
|
msgstr "Plugin z ograniczeniami: '{name}'."
|
||||||
|
|
||||||
#: pretix/api/serializers/item.py:86 pretix/api/serializers/item.py:148
|
#: pretix/api/serializers/item.py:86 pretix/api/serializers/item.py:148
|
||||||
#: pretix/api/serializers/item.py:359
|
#: pretix/api/serializers/item.py:359
|
||||||
@@ -505,10 +504,8 @@ msgid "Order denied"
|
|||||||
msgstr "Zamówienie odrzucone"
|
msgstr "Zamówienie odrzucone"
|
||||||
|
|
||||||
#: pretix/api/webhooks.py:313
|
#: pretix/api/webhooks.py:313
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Order denied"
|
|
||||||
msgid "Order deleted"
|
msgid "Order deleted"
|
||||||
msgstr "Zamówienie odrzucone"
|
msgstr "Zamówienie skasowane"
|
||||||
|
|
||||||
#: pretix/api/webhooks.py:317
|
#: pretix/api/webhooks.py:317
|
||||||
msgid "Ticket checked in"
|
msgid "Ticket checked in"
|
||||||
@@ -2287,10 +2284,8 @@ msgid "Order comment"
|
|||||||
msgstr "Komentarz do zamówienia"
|
msgstr "Komentarz do zamówienia"
|
||||||
|
|
||||||
#: pretix/base/exporters/orderlist.py:622
|
#: pretix/base/exporters/orderlist.py:622
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add-On to position #%(posid)s"
|
|
||||||
msgid "Add-on to position ID"
|
msgid "Add-on to position ID"
|
||||||
msgstr "Dodatek do pozycji #%(posid)s"
|
msgstr "Dodatek do pozycji ID"
|
||||||
|
|
||||||
#: pretix/base/exporters/orderlist.py:650 pretix/base/pdf.py:340
|
#: pretix/base/exporters/orderlist.py:650 pretix/base/pdf.py:340
|
||||||
msgid "Invoice address street"
|
msgid "Invoice address street"
|
||||||
@@ -3873,6 +3868,10 @@ msgid ""
|
|||||||
"replacement, our new plugin \"Auto check-in\" can be used. When we remove "
|
"replacement, our new plugin \"Auto check-in\" can be used. When we remove "
|
||||||
"this option, we will automatically migrate your event to use the new plugin."
|
"this option, we will automatically migrate your event to use the new plugin."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Ta opcja jest przestarzała i zostanie usunięta w ciągu najbliższych "
|
||||||
|
"miesięcy. Jako zamiennik można użyć naszej nowej wtyczki „Auto check-in”. "
|
||||||
|
"Gdy usuniemy tę opcję, automatycznie zmigrujemy Twoje wydarzenie do "
|
||||||
|
"korzystania z nowej wtyczki."
|
||||||
|
|
||||||
#: pretix/base/models/checkin.py:340
|
#: pretix/base/models/checkin.py:340
|
||||||
msgid "Entry"
|
msgid "Entry"
|
||||||
@@ -5711,10 +5710,8 @@ msgid "Meta information"
|
|||||||
msgstr "Metadane"
|
msgstr "Metadane"
|
||||||
|
|
||||||
#: pretix/base/models/orders.py:303
|
#: pretix/base/models/orders.py:303
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Meta information"
|
|
||||||
msgid "API meta information"
|
msgid "API meta information"
|
||||||
msgstr "Metadane"
|
msgstr "Metadane API"
|
||||||
|
|
||||||
#: pretix/base/models/orders.py:392 pretix/plugins/sendmail/forms.py:236
|
#: pretix/base/models/orders.py:392 pretix/plugins/sendmail/forms.py:236
|
||||||
#: pretix/plugins/sendmail/forms.py:391 pretix/plugins/sendmail/views.py:272
|
#: pretix/plugins/sendmail/forms.py:391 pretix/plugins/sendmail/views.py:272
|
||||||
@@ -8041,10 +8038,9 @@ msgstr ""
|
|||||||
"wydarzenia."
|
"wydarzenia."
|
||||||
|
|
||||||
#: pretix/base/services/mail.py:121
|
#: pretix/base/services/mail.py:121
|
||||||
#, fuzzy
|
|
||||||
#| msgid "The selected media type is not enabled in your organizer settings."
|
|
||||||
msgid "This prefix has been set in your event or organizer settings."
|
msgid "This prefix has been set in your event or organizer settings."
|
||||||
msgstr "Wybrany typ nośnika nie jest włączony w ustawieniach organizatora."
|
msgstr ""
|
||||||
|
"Prefiks ten został ustawiony w ustawieniach wydarzenia lub organizatora."
|
||||||
|
|
||||||
#: pretix/base/services/mail.py:278
|
#: pretix/base/services/mail.py:278
|
||||||
#, python-brace-format
|
#, python-brace-format
|
||||||
@@ -9675,6 +9671,11 @@ msgid ""
|
|||||||
"if they want more than one ticket, as every entry only grants one single "
|
"if they want more than one ticket, as every entry only grants one single "
|
||||||
"ticket at a time."
|
"ticket at a time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Przy zwiększonym limicie klient może poprosić o więcej niż jeden bilet na "
|
||||||
|
"konkretny produkt przy użyciu tego samego, unikalnego adresu e-mail. Jednak "
|
||||||
|
"niezależnie od tego ustawienia, klient będzie musiał wypełnić formularz "
|
||||||
|
"listy oczekujących wielokrotnie, jeśli chce otrzymać więcej niż jeden bilet, "
|
||||||
|
"ponieważ każdy wpis przyznaje tylko jeden bilet na raz."
|
||||||
|
|
||||||
#: pretix/base/settings.py:1493
|
#: pretix/base/settings.py:1493
|
||||||
msgid "Show number of check-ins to customer"
|
msgid "Show number of check-ins to customer"
|
||||||
@@ -11705,10 +11706,9 @@ msgstr ""
|
|||||||
"Data ostatniej płatności nie może przypadać przed końcem przedsprzedaży."
|
"Data ostatniej płatności nie może przypadać przed końcem przedsprzedaży."
|
||||||
|
|
||||||
#: pretix/base/settings.py:3811
|
#: pretix/base/settings.py:3811
|
||||||
#, fuzzy, python-brace-format
|
#, python-brace-format
|
||||||
#| msgid "Please enter a valid sales channel."
|
|
||||||
msgid "The value \"{identifier}\" is not a valid sales channel."
|
msgid "The value \"{identifier}\" is not a valid sales channel."
|
||||||
msgstr "Wprowadź dostępny kanał sprzedaży."
|
msgstr "Wartość \"{identifier} nie jest prawidłowym kanałem sprzedaży."
|
||||||
|
|
||||||
#: pretix/base/settings.py:3826
|
#: pretix/base/settings.py:3826
|
||||||
msgid "This needs to be disabled if other NFC-based types are active."
|
msgid "This needs to be disabled if other NFC-based types are active."
|
||||||
@@ -15034,19 +15034,14 @@ msgid "or"
|
|||||||
msgstr "lub"
|
msgstr "lub"
|
||||||
|
|
||||||
#: pretix/control/forms/vouchers.py:293
|
#: pretix/control/forms/vouchers.py:293
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
|
||||||
#| "You can either supply a list of email addresses with one email address "
|
|
||||||
#| "per line, or a CSV file with a title column and one or more of the "
|
|
||||||
#| "columns \"email\", \"number\", \"name\", or \"tag\"."
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"You can either supply a list of email addresses with one email address per "
|
"You can either supply a list of email addresses with one email address per "
|
||||||
"line, or the contents of a CSV file with a title column and one or more of "
|
"line, or the contents of a CSV file with a title column and one or more of "
|
||||||
"the columns \"email\", \"number\", \"name\", or \"tag\"."
|
"the columns \"email\", \"number\", \"name\", or \"tag\"."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Możesz dostarczyć listę adresów e-mail z jednym adresem e-mail na wiersz lub "
|
"Możesz dostarczyć listę adresów e-mail z jednym adresem e-mail na wiersz lub "
|
||||||
"plik CSV z kolumną tytułu i jedną lub kilkoma kolumnami \"e-mail\", "
|
"zawartość pliku CSV z kolumną tytułu i jedną lub kilkoma kolumnami \"e-mail\""
|
||||||
"\"numer\", \"nazwa\" lub \"tag\"."
|
", \"numer\", \"nazwa\" lub \"tag\"."
|
||||||
|
|
||||||
#: pretix/control/forms/vouchers.py:327
|
#: pretix/control/forms/vouchers.py:327
|
||||||
msgid "Maximum usages per voucher"
|
msgid "Maximum usages per voucher"
|
||||||
@@ -19187,17 +19182,12 @@ msgstr ""
|
|||||||
"używana razem z funkcją minimalnej odległości w naszym module planu miejsc."
|
"używana razem z funkcją minimalnej odległości w naszym module planu miejsc."
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/event/settings.html:377
|
#: pretix/control/templates/pretixcontrol/event/settings.html:377
|
||||||
#, fuzzy
|
|
||||||
#| msgctxt "sendmail_form"
|
|
||||||
#| msgid "Waiting for"
|
|
||||||
msgid "Waiting customers"
|
msgid "Waiting customers"
|
||||||
msgstr "Oczekiwanie na"
|
msgstr "Oczekujący klienci"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/event/settings.html:383
|
#: pretix/control/templates/pretixcontrol/event/settings.html:383
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Enable waiting list"
|
|
||||||
msgid "Manage waiting list"
|
msgid "Manage waiting list"
|
||||||
msgstr "Włącz listę oczekujących"
|
msgstr "Zarządzaj listą oczekujących"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/event/settings.html:396
|
#: pretix/control/templates/pretixcontrol/event/settings.html:396
|
||||||
msgid "Item metadata"
|
msgid "Item metadata"
|
||||||
@@ -21128,6 +21118,9 @@ msgid ""
|
|||||||
"will not affect the membership. Memberships can be managed in the customer "
|
"will not affect the membership. Memberships can be managed in the customer "
|
||||||
"account."
|
"account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Sprzedaż tej pozycji spowodowała utworzenie członkostwa. Zmiana produktu w "
|
||||||
|
"tym miejscu nie wpłynie na członkostwo. Członkostwem można zarządzać na "
|
||||||
|
"koncie klienta."
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/order/change.html:208
|
#: pretix/control/templates/pretixcontrol/order/change.html:208
|
||||||
#: pretix/control/templates/pretixcontrol/order/change.html:426
|
#: pretix/control/templates/pretixcontrol/order/change.html:426
|
||||||
@@ -21178,6 +21171,9 @@ msgid ""
|
|||||||
"ticket here will not affect the membership. Memberships can be managed in "
|
"ticket here will not affect the membership. Memberships can be managed in "
|
||||||
"the customer account."
|
"the customer account."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Sprzedaż tej pozycji spowodowała utworzenie członkostwa. Zmiana ważności "
|
||||||
|
"biletu w tym miejscu nie wpłynie na członkostwo. Członkostwem można "
|
||||||
|
"zarządzać na koncie klienta."
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/order/change.html:290
|
#: pretix/control/templates/pretixcontrol/order/change.html:290
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -23943,30 +23939,24 @@ msgid "Flow multiple lines downward from specified position"
|
|||||||
msgstr "Wypełnij wiele linii w dół od określonej pozycji"
|
msgstr "Wypełnij wiele linii w dół od określonej pozycji"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:452
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:452
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Automatically refund money if possible"
|
|
||||||
msgid "Automatically reduce font size to fit content"
|
msgid "Automatically reduce font size to fit content"
|
||||||
msgstr "Automatycznie zwróć pieniądze, jeśli to możliwe"
|
msgstr "Automatyczne zmniejsz rozmiar czcionki w celu dopasowania do treści"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:458
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:458
|
||||||
msgid "Allow long words to be split (preview is not accurate)"
|
msgid "Allow long words to be split (preview is not accurate)"
|
||||||
msgstr ""
|
msgstr "Zezwalaj na dzielenie długich słów (podgląd nie jest dokładny)"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:469
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:469
|
||||||
msgid "Add a new object"
|
msgid "Add a new object"
|
||||||
msgstr "Dodaj nowy obiekt"
|
msgstr "Dodaj nowy obiekt"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:474
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:474
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Text color"
|
|
||||||
msgid "Text box"
|
msgid "Text box"
|
||||||
msgstr "Kolor tekstu"
|
msgstr "Pole tekstowe"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:478
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:478
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Event created"
|
|
||||||
msgid "Text (deprecated)"
|
msgid "Text (deprecated)"
|
||||||
msgstr "Wydarzenie utworzone"
|
msgstr "Tekst (przestarzałe)"
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:482
|
#: pretix/control/templates/pretixcontrol/pdf/index.html:482
|
||||||
msgid "QR code for Check-In"
|
msgid "QR code for Check-In"
|
||||||
@@ -24005,6 +23995,9 @@ msgid ""
|
|||||||
"use pretixPRINT version %(print_version)s (or newer) or pretixSCAN Desktop "
|
"use pretixPRINT version %(print_version)s (or newer) or pretixSCAN Desktop "
|
||||||
"version %(scan_version)s (or newer)."
|
"version %(scan_version)s (or newer)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Ten układ wykorzystuje nowe funkcje. Jeśli drukujesz ze swojego urządzenia, "
|
||||||
|
"upewnij się, że używasz pretixPRINT w wersji %(print_version)s (lub nowszej) "
|
||||||
|
"lub pretixSCAN Desktop w wersji %(scan_version)s (lub nowszej)."
|
||||||
|
|
||||||
#: pretix/control/templates/pretixcontrol/pdf/placeholders.html:16
|
#: pretix/control/templates/pretixcontrol/pdf/placeholders.html:16
|
||||||
msgid "Available placeholders"
|
msgid "Available placeholders"
|
||||||
@@ -27223,133 +27216,99 @@ msgstr "Zespół Pretix"
|
|||||||
|
|
||||||
#: pretix/plugins/autocheckin/apps.py:39
|
#: pretix/plugins/autocheckin/apps.py:39
|
||||||
msgid "Automatically check-in specific tickets after they have been sold."
|
msgid "Automatically check-in specific tickets after they have been sold."
|
||||||
msgstr ""
|
msgstr "Automatycznie odpraw określone bilety po ich sprzedaży."
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/forms.py:60
|
#: pretix/plugins/autocheckin/forms.py:60
|
||||||
#: pretix/plugins/autocheckin/models.py:82
|
#: pretix/plugins/autocheckin/models.py:82
|
||||||
#, fuzzy
|
|
||||||
#| msgid "All payment providers"
|
|
||||||
msgid "Only including usage of payment providers"
|
msgid "Only including usage of payment providers"
|
||||||
msgstr "Wszyscy dostawcy płatności"
|
msgstr "Tylko z uwzględnieniem korzystania z dostawców usług płatniczych"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/forms.py:120
|
#: pretix/plugins/autocheckin/forms.py:120
|
||||||
#, fuzzy
|
|
||||||
#| msgid "All actions"
|
|
||||||
msgid "All variations"
|
msgid "All variations"
|
||||||
msgstr "Wszystkie działania"
|
msgstr "Wszystkie warianty"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/forms.py:248
|
#: pretix/plugins/autocheckin/forms.py:248
|
||||||
msgid ""
|
msgid ""
|
||||||
"When restricting by payment method, the rule should run after the payment "
|
"When restricting by payment method, the rule should run after the payment "
|
||||||
"was received."
|
"was received."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"W przypadku ograniczenia według metody płatności reguła powinna zostać "
|
||||||
|
"uruchomiona po otrzymaniu płatności."
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:36
|
#: pretix/plugins/autocheckin/models.py:36
|
||||||
#, fuzzy
|
|
||||||
#| msgid "New order placed"
|
|
||||||
msgid "After order was placed"
|
msgid "After order was placed"
|
||||||
msgstr "Złożono zamówienie"
|
msgstr "Po złożeniu zamówienia"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:37
|
#: pretix/plugins/autocheckin/models.py:37
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Mark order as paid"
|
|
||||||
msgid "After order was paid"
|
msgid "After order was paid"
|
||||||
msgstr "Oznacz zamówienie jako opłacone"
|
msgstr "Po opłaceniu zamówienia"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:48
|
#: pretix/plugins/autocheckin/models.py:48
|
||||||
#, fuzzy
|
|
||||||
#| msgid "If you keep this empty, all input will be allowed."
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If you keep this empty, all lists that match the purchased product will be "
|
"If you keep this empty, all lists that match the purchased product will be "
|
||||||
"used."
|
"used."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jeśli pozostawisz to pole puste, wszystkie dane wejściowe będą dozwolone."
|
"Jeśli to pole pozostanie puste, użyte zostaną wszystkie listy pasujące do "
|
||||||
|
"zakupionego produktu."
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:59
|
#: pretix/plugins/autocheckin/models.py:59
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Add sales channel"
|
|
||||||
msgid "All sales channels"
|
msgid "All sales channels"
|
||||||
msgstr "Dodaj kanał sprzedaży"
|
msgstr "Wszystkie kanały sprzedaży"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:69
|
#: pretix/plugins/autocheckin/models.py:69
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Product variations"
|
|
||||||
msgid "All products and variations"
|
msgid "All products and variations"
|
||||||
msgstr "Warianty produktu"
|
msgstr "Wszystkie produkty i warianty produktu"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/models.py:78
|
#: pretix/plugins/autocheckin/models.py:78
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Enable payment method"
|
|
||||||
msgid "All payment methods"
|
msgid "All payment methods"
|
||||||
msgstr "Aktywuj metodę płatności"
|
msgstr "Wszystkie metody płatności"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/signals.py:47
|
#: pretix/plugins/autocheckin/signals.py:47
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:13
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:13
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:13
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:13
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Automated check-in"
|
|
||||||
msgid "Auto check-in"
|
msgid "Auto check-in"
|
||||||
msgstr "Automatyczna odprawa"
|
msgstr "Auto-odprawa"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/signals.py:70
|
#: pretix/plugins/autocheckin/signals.py:70
|
||||||
#, fuzzy
|
|
||||||
#| msgid "An email rule was created"
|
|
||||||
msgid "An auto check-in rule was created"
|
msgid "An auto check-in rule was created"
|
||||||
msgstr "Utworzono regułę wiadomości e-mail"
|
msgstr "Utworzono regułę auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/signals.py:72
|
#: pretix/plugins/autocheckin/signals.py:72
|
||||||
#, fuzzy
|
|
||||||
#| msgid "An email rule was updated"
|
|
||||||
msgid "An auto check-in rule was updated"
|
msgid "An auto check-in rule was updated"
|
||||||
msgstr "Zaktualizowano regułę wiadomości e-mail"
|
msgstr "Zaktualizowano regułę auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/signals.py:75
|
#: pretix/plugins/autocheckin/signals.py:75
|
||||||
#, fuzzy
|
|
||||||
#| msgid "An email rule was deleted"
|
|
||||||
msgid "An auto check-in rule was deleted"
|
msgid "An auto check-in rule was deleted"
|
||||||
msgstr "Usunięto regułę wiadomości e-mail"
|
msgstr "Usunięto regułę auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:4
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:4
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:6
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:6
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Custom check-in rule"
|
|
||||||
msgid "Create auto check-in rule"
|
msgid "Create auto check-in rule"
|
||||||
msgstr "Niestandardowa reguła odprawy"
|
msgstr "Utwórz regułę auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:18
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html:18
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:18
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:18
|
||||||
#, fuzzy
|
|
||||||
#| msgctxt "discount"
|
|
||||||
#| msgid "Condition"
|
|
||||||
msgid "Conditions"
|
msgid "Conditions"
|
||||||
msgstr "Stan"
|
msgstr "Warunki"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:4
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:4
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:6
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:6
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Delete check-in list"
|
|
||||||
msgid "Delete auto check-in rule"
|
msgid "Delete auto check-in rule"
|
||||||
msgstr "Usuń listę odpraw"
|
msgstr "Usuń regułę auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:9
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/delete.html:9
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Are you sure you want to delete the gate?"
|
|
||||||
msgid "Are you sure you want to delete the auto check-in rule?"
|
msgid "Are you sure you want to delete the auto check-in rule?"
|
||||||
msgstr "Czy na pewno chcesz usunąć bramkę?"
|
msgstr "Czy na pewno chcesz usunąć regułę auto-odprawy?"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:4
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:4
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:6
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/edit.html:6
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Custom check-in rule"
|
|
||||||
msgid "Auto check-in rule"
|
msgid "Auto check-in rule"
|
||||||
msgstr "Niestandardowa reguła odprawy"
|
msgstr "Reguła auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:5
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:5
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:7
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:7
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Custom check-in rule"
|
|
||||||
msgid "Auto check-in rules"
|
msgid "Auto check-in rules"
|
||||||
msgstr "Niestandardowa reguła odprawy"
|
msgstr "Reguły auto-odprawy"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:11
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:11
|
||||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_list.html:96
|
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_list.html:96
|
||||||
@@ -27358,16 +27317,12 @@ msgstr "Nie stworzyłeś jeszcze żadnych zasad."
|
|||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:17
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:17
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:22
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:22
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Create a new check-in list"
|
|
||||||
msgid "Create a new check-in rule"
|
msgid "Create a new check-in rule"
|
||||||
msgstr "Utwórz nową listę odpraw"
|
msgstr "Utwórz nową regułę odpraw"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:32
|
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/index.html:32
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Payment method"
|
|
||||||
msgid "Payment methods"
|
msgid "Payment methods"
|
||||||
msgstr "Metoda płatności"
|
msgstr "Metody płatności"
|
||||||
|
|
||||||
#: pretix/plugins/autocheckin/views.py:119 pretix/plugins/sendmail/views.py:628
|
#: pretix/plugins/autocheckin/views.py:119 pretix/plugins/sendmail/views.py:628
|
||||||
msgid "Your rule has been created."
|
msgid "Your rule has been created."
|
||||||
@@ -29040,6 +28995,9 @@ msgid ""
|
|||||||
"Refunding the amount via PayPal failed: The original payment does not "
|
"Refunding the amount via PayPal failed: The original payment does not "
|
||||||
"contain the required information to issue an automated refund."
|
"contain the required information to issue an automated refund."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Zwrot kwoty za pośrednictwem systemu PayPal nie powiódł się: Oryginalna "
|
||||||
|
"płatność nie zawiera informacji wymaganych do automatycznego zwrotu "
|
||||||
|
"pieniędzy."
|
||||||
|
|
||||||
#: pretix/plugins/paypal2/payment.py:1087
|
#: pretix/plugins/paypal2/payment.py:1087
|
||||||
msgid "PayPal APM"
|
msgid "PayPal APM"
|
||||||
@@ -30684,26 +30642,20 @@ msgstr ""
|
|||||||
"WeChat. Prosimy o zachowanie danych logowania."
|
"WeChat. Prosimy o zachowanie danych logowania."
|
||||||
|
|
||||||
#: pretix/plugins/stripe/payment.py:1788
|
#: pretix/plugins/stripe/payment.py:1788
|
||||||
#, fuzzy
|
|
||||||
#| msgid "WeChat Pay via Stripe"
|
|
||||||
msgid "Revolut Pay via Stripe"
|
msgid "Revolut Pay via Stripe"
|
||||||
msgstr "WeChat Pay przez Stripe"
|
msgstr "Revolut Pay przez Stripe"
|
||||||
|
|
||||||
#: pretix/plugins/stripe/payment.py:1789
|
#: pretix/plugins/stripe/payment.py:1789
|
||||||
msgid "Revolut Pay"
|
msgid "Revolut Pay"
|
||||||
msgstr ""
|
msgstr "Revolut Pay"
|
||||||
|
|
||||||
#: pretix/plugins/stripe/payment.py:1793
|
#: pretix/plugins/stripe/payment.py:1793
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
|
||||||
#| "This payment method is available to users of the Chinese app WeChat. "
|
|
||||||
#| "Please keep your login information available."
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"This payment method is available to users of the Revolut app. Please keep "
|
"This payment method is available to users of the Revolut app. Please keep "
|
||||||
"your login information available."
|
"your login information available."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ta metoda płatności jest dostępna dla użytkowników chińskiej aplikacji "
|
"Ta metoda płatności jest dostępna dla użytkowników aplikacji Revolut. "
|
||||||
"WeChat. Prosimy o zachowanie danych logowania."
|
"Prosimy o zachowanie danych logowania."
|
||||||
|
|
||||||
#: pretix/plugins/stripe/payment.py:1807
|
#: pretix/plugins/stripe/payment.py:1807
|
||||||
msgid "PayPal via Stripe"
|
msgid "PayPal via Stripe"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
"POT-Creation-Date: 2024-08-27 13:34+0000\n"
|
||||||
"PO-Revision-Date: 2024-06-27 17:00+0000\n"
|
"PO-Revision-Date: 2024-08-28 10:03+0000\n"
|
||||||
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
|
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
|
||||||
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||||
"pl/>\n"
|
"pl/>\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
|
||||||
"|| n%100>=20) ? 1 : 2;\n"
|
"|| n%100>=20) ? 1 : 2;\n"
|
||||||
"X-Generator: Weblate 5.6.1\n"
|
"X-Generator: Weblate 5.7\n"
|
||||||
|
|
||||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||||
@@ -572,16 +572,12 @@ msgid "Group of objects"
|
|||||||
msgstr "Grupa obiektów"
|
msgstr "Grupa obiektów"
|
||||||
|
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:899
|
#: pretix/static/pretixcontrol/js/ui/editor.js:899
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Text object"
|
|
||||||
msgid "Text object (deprecated)"
|
msgid "Text object (deprecated)"
|
||||||
msgstr "Obiekt tekstowy"
|
msgstr "Obiekt tekstowy (przestarzały)"
|
||||||
|
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:901
|
#: pretix/static/pretixcontrol/js/ui/editor.js:901
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Text object"
|
|
||||||
msgid "Text box"
|
msgid "Text box"
|
||||||
msgstr "Obiekt tekstowy"
|
msgstr "Pole tekstowe"
|
||||||
|
|
||||||
#: pretix/static/pretixcontrol/js/ui/editor.js:903
|
#: pretix/static/pretixcontrol/js/ui/editor.js:903
|
||||||
msgid "Barcode area"
|
msgid "Barcode area"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -162,6 +162,21 @@ def _handle_transaction(trans: BankTransaction, matches: tuple, event: Event = N
|
|||||||
else:
|
else:
|
||||||
trans.order = orders[0]
|
trans.order = orders[0]
|
||||||
|
|
||||||
|
if len(orders) > 1:
|
||||||
|
# Multi-match! Can we split this automatically?
|
||||||
|
order_pending_sum = sum(o.pending_sum for o in orders)
|
||||||
|
if order_pending_sum != trans.amount:
|
||||||
|
# we can't :( this needs to be dealt with by a human
|
||||||
|
trans.state = BankTransaction.STATE_NOMATCH
|
||||||
|
trans.message = gettext_noop('Automatic split to multiple orders not possible.')
|
||||||
|
trans.save()
|
||||||
|
return
|
||||||
|
|
||||||
|
# we can!
|
||||||
|
splits = [(o, o.pending_sum) for o in orders]
|
||||||
|
else:
|
||||||
|
splits = [(orders[0], trans.amount)]
|
||||||
|
|
||||||
for o in orders:
|
for o in orders:
|
||||||
if o.status == Order.STATUS_PAID and o.pending_sum <= Decimal('0.00'):
|
if o.status == Order.STATUS_PAID and o.pending_sum <= Decimal('0.00'):
|
||||||
trans.state = BankTransaction.STATE_DUPLICATE
|
trans.state = BankTransaction.STATE_DUPLICATE
|
||||||
@@ -179,21 +194,6 @@ def _handle_transaction(trans: BankTransaction, matches: tuple, event: Event = N
|
|||||||
trans.save()
|
trans.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
if len(orders) > 1:
|
|
||||||
# Multi-match! Can we split this automatically?
|
|
||||||
order_pending_sum = sum(o.pending_sum for o in orders)
|
|
||||||
if order_pending_sum != trans.amount:
|
|
||||||
# we can't :( this needs to be dealt with by a human
|
|
||||||
trans.state = BankTransaction.STATE_NOMATCH
|
|
||||||
trans.message = gettext_noop('Automatic split to multiple orders not possible.')
|
|
||||||
trans.save()
|
|
||||||
return
|
|
||||||
|
|
||||||
# we can!
|
|
||||||
splits = [(o, o.pending_sum) for o in orders]
|
|
||||||
else:
|
|
||||||
splits = [(orders[0], trans.amount)]
|
|
||||||
|
|
||||||
trans.state = BankTransaction.STATE_VALID
|
trans.state = BankTransaction.STATE_VALID
|
||||||
for order, amount in splits:
|
for order, amount in splits:
|
||||||
info_data = {
|
info_data = {
|
||||||
|
|||||||
@@ -6,13 +6,16 @@
|
|||||||
{% load eventsignal %}
|
{% load eventsignal %}
|
||||||
{% load rich_text %}
|
{% load rich_text %}
|
||||||
{% for tup in items_by_category %}
|
{% for tup in items_by_category %}
|
||||||
<section {% if tup.0 %}aria-labelledby="category-{{ tup.0.id }}"{% else %}aria-label="{% trans "Uncategorized items" %}"{% endif %}{% if tup.0.description %} aria-describedby="category-info-{{ tup.0.id }}"{% endif %}>
|
{% if tup.0 %}
|
||||||
{% if tup.0 %}
|
<section aria-labelledby="category-{{ tup.0.id }}"{% if tup.0.description %} aria-describedby="category-info-{{ tup.0.id }}"{% endif %}>
|
||||||
<h3 id="category-{{ tup.0.id }}">{{ tup.0.name }}</h3>
|
<h3 id="category-{{ tup.0.id }}">{{ tup.0.name }}</h3>
|
||||||
{% if tup.0.description %}
|
{% if tup.0.description %}
|
||||||
<div id="category-info-{{ tup.0.id }}">{{ tup.0.description|localize|rich_text }}</div>
|
<div id="category-info-{{ tup.0.id }}">{{ tup.0.description|localize|rich_text }}</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% else %}
|
||||||
|
<section aria-labelledby="category-none">
|
||||||
|
<h3 id="category-none" class="sr-only">{% trans "Uncategorized items" %}</h3>
|
||||||
|
{% endif %}
|
||||||
{% for item in tup.1 %}
|
{% for item in tup.1 %}
|
||||||
{% if item.has_variations %}
|
{% if item.has_variations %}
|
||||||
<article aria-labelledby="item-{{ item.pk }}-legend"{% if item.description %} aria-describedby="item-{{ item.pk }}-description"{% endif %} class="item-with-variations{% if event.settings.show_variations_expanded %} details-open{% endif %}" id="item-{{ item.pk }}">
|
<article aria-labelledby="item-{{ item.pk }}-legend"{% if item.description %} aria-describedby="item-{{ item.pk }}-description"{% endif %} class="item-with-variations{% if event.settings.show_variations_expanded %} details-open{% endif %}" id="item-{{ item.pk }}">
|
||||||
|
|||||||
@@ -185,7 +185,7 @@
|
|||||||
|
|
||||||
{% if waitinglist_seated %}
|
{% if waitinglist_seated %}
|
||||||
<aside class="front-page" aria-labelledby="waiting-list">
|
<aside class="front-page" aria-labelledby="waiting-list">
|
||||||
<h3 id="waiting-list">{% trans "Waiting list" %}</h3>
|
<h3 id="waiting-list" class="sr-only">{% trans "Waiting list" %}</h3>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8 col-sm-6 col-xs-12">
|
<div class="col-md-8 col-sm-6 col-xs-12">
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{% extends "pretixpresale/event/base.html" %}
|
{% extends "pretixpresale/event/base.html" %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% load eventurl %}
|
{% load eventurl %}
|
||||||
|
{% load rich_text %}
|
||||||
{% load money %}
|
{% load money %}
|
||||||
{% block title %}{% trans "Change payment method" %}{% endblock %}
|
{% block title %}{% trans "Change payment method" %}{% endblock %}
|
||||||
{% block custom_header %}
|
{% block custom_header %}
|
||||||
@@ -23,6 +24,9 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
<form method="post">
|
<form method="post">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
{% if event.settings.payment_explanation %}
|
||||||
|
{{ event.settings.payment_explanation|rich_text }}
|
||||||
|
{% endif %}
|
||||||
<div class="panel-group" id="payment_accordion">
|
<div class="panel-group" id="payment_accordion">
|
||||||
{% for p in providers %}
|
{% for p in providers %}
|
||||||
<div class="panel panel-default" data-total="{{ p.total|money_numberfield:request.event.currency }}">
|
<div class="panel panel-default" data-total="{{ p.total|money_numberfield:request.event.currency }}">
|
||||||
|
|||||||
@@ -186,14 +186,23 @@ class EventListMixin:
|
|||||||
query = Q(is_public=True) & Q(live=True)
|
query = Q(is_public=True) & Q(live=True)
|
||||||
qs = self.request.organizer.events.using(settings.DATABASE_REPLICA).filter(query)
|
qs = self.request.organizer.events.using(settings.DATABASE_REPLICA).filter(query)
|
||||||
qs = qs.filter(Q(all_sales_channels=True) | Q(limit_sales_channels=self.request.sales_channel))
|
qs = qs.filter(Q(all_sales_channels=True) | Q(limit_sales_channels=self.request.sales_channel))
|
||||||
|
|
||||||
|
show_old = "old" in self.request.GET
|
||||||
|
|
||||||
|
subevent_filter = Q(subevents__active=True, subevents__is_public=True)
|
||||||
|
if not show_old:
|
||||||
|
subevent_filter &= Q(
|
||||||
|
Q(subevents__date_to__gte=now()) | Q(subevents__date_from__gte=now())
|
||||||
|
)
|
||||||
|
|
||||||
qs = qs.annotate(
|
qs = qs.annotate(
|
||||||
min_from=Min('subevents__date_from'),
|
min_from=Min('subevents__date_from', filter=subevent_filter),
|
||||||
min_to=Min('subevents__date_to'),
|
min_to=Min('subevents__date_to', filter=subevent_filter),
|
||||||
max_from=Max('subevents__date_from'),
|
max_from=Max('subevents__date_from', filter=subevent_filter),
|
||||||
max_to=Max('subevents__date_to'),
|
max_to=Max('subevents__date_to', filter=subevent_filter),
|
||||||
max_fromto=Greatest(Max('subevents__date_to'), Max('subevents__date_from')),
|
max_fromto=Greatest(Max('subevents__date_to', filter=subevent_filter), Max('subevents__date_from', filter=subevent_filter)),
|
||||||
)
|
)
|
||||||
if "old" in self.request.GET:
|
if show_old:
|
||||||
date_q = Q(date_to__lt=now()) | (Q(date_to__isnull=True) & Q(date_from__lt=now()))
|
date_q = Q(date_to__lt=now()) | (Q(date_to__isnull=True) & Q(date_from__lt=now()))
|
||||||
qs = qs.filter(
|
qs = qs.filter(
|
||||||
Q(Q(has_subevents=False) & date_q) | Q(
|
Q(Q(has_subevents=False) & date_q) | Q(
|
||||||
|
|||||||
@@ -498,6 +498,7 @@ def test_list_all_items_positions(token_client, organizer, event, clist, clist_a
|
|||||||
'datetime': c.datetime.isoformat().replace('+00:00', 'Z'),
|
'datetime': c.datetime.isoformat().replace('+00:00', 'Z'),
|
||||||
'auto_checked_in': False,
|
'auto_checked_in': False,
|
||||||
'device': None,
|
'device': None,
|
||||||
|
'device_id': None,
|
||||||
'gate': None,
|
'gate': None,
|
||||||
'type': 'entry',
|
'type': 'entry',
|
||||||
}
|
}
|
||||||
@@ -540,6 +541,7 @@ def test_list_all_items_positions(token_client, organizer, event, clist, clist_a
|
|||||||
'datetime': c.datetime.isoformat().replace('+00:00', 'Z'),
|
'datetime': c.datetime.isoformat().replace('+00:00', 'Z'),
|
||||||
'auto_checked_in': False,
|
'auto_checked_in': False,
|
||||||
'device': None,
|
'device': None,
|
||||||
|
'device_id': None,
|
||||||
'gate': None,
|
'gate': None,
|
||||||
'type': 'entry',
|
'type': 'entry',
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -959,7 +959,7 @@ def test_refund_cancel(token_client, organizer, event, order):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_orderposition_list(token_client, organizer, event, order, item, subevent, subevent2, question):
|
def test_orderposition_list(token_client, organizer, device, event, order, item, subevent, subevent2, question, django_assert_num_queries):
|
||||||
i2 = copy.copy(item)
|
i2 = copy.copy(item)
|
||||||
i2.pk = None
|
i2.pk = None
|
||||||
i2.save()
|
i2.save()
|
||||||
@@ -1060,19 +1060,22 @@ def test_orderposition_list(token_client, organizer, event, order, item, subeven
|
|||||||
|
|
||||||
with scopes_disabled():
|
with scopes_disabled():
|
||||||
cl = event.checkin_lists.create(name="Default")
|
cl = event.checkin_lists.create(name="Default")
|
||||||
c = op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl)
|
c = op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl, device=device)
|
||||||
op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl, successful=False)
|
op.checkins.create(datetime=datetime.datetime(2017, 12, 26, 10, 0, 0, tzinfo=datetime.timezone.utc), list=cl, successful=False)
|
||||||
res['checkins'] = [{ # successful only
|
res['checkins'] = [{ # successful only
|
||||||
'id': c.pk,
|
'id': c.pk,
|
||||||
'datetime': '2017-12-26T10:00:00Z',
|
'datetime': '2017-12-26T10:00:00Z',
|
||||||
'list': cl.pk,
|
'list': cl.pk,
|
||||||
'auto_checked_in': False,
|
'auto_checked_in': False,
|
||||||
'device': None,
|
'device': device.pk,
|
||||||
|
'device_id': device.device_id,
|
||||||
'gate': None,
|
'gate': None,
|
||||||
'type': 'entry'
|
'type': 'entry'
|
||||||
}]
|
}]
|
||||||
resp = token_client.get(
|
with django_assert_num_queries(15):
|
||||||
'/api/v1/organizers/{}/events/{}/orderpositions/?has_checkin=true'.format(organizer.slug, event.slug))
|
resp = token_client.get(
|
||||||
|
'/api/v1/organizers/{}/events/{}/orderpositions/?has_checkin=true'.format(organizer.slug, event.slug)
|
||||||
|
)
|
||||||
assert [res] == resp.data['results']
|
assert [res] == resp.data['results']
|
||||||
|
|
||||||
op.subevent = subevent
|
op.subevent = subevent
|
||||||
|
|||||||
@@ -43,15 +43,15 @@ from pretix.helpers.daterange import daterange, datetimerange
|
|||||||
def test_same_day_german():
|
def test_same_day_german():
|
||||||
with translation.override('de'):
|
with translation.override('de'):
|
||||||
df = date(2003, 2, 1)
|
df = date(2003, 2, 1)
|
||||||
assert daterange(df, df) == "1. Februar 2003"
|
assert daterange(df, df) == "Sa, 1. Februar 2003"
|
||||||
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">1. Februar 2003</time>'
|
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">Sa, 1. Februar 2003</time>'
|
||||||
|
|
||||||
|
|
||||||
def test_same_day_english():
|
def test_same_day_english():
|
||||||
with translation.override('en'):
|
with translation.override('en'):
|
||||||
df = date(2003, 2, 1)
|
df = date(2003, 2, 1)
|
||||||
assert daterange(df, df) == "Feb. 1st, 2003"
|
assert daterange(df, df) == "Sat, Feb. 1st, 2003"
|
||||||
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">Feb. 1st, 2003</time>'
|
assert daterange(df, df, as_html=True) == '<time datetime="2003-02-01">Sat, Feb. 1st, 2003</time>'
|
||||||
|
|
||||||
|
|
||||||
def test_same_day_spanish():
|
def test_same_day_spanish():
|
||||||
|
|||||||
@@ -471,6 +471,33 @@ def test_split_payment_success(env, orga_job):
|
|||||||
assert o4.payments.get().amount == Decimal('12.00')
|
assert o4.payments.get().amount == Decimal('12.00')
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.django_db
|
||||||
|
def test_valid_plus_invalid_match(env, orga_job):
|
||||||
|
with scopes_disabled():
|
||||||
|
o4 = Order.objects.create(
|
||||||
|
code='99999', event=env[0],
|
||||||
|
status=Order.STATUS_PAID,
|
||||||
|
datetime=now(), expires=now() + timedelta(days=10),
|
||||||
|
total=12,
|
||||||
|
sales_channel=env[0].organizer.sales_channels.get(identifier="web"),
|
||||||
|
)
|
||||||
|
o4.payments.create(
|
||||||
|
provider='paypal',
|
||||||
|
state=OrderPayment.PAYMENT_STATE_CONFIRMED,
|
||||||
|
amount=o4.total
|
||||||
|
)
|
||||||
|
process_banktransfers(orga_job, [{
|
||||||
|
'payer': 'Karla Kundin',
|
||||||
|
'reference': 'Bestellungen DUMMY-1Z3AS DUMMY-99999',
|
||||||
|
'date': '2016-01-26',
|
||||||
|
'amount': '.00'
|
||||||
|
}])
|
||||||
|
with scopes_disabled():
|
||||||
|
job = BankImportJob.objects.last()
|
||||||
|
t = job.transactions.last()
|
||||||
|
assert t.state == BankTransaction.STATE_NOMATCH
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.django_db
|
@pytest.mark.django_db
|
||||||
def test_split_payment_mismatch(env, orga_job):
|
def test_split_payment_mismatch(env, orga_job):
|
||||||
with scopes_disabled():
|
with scopes_disabled():
|
||||||
|
|||||||
@@ -1599,7 +1599,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
|||||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||||
)
|
)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertIn('Dec. 26,', response.rendered_content)
|
self.assertIn('Fri, Dec. 26th,', response.rendered_content)
|
||||||
self.assertIn('14:00', response.rendered_content)
|
self.assertIn('14:00', response.rendered_content)
|
||||||
|
|
||||||
def test_english_region_US(self):
|
def test_english_region_US(self):
|
||||||
@@ -1609,7 +1609,7 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
|||||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||||
)
|
)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertIn('Dec. 26,', response.rendered_content)
|
self.assertIn('Fri, Dec. 26th,', response.rendered_content)
|
||||||
self.assertIn('2 p.m.', response.rendered_content)
|
self.assertIn('2 p.m.', response.rendered_content)
|
||||||
|
|
||||||
def test_german_region_US(self):
|
def test_german_region_US(self):
|
||||||
@@ -1619,5 +1619,5 @@ class EventLocaleTest(EventTestMixin, SoupTest):
|
|||||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||||
)
|
)
|
||||||
self.assertEqual(response.status_code, 200)
|
self.assertEqual(response.status_code, 200)
|
||||||
self.assertIn('26. Dezember', response.rendered_content)
|
self.assertIn('Fr, 26. Dezember', response.rendered_content)
|
||||||
self.assertIn('14:00', response.rendered_content)
|
self.assertIn('14:00', response.rendered_content)
|
||||||
|
|||||||
@@ -169,7 +169,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
"target_url": "http://example.com/ccc/30c3/",
|
"target_url": "http://example.com/ccc/30c3/",
|
||||||
"subevent": None,
|
"subevent": None,
|
||||||
"name": "30C3",
|
"name": "30C3",
|
||||||
"date_range": f"Dec. 26, {self.event.date_from.year} 00:00",
|
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
|
||||||
"frontpage_text": "",
|
"frontpage_text": "",
|
||||||
"location": "",
|
"location": "",
|
||||||
"currency": "EUR",
|
"currency": "EUR",
|
||||||
@@ -375,7 +375,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
"target_url": "http://example.com/ccc/30c3/",
|
"target_url": "http://example.com/ccc/30c3/",
|
||||||
"subevent": None,
|
"subevent": None,
|
||||||
"name": "30C3",
|
"name": "30C3",
|
||||||
"date_range": f"Dec. 26, {self.event.date_from.year} 00:00",
|
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
|
||||||
"frontpage_text": "",
|
"frontpage_text": "",
|
||||||
"location": "",
|
"location": "",
|
||||||
"currency": "EUR",
|
"currency": "EUR",
|
||||||
@@ -435,7 +435,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
"target_url": "http://example.com/ccc/30c3/",
|
"target_url": "http://example.com/ccc/30c3/",
|
||||||
"subevent": None,
|
"subevent": None,
|
||||||
"name": "30C3",
|
"name": "30C3",
|
||||||
"date_range": f"Dec. 26, {self.event.date_from.year} 00:00",
|
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
|
||||||
"frontpage_text": "",
|
"frontpage_text": "",
|
||||||
"location": "",
|
"location": "",
|
||||||
"currency": "EUR",
|
"currency": "EUR",
|
||||||
@@ -520,7 +520,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
"target_url": "http://example.com/ccc/30c3/",
|
"target_url": "http://example.com/ccc/30c3/",
|
||||||
"subevent": None,
|
"subevent": None,
|
||||||
"name": "30C3",
|
"name": "30C3",
|
||||||
"date_range": f"Dec. 26, {self.event.date_from.year} 00:00",
|
"date_range": f"{self.event.date_from.strftime('%a')}, Dec. 26th, {self.event.date_from.year} 00:00",
|
||||||
"frontpage_text": "",
|
"frontpage_text": "",
|
||||||
"location": "",
|
"location": "",
|
||||||
"currency": "EUR",
|
"currency": "EUR",
|
||||||
@@ -627,9 +627,9 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
|
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
|
||||||
'has_more_events': False,
|
'has_more_events': False,
|
||||||
'events': [
|
'events': [
|
||||||
{'name': 'Present', 'date_range': 'Jan. 1, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'name': 'Present', 'date_range': 'Tue, Jan. 1st, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk, 'location': ''},
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk, 'location': ''},
|
||||||
{'name': 'Future', 'date_range': 'Jan. 4, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'name': 'Future', 'date_range': 'Fri, Jan. 4th, 2019 11:00', 'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk, 'location': ''}
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk, 'location': ''}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -659,14 +659,14 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
[
|
[
|
||||||
None,
|
None,
|
||||||
{'day': 1, 'date': '2019-01-01', 'events': [
|
{'day': 1, 'date': '2019-01-01', 'events': [
|
||||||
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Jan. 1, 2019 11:00',
|
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1st, 2019 11:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}]},
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}]},
|
||||||
{'day': 2, 'date': '2019-01-02', 'events': []},
|
{'day': 2, 'date': '2019-01-02', 'events': []},
|
||||||
{'day': 3, 'date': '2019-01-03', 'events': []},
|
{'day': 3, 'date': '2019-01-03', 'events': []},
|
||||||
{'day': 4, 'date': '2019-01-04', 'events': [
|
{'day': 4, 'date': '2019-01-04', 'events': [
|
||||||
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Jan. 4, 2019 11:00',
|
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4th, 2019 11:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}]},
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}]},
|
||||||
@@ -734,14 +734,14 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'days': [
|
'days': [
|
||||||
{'day_formatted': 'Mon, Dec 31st', 'date': '2018-12-31', 'events': [], 'today': False},
|
{'day_formatted': 'Mon, Dec 31st', 'date': '2018-12-31', 'events': [], 'today': False},
|
||||||
{'day_formatted': 'Tue, Jan 1st', 'date': '2019-01-01', 'events': [
|
{'day_formatted': 'Tue, Jan 1st', 'date': '2019-01-01', 'events': [
|
||||||
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Jan. 1, 2019 11:00',
|
{'name': 'Present', 'time': '11:00', 'continued': False, 'date_range': 'Tue, Jan. 1st, 2019 11:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}], 'today': True},
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se1.pk}], 'today': True},
|
||||||
{'day_formatted': 'Wed, Jan 2nd', 'date': '2019-01-02', 'events': [], 'today': False},
|
{'day_formatted': 'Wed, Jan 2nd', 'date': '2019-01-02', 'events': [], 'today': False},
|
||||||
{'day_formatted': 'Thu, Jan 3rd', 'date': '2019-01-03', 'events': [], 'today': False},
|
{'day_formatted': 'Thu, Jan 3rd', 'date': '2019-01-03', 'events': [], 'today': False},
|
||||||
{'day_formatted': 'Fri, Jan 4th', 'date': '2019-01-04', 'events': [
|
{'day_formatted': 'Fri, Jan 4th', 'date': '2019-01-04', 'events': [
|
||||||
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Jan. 4, 2019 11:00',
|
{'name': 'Future', 'time': '11:00', 'continued': False, 'date_range': 'Fri, Jan. 4th, 2019 11:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}], 'today': False},
|
'event_url': 'http://example.com/ccc/30c3/', 'subevent': se2.pk}], 'today': False},
|
||||||
@@ -773,17 +773,17 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
|
'poweredby': '<a href="https://pretix.eu" target="_blank" rel="noopener">ticketing powered by pretix</a>',
|
||||||
'events': [
|
'events': [
|
||||||
{'availability': {'color': 'none', 'text': 'Event series'},
|
{'availability': {'color': 'none', 'text': 'Event series'},
|
||||||
'date_range': 'Dec. 29, 2018 – Jan. 4, 2019',
|
'date_range': 'Jan. 1st – 4th, 2019',
|
||||||
'event_url': 'http://example.com/ccc/30c3/',
|
'event_url': 'http://example.com/ccc/30c3/',
|
||||||
'location': '',
|
'location': '',
|
||||||
'name': '30C3'},
|
'name': '30C3'},
|
||||||
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'date_range': 'Jan. 1, 2019 10:00',
|
'date_range': 'Tue, Jan. 1st, 2019 10:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'event_url': 'http://example.com/ccc/present/',
|
'event_url': 'http://example.com/ccc/present/',
|
||||||
'name': 'Present'},
|
'name': 'Present'},
|
||||||
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'date_range': 'Jan. 4, 2019 10:00',
|
'date_range': 'Fri, Jan. 4th, 2019 10:00',
|
||||||
'location': '',
|
'location': '',
|
||||||
'event_url': 'http://example.com/ccc/future/',
|
'event_url': 'http://example.com/ccc/future/',
|
||||||
'name': 'Future'}
|
'name': 'Future'}
|
||||||
@@ -884,7 +884,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'day': 1,
|
'day': 1,
|
||||||
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'continued': False,
|
'continued': False,
|
||||||
'date_range': 'Jan. 1, 2019 10:00',
|
'date_range': 'Tue, Jan. 1st, 2019 10:00',
|
||||||
'event_url': 'http://example.com/ccc/present/',
|
'event_url': 'http://example.com/ccc/present/',
|
||||||
'name': 'Present',
|
'name': 'Present',
|
||||||
'location': '',
|
'location': '',
|
||||||
@@ -892,7 +892,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'time': '10:00'},
|
'time': '10:00'},
|
||||||
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'continued': False,
|
'continued': False,
|
||||||
'date_range': 'Jan. 1, 2019 11:00',
|
'date_range': 'Tue, Jan. 1st, 2019 11:00',
|
||||||
'event_url': 'http://example.com/ccc/30c3/',
|
'event_url': 'http://example.com/ccc/30c3/',
|
||||||
'name': 'Present',
|
'name': 'Present',
|
||||||
'location': '',
|
'location': '',
|
||||||
@@ -904,7 +904,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'day': 4,
|
'day': 4,
|
||||||
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
'events': [{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'continued': False,
|
'continued': False,
|
||||||
'date_range': 'Jan. 4, 2019 10:00',
|
'date_range': 'Fri, Jan. 4th, 2019 10:00',
|
||||||
'event_url': 'http://example.com/ccc/future/',
|
'event_url': 'http://example.com/ccc/future/',
|
||||||
'name': 'Future',
|
'name': 'Future',
|
||||||
'location': '',
|
'location': '',
|
||||||
@@ -912,7 +912,7 @@ class WidgetCartTest(CartTestMixin, TestCase):
|
|||||||
'time': '10:00'},
|
'time': '10:00'},
|
||||||
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
{'availability': {'color': 'none', 'text': 'More info', 'reason': 'unknown'},
|
||||||
'continued': False,
|
'continued': False,
|
||||||
'date_range': 'Jan. 4, 2019 11:00',
|
'date_range': 'Fri, Jan. 4th, 2019 11:00',
|
||||||
'event_url': 'http://example.com/ccc/30c3/',
|
'event_url': 'http://example.com/ccc/30c3/',
|
||||||
'name': 'Future',
|
'name': 'Future',
|
||||||
'location': '',
|
'location': '',
|
||||||
|
|||||||
Reference in New Issue
Block a user