Compare commits

..
Author SHA1 Message Date
Martin Gross 1c4173a2ab eMail: Ratelimit exponential backup for Amazon SES 2022-04-19 10:39:33 +02:00
Raphael Michel e9c440ceed POS: Allow clients to fetch payment details 2022-04-15 14:09:51 +02:00
Raphael Michel 5cd79ee2b0 Adjust German translation of "Box office" 2022-04-15 13:35:08 +02:00
Raphael Michel 15c6e22414 POS: Show reference for Zettle payments 2022-04-15 13:13:57 +02:00
Raphael Michel 8d04a0183a Docs: Updates to exhibitor API 2022-04-14 15:53:35 +02:00
Richard SchreiberandGitHub 2f6881934e Calendar view: improve differentiation between events’ states (Z#173939) (#2595) 2022-04-14 15:51:46 +02:00
Richard SchreiberandGitHub 8f7bc59214 Calendar view: make focus-outline visible (#2594) 2022-04-14 15:51:20 +02:00
Raphael MichelandRaphael Michel 9bf3b54a83 Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (4658 of 4658 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2022-04-13 09:52:47 +02:00
Raphael MichelandRaphael Michel 82cd6e320d Translations: Update German
Currently translated at 100.0% (4658 of 4658 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2022-04-13 09:52:47 +02:00
Raphael Michel e308b38d6f Fix string formatting issue in log message 2022-04-12 17:14:43 +02:00
Raphael Michel 6b7a2e1981 Fix flake8 issue 2022-04-12 11:27:00 +02:00
d19cb14dc1 Voucher redemption: Raise 404 error if subevent_pk is not an integer (#2590)
Co-authored-by: Raphael Michel <michel@rami.io>
2022-04-12 11:12:06 +02:00
Raphael Michel 3e8e454e92 Fix gettext formatting issues 2022-04-12 10:53:03 +02:00
Raphael MichelandRaphael Michel f46de92303 Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (4658 of 4658 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2022-04-12 10:50:20 +02:00
Raphael MichelandRaphael Michel aeba9542be Translations: Update German
Currently translated at 100.0% (4658 of 4658 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2022-04-12 10:50:20 +02:00
Raphael MichelandRaphael Michel a380044639 Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (4646 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2022-04-12 10:50:20 +02:00
Raphael MichelandRaphael Michel 4cbe50f3a2 Translations: Update German
Currently translated at 100.0% (4646 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2022-04-12 10:50:20 +02:00
Raphael Michel 278d54e780 Update po files
[CI skip]

Signed-off-by: Raphael Michel <michel@rami.io>
2022-04-12 10:33:01 +02:00
Raphael MichelandRaphael Michel 9634598952 Translations: Update German (informal) (de_Informal)
Currently translated at 100.0% (4646 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de_Informal/

powered by weblate
2022-04-12 10:32:02 +02:00
Raphael MichelandRaphael Michel b60583168b Translations: Update German
Currently translated at 100.0% (4646 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/de/

powered by weblate
2022-04-12 10:32:02 +02:00
Raphael MichelandGitHub ea8630d3d7 Fix order email subject in wrong language if plugin changes order.locale (#2588) 2022-04-12 10:31:49 +02:00
Raphael MichelandGitHub 3cdf578c14 Allow to add a comment when cancelling an order (#2580) 2022-04-12 09:53:02 +02:00
Richard SchreiberandGitHub f7c0921f18 Check-in list: Fix salutation not being localized in CSV-export (Z#184037) (#2586) 2022-04-12 09:51:20 +02:00
Raphael Michel a7ae556478 Fix order email subject in wrong language if plugin changes order.locale 2022-04-12 09:33:10 +02:00
a755bfd22c Allow to bulk-edit devices (#2583)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2022-04-12 08:54:45 +02:00
Raphael MichelandGitHub 22920a7318 Analyze check-in rules for missing products (#2582) 2022-04-11 18:53:07 +02:00
Raphael Michel cf6a8c333a Improve visual indicators in multiselect select2 components 2022-04-09 14:26:39 +02:00
Raphael Michel 2623bfd2db Item selection typeahead: Use consistent ordering of items 2022-04-09 14:26:27 +02:00
Raphael MichelandGitHub dcc1a93b72 Fix CI builds (#2581) 2022-04-08 17:50:48 +02:00
Raphael Michel 3aeea82d2e Allow to filter log view by action type 2022-04-07 17:58:56 +02:00
Raphael Michel 732621f121 Fix incorrect log display of reverted checkins 2022-04-07 17:58:45 +02:00
Raphael Michel 24e7be4142 Allow plugins to declare fonts "pdf-only" 2022-04-07 17:58:33 +02:00
Raphael Michel 20c6f0b327 Fix logging in shell_scoped with --override 2022-04-07 14:24:27 +02:00
lutoandRaphael Michel e4817518d8 Add Czech translation 2022-04-07 14:07:16 +02:00
Eva-Maria ObermannandRaphael Michel 35c443f90f Translated on translate.pretix.eu (French)
Currently translated at 63.7% (109 of 171 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/fr/

powered by weblate
2022-04-07 14:07:00 +02:00
Eva-Maria ObermannandRaphael Michel de669156cd Translations: Update French
Currently translated at 48.1% (2237 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/fr/

powered by weblate
2022-04-07 14:07:00 +02:00
Liga VandRaphael Michel d8e3b49b04 Translated on translate.pretix.eu (Latvian)
Currently translated at 100.0% (171 of 171 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
SvyatoslavandRaphael Michel 567f68965d Translations: Update Latvian
Currently translated at 46.3% (2154 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
Zane SmiteandRaphael Michel 65f6892896 Translations: Update Latvian
Currently translated at 46.3% (2154 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
Liga VandRaphael Michel ec9800b215 Translations: Update Latvian
Currently translated at 46.3% (2154 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
SvyatoslavandRaphael Michel 9010d8f6a1 Translations: Update Latvian
Currently translated at 43.0% (2001 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
SvyatoslavandRaphael Michel f260945fdf Translations: Update Latvian
Currently translated at 43.0% (2000 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
Liga VandRaphael Michel b7241825c3 Translations: Update Latvian
Currently translated at 43.0% (2000 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-07 14:07:00 +02:00
Raphael Michel c9ed155870 PDF renderer: Fix placeholers using meta: and itemmeta: 2022-04-07 12:40:40 +02:00
Martin Gross 69d0a20674 Checkin Log: Sort devices by device ID 2022-04-07 09:10:03 +02:00
Raphael Michel b699e8977a Fix incorrect translation of <= from json logic to SQL 2022-04-06 18:56:53 +02:00
Raphael Michel 4f25d8ba89 shell_scoped: Add --print-sql argument 2022-04-06 18:56:18 +02:00
Raphael Michel 71f5303a5e Fix invisible error message when mixing gift card products and admission products 2022-04-06 16:44:20 +02:00
Raphael Michel 69f91e54e6 Make error message about tax rules and gift cards easier to understand 2022-04-06 16:43:52 +02:00
Raphael Michel bcee2c231a Use internal name of product in filter forms 2022-04-06 13:08:16 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d1745bb703 Bump rollup from 2.68.0 to 2.70.1 in /src/pretix/static/npm_dir (#2567)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 11:05:20 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f468b393c0 Bump @babel/core from 7.17.5 to 7.17.8 in /src/pretix/static/npm_dir (#2568)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-05 11:05:09 +02:00
Maico TimmermanandGitHub 4b0c38e4ee Widget: Introduce addCloseListener (#2569) 2022-04-05 11:04:54 +02:00
Maico TimmermanandGitHub 6768bbb486 Event cancellation: Fix default email subject translations (#2574) 2022-04-05 11:04:12 +02:00
Liga VandRaphael Michel f2c9b46d3e Translations: Update Latvian
Currently translated at 39.2% (1825 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Liga VandRaphael Michel b7a3db2ac0 Translations: Update Latvian
Currently translated at 39.0% (1816 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Liga VandRaphael Michel 307a6654f2 Translations: Update Latvian
Currently translated at 37.1% (1726 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Ismael Menéndez FernándezandRaphael Michel f2cc8c77e8 Translations: Update Spanish
Currently translated at 64.1% (2982 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/es/

powered by weblate
2022-04-05 11:03:12 +02:00
Raphael MichelandRaphael Michel 830d48255e Translations: Update Latvian
Currently translated at 37.1% (1726 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Liga VandRaphael Michel df2b428aa1 Translated on translate.pretix.eu (Latvian)
Currently translated at 100.0% (171 of 171 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Liga VandRaphael Michel 7d1d05de02 Translations: Update Latvian
Currently translated at 37.1% (1726 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Liga VandRaphael Michel 921d8b6057 Translations: Update Latvian
Currently translated at 30.8% (1432 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/lv/

powered by weblate
2022-04-05 11:03:12 +02:00
Ismael Menéndez FernándezandRaphael Michel 0b13ec49f1 Translations: Update Galician
Currently translated at 11.5% (538 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/gl/

powered by weblate
2022-04-05 11:03:12 +02:00
Anna-itkandRaphael Michel 62ef89f87c Translated on translate.pretix.eu (Danish)
Currently translated at 58.4% (100 of 171 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/da/

powered by weblate
2022-04-05 11:03:12 +02:00
Anna-itkandRaphael Michel d0920caf32 Translations: Update Danish
Currently translated at 37.0% (1720 of 4646 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/da/

powered by weblate
2022-04-05 11:03:12 +02:00
Raphael Michel d0474afdfe Fix further Pillow compatibility issues 2022-04-05 09:57:11 +02:00
Raphael Michel 4ab298dd10 Order API search: Disable voucher search to work around an immediate performance problem 2022-04-05 09:55:08 +02:00
Raphael Michel db39b89ae4 Fix Pillow import to resolve deprecation warning 2022-04-04 19:14:53 +02:00
Raphael Michel 162ae3ead7 Waiting list: Use a more neutral success message 2022-04-04 18:42:17 +02:00
Raphael Michel 65a7e8516e Display self-service cancellation fee during backend cancellation 2022-04-04 13:42:26 +02:00
Raphael Michel cccd4af6dd Create log entry for question when cloing an item 2022-04-04 12:04:15 +02:00
Raphael Michel 751cfdf203 Fix attendee emails not being sent on free boxoffice orders 2022-04-04 12:02:03 +02:00
Raphael Michel 898776b617 Fix revocation of secrets that did not exist in the first place 2022-04-03 16:33:02 +02:00
Raphael Michel b4db81d6c3 Update MANIFEST.in 2022-03-31 22:56:13 +02:00
Raphael Michel e96fdf2a2c Bump to 4.9.0.dev0 2022-03-31 22:42:44 +02:00
123 changed files with 29377 additions and 26475 deletions
+1 -1
View File
@@ -55,7 +55,7 @@ jobs:
restore-keys: |
${{ runner.os }}-pip-
- name: Install system dependencies
run: sudo apt update && sudo apt install gettext mariadb-client
run: sudo apt update && sudo apt install gettext mariadb-client-10.3
- name: Install Python dependencies
run: pip3 install -e ".[dev]" mysqlclient psycopg2-binary
working-directory: ./src
+4
View File
@@ -1082,6 +1082,9 @@ Order state operations
will instead stay paid, but all positions will be removed (or marked as canceled) and replaced by the cancellation
fee as the only component of the order.
You can control whether the customer is notified through ``send_email`` (defaults to ``true``).
You can pass a ``comment`` that can be visible to the user if it is used in the email template.
**Example request**:
.. sourcecode:: http
@@ -1093,6 +1096,7 @@ Order state operations
{
"send_email": true,
"comment": "Event was canceled.",
"cancellation_fee": null
}
+72 -4
View File
@@ -57,7 +57,10 @@ notes string A note taken by
tags list of strings Additional tags selected by the exhibitor
first_upload datetime Date and time of the first upload of this lead
data list of objects Attendee data set that may be shown to the exhibitor based o
the event's configuration. Each entry contains the fields ``id``, ``label``, and ``value``.
the event's configuration. Each entry contains the fields ``id``,
``label``, ``value``, and ``details``. ``details`` is usually empty
except in a few cases where it contains an additional list of objects
with ``value`` and ``label`` keys (e.g. splitting of names).
device_name string User-defined name for the device used for scanning (or ``null``).
===================================== ========================== =======================================================
@@ -205,7 +208,11 @@ Endpoints
{
"id": "attendee_name",
"label": "Attendee name",
"value": "Peter",
"value": "Peter Miller",
"details": [
{"label": "Given name", "value": "Peter"},
{"label": "Family name", "value": "Miller"},
]
}
]
}
@@ -542,12 +549,17 @@ The request for this looks like this:
{
"id": "attendee_name",
"label": "Name",
"value": "Jon Doe"
"value": "Jon Doe",
"details": [
{"label": "Given name", "value": "John"},
{"label": "Family name", "value": "Doe"},
]
},
{
"id": "attendee_email",
"label": "Email",
"value": "test@example.com"
"value": "test@example.com",
"details": []
}
]
},
@@ -560,3 +572,59 @@ The request for this looks like this:
:statuscode 201: No error, leads was scanned for the first time
:statuscode 400: Invalid data submitted
:statuscode 401: Invalid authentication code
You can also fetch existing leads (if you are authorized to do so):
.. http:get:: /exhibitors/api/v1/leads/
**Example request:**
.. sourcecode:: http
GET /exhibitors/api/v1/leads/ HTTP/1.1
Authorization: Exhibitor ABCDE123
Accept: application/json, text/javascript
**Example response:**
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: application/json
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"attendee": {
"fields": [
{
"id": "attendee_name",
"label": "Name",
"value": "Jon Doe",
"details": [
{"label": "Given name", "value": "John"},
{"label": "Family name", "value": "Doe"},
]
},
{
"id": "attendee_email",
"label": "Email",
"value": "test@example.com",
"details": []
}
]
},
"rating": 4,
"tags": ["foo"],
"notes": "Great customer, wants our newsletter"
}
]
}
:statuscode 200: No error
:statuscode 401: Invalid authentication code
:statuscode 403: Not permitted to access bulk data
+8 -5
View File
@@ -253,18 +253,21 @@ If you want, you can suppress us loading the widget and/or modify the user data
If you then later want to trigger loading the widgets, just call ``window.PretixWidget.buildWidgets()``.
Waiting for the widget to load
------------------------------
Waiting for the widget to load or close
---------------------------------------
If you want to run custom JavaScript once the widget is fully loaded, you can register a callback function. Note that
this function might be run multiple times, for example if you have multiple widgets on a page or if the user switches
e.g. from an event list to an event detail view::
If you want to run custom JavaScript once the widget is fully loaded or when it is closed, you can register callback
functions. Note that these function might be run multiple times, for example if you have multiple widgets on a page
or if the user switches e.g. from an event list to an event detail view::
<script type="text/javascript">
window.pretixWidgetCallback = function () {
window.PretixWidget.addLoadListener(function () {
console.log("Widget has loaded!");
});
window.PretixWidget.addCloseListener(function () {
console.log("Widget has been closed!");
});
}
</script>
+1 -1
View File
@@ -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__ = "4.8.0"
__version__ = "4.9.0.dev0"
+5 -2
View File
@@ -150,7 +150,8 @@ with scopes_disabled():
matching_positions = OrderPosition.objects.filter(
Q(order=OuterRef('pk')) & Q(
Q(attendee_name_cached__icontains=u) | Q(attendee_email__icontains=u)
| Q(secret__istartswith=u) | Q(voucher__code__icontains=u)
| Q(secret__istartswith=u)
# | Q(voucher__code__icontains=u) # temporarily removed since it caused bad query performance on postgres
)
).values('id')
@@ -344,6 +345,7 @@ class OrderViewSet(viewsets.ModelViewSet):
@action(detail=True, methods=['POST'])
def mark_canceled(self, request, **kwargs):
send_mail = request.data.get('send_email', True)
comment = request.data.get('comment', None)
cancellation_fee = request.data.get('cancellation_fee', None)
if cancellation_fee:
try:
@@ -366,6 +368,7 @@ class OrderViewSet(viewsets.ModelViewSet):
device=request.auth if isinstance(request.auth, Device) else None,
oauth_application=request.auth.application if isinstance(request.auth, OAuthAccessToken) else None,
send_mail=send_mail,
email_comment=comment,
cancellation_fee=cancellation_fee
)
except OrderError as e:
@@ -650,7 +653,7 @@ class OrderViewSet(viewsets.ModelViewSet):
if send_mail:
free_flow = (
payment and order.total == Decimal('0.00') and order.status == Order.STATUS_PAID and
not order.require_approval and payment.provider == "free"
not order.require_approval and payment.provider in ("free", "boxoffice")
)
if order.require_approval:
email_template = request.event.settings.mail_text_order_placed_require_approval
@@ -19,11 +19,13 @@
# 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/>.
#
import logging
import sys
from django.apps import apps
from django.core.management import call_command
from django.core.management.base import BaseCommand
from django.db import connection
from django_scopes import scope, scopes_disabled
@@ -33,6 +35,13 @@ class Command(BaseCommand):
parser.parse_args = lambda x: parser.parse_known_args(x)[0]
return parser
def add_arguments(self, parser):
parser.add_argument(
'--print-sql',
action='store_true',
help='Print all SQL queries.',
)
def handle(self, *args, **options):
try:
from django_extensions.management.commands import shell_plus # noqa
@@ -41,6 +50,11 @@ class Command(BaseCommand):
cmd = 'shell'
del options['skip_checks']
if options['print_sql']:
connection.force_debug_cursor = True
logger = logging.getLogger("django.db.backends")
logger.setLevel(logging.DEBUG)
parser = self.create_parser(sys.argv[0], sys.argv[1])
flags = parser.parse_known_args(sys.argv[2:])[1]
if "--override" in flags:
+2
View File
@@ -955,6 +955,8 @@ class BoxOfficeProvider(BasePaymentProvider):
return {
"pos_id": payment.info_data.get('pos_id', None),
"receipt_id": payment.info_data.get('receipt_id', None),
"payment_type": payment.info_data.get('payment_type', None),
"payment_data": payment.info_data.get('payment_data', {}),
}
def payment_control_render(self, request, payment) -> str:
+8 -2
View File
@@ -713,11 +713,17 @@ class Renderer:
text = o['text']
def replace(x):
if x.group(1) not in self.variables:
print(x.group(1))
if x.group(1).startswith('itemmeta:'):
return op.item.meta_data.get(x.group(1)[9:]) or ''
elif x.group(1).startswith('meta:'):
return ev.meta_data.get(x.group(1)[5:]) or ''
elif x.group(1) not in self.variables:
return x.group(0)
if x.group(1) == 'secret':
# Do not use shortened version
return op.secret
try:
return self.variables[x.group(1)]['evaluate'](op, order, ev)
except:
@@ -726,7 +732,7 @@ class Renderer:
# We do not use str.format like in emails so we (a) can evaluate lazily and (b) can re-implement this
# 1:1 on other platforms that render PDFs through our API (libpretixprint)
return re.sub(r'\{([a-zA-Z0-9_]+)\}', replace, text)
return re.sub(r'\{([a-zA-Z0-9:_]+)\}', replace, text)
elif o['content'].startswith('itemmeta:'):
return op.item.meta_data.get(o['content'][9:]) or ''
+1 -1
View File
@@ -247,7 +247,7 @@ def assign_ticket_secret(event, position, force_invalidate_if_revokation_list_us
**kwargs
)
changed = position.secret != secret
if position.secret and changed and gen.use_revocation_list:
if position.secret and changed and gen.use_revocation_list and position.pk:
position.revoked_secrets.create(event=event, secret=position.secret)
position.secret = secret
if save and changed:
+5 -2
View File
@@ -485,14 +485,17 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
try:
backend.send_messages([email])
except (smtplib.SMTPResponseException, smtplib.SMTPSenderRefused) as e:
if e.smtp_code in (101, 111, 421, 422, 431, 432, 442, 447, 452):
if e.smtp_code == 432 and settings.HAS_REDIS:
if e.smtp_code in (101, 111, 421, 422, 431, 432, 442, 447, 452, 454):
if e.smtp_code in (432, 454) and settings.HAS_REDIS:
# This is likely Microsoft Exchange Online which has a pretty bad rate limit of max. 3 concurrent
# SMTP connections which is *easily* exceeded with many celery threads. Just retrying with exponential
# backoff won't be good enough if we have a lot of emails, instead we'll need to make sure our retry
# intervals scatter such that the email won't all be retried at the same time again and cause the
# same problem.
# See also https://docs.microsoft.com/en-us/exchange/troubleshoot/send-emails/smtp-submission-improvements
#
# Also observed on AWS SES with 454:
# https://aws.amazon.com/blogs/messaging-and-targeting/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/
from django_redis import get_redis_connection
redis_key = "pretix_mail_retry_" + hashlib.sha1(f"{getattr(backend, 'username', '_')}@{getattr(backend, 'host', '_')}".encode()).hexdigest()
+10 -10
View File
@@ -53,7 +53,7 @@ from django.db.transaction import get_connection
from django.dispatch import receiver
from django.utils.functional import cached_property
from django.utils.timezone import make_aware, now
from django.utils.translation import gettext as _
from django.utils.translation import gettext as _, gettext_lazy
from django_scopes import scopes_disabled
from pretix.api.models import OAuthApplication
@@ -384,7 +384,7 @@ def deny_order(order, comment='', user=None, send_mail: bool=True, auth=None):
def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device=None, oauth_application=None,
cancellation_fee=None, keep_fees=None, cancel_invoice=True):
cancellation_fee=None, keep_fees=None, cancel_invoice=True, comment=None):
"""
Mark this order as canceled
:param order: The order to change
@@ -481,7 +481,7 @@ def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device
Voucher.objects.filter(pk=position.voucher.pk).update(redeemed=Greatest(0, F('redeemed') - 1))
order.log_action('pretix.event.order.canceled', user=user, auth=api_token or oauth_application or device,
data={'cancellation_fee': cancellation_fee})
data={'cancellation_fee': cancellation_fee, 'comment': comment})
order.cancellation_requests.all().delete()
order.create_transactions()
@@ -489,7 +489,7 @@ def _cancel_order(order, user=None, send_mail: bool=True, api_token=None, device
if send_mail:
email_template = order.event.settings.mail_text_order_canceled
with language(order.locale, order.event.settings.region):
email_context = get_email_context(event=order.event, order=order)
email_context = get_email_context(event=order.event, order=order, comment=comment or "")
email_subject = _('Order canceled: %(code)s') % {'code': order.code}
try:
order.send_mail(
@@ -934,7 +934,7 @@ def _create_order(event: Event, email: str, positions: List[CartPosition], now_d
def _order_placed_email(event: Event, order: Order, pprov: BasePaymentProvider, email_template, log_entry: str,
invoice, payment: OrderPayment, is_free=False):
email_context = get_email_context(event=event, order=order, payment=payment if pprov else None)
email_subject = _('Your order: %(code)s') % {'code': order.code}
email_subject = gettext_lazy('Your order: {code}')
try:
order.send_mail(
email_subject, email_template, email_context,
@@ -952,7 +952,7 @@ def _order_placed_email(event: Event, order: Order, pprov: BasePaymentProvider,
def _order_placed_email_attendee(event: Event, order: Order, position: OrderPosition, email_template, log_entry: str, is_free=False):
email_context = get_email_context(event=event, order=order, position=position)
email_subject = _('Your event registration: %(code)s') % {'code': order.code}
email_subject = gettext_lazy('Your event registration: {code}')
try:
position.send_mail(
@@ -2506,15 +2506,15 @@ def _try_auto_refund(order, auto_refund=True, manual_refund=False, allow_partial
@app.task(base=ProfiledTask, bind=True, max_retries=5, default_retry_delay=1, throws=(OrderError,))
@scopes_disabled()
def cancel_order(self, order: int, user: int=None, send_mail: bool=True, api_token=None, oauth_application=None,
device=None, cancellation_fee=None, try_auto_refund=False, refund_as_giftcard=False, comment=None,
cancel_invoice=True):
device=None, cancellation_fee=None, try_auto_refund=False, refund_as_giftcard=False,
email_comment=None, refund_comment=None, cancel_invoice=True):
try:
try:
ret = _cancel_order(order, user, send_mail, api_token, device, oauth_application,
cancellation_fee, cancel_invoice=cancel_invoice)
cancellation_fee, cancel_invoice=cancel_invoice, comment=email_comment)
if try_auto_refund:
_try_auto_refund(order, refund_as_giftcard=refund_as_giftcard,
comment=comment)
comment=refund_comment)
return ret
except LockTimeoutException:
self.retry()
+5 -3
View File
@@ -86,9 +86,9 @@ def primary_font_kwargs():
from pretix.presale.style import get_fonts
choices = [('Open Sans', 'Open Sans')]
choices += [
(a, {"title": a, "data": v}) for a, v in get_fonts().items()
]
choices += sorted([
(a, {"title": a, "data": v}) for a, v in get_fonts().items() if not v.get('pdf_only', False)
], key=lambda a: a[0])
return {
'choices': choices,
}
@@ -1914,6 +1914,8 @@ Your {event} team"""))
your order {code} for {event} has been canceled.
{comment}
You can view the details of your order at
{url}
+1 -1
View File
@@ -1075,7 +1075,7 @@ class MailSettingsForm(SettingsForm):
'mail_text_order_free': ['event', 'order'],
'mail_text_order_free_attendee': ['event', 'order', 'position'],
'mail_text_order_changed': ['event', 'order'],
'mail_text_order_canceled': ['event', 'order'],
'mail_text_order_canceled': ['event', 'order', 'comment'],
'mail_text_order_expire_warning': ['event', 'order'],
'mail_text_order_custom_mail': ['event', 'order'],
'mail_text_download_reminder': ['event', 'order'],
+7 -7
View File
@@ -1859,11 +1859,11 @@ class VoucherFilterForm(FilterForm):
for i in self.event.items.prefetch_related('variations').all():
variations = list(i.variations.all())
if variations:
choices.append((str(i.pk), _('{product} Any variation').format(product=i.name)))
choices.append((str(i.pk), _('{product} Any variation').format(product=str(i))))
for v in variations:
choices.append(('%d-%d' % (i.pk, v.pk), '%s %s' % (i.name, v.value)))
choices.append(('%d-%d' % (i.pk, v.pk), '%s %s' % (str(i), v.value)))
else:
choices.append((str(i.pk), i.name))
choices.append((str(i.pk), str(i)))
for q in self.event.quotas.all():
choices.append(('q-%d' % q.pk, _('Any product in quota "{quota}"').format(quota=q)))
self.fields['itemvar'].choices = choices
@@ -2120,7 +2120,7 @@ class CheckinFilterForm(FilterForm):
self.event = kwargs.pop('event')
super().__init__(*args, **kwargs)
self.fields['device'].queryset = self.event.organizer.devices.all()
self.fields['device'].queryset = self.event.organizer.devices.all().order_by('device_id')
self.fields['gate'].queryset = self.event.organizer.gates.all()
self.fields['checkin_list'].queryset = self.event.checkin_lists.all()
@@ -2141,11 +2141,11 @@ class CheckinFilterForm(FilterForm):
for i in self.event.items.prefetch_related('variations').all():
variations = list(i.variations.all())
if variations:
choices.append((str(i.pk), _('{product} Any variation').format(product=i.name)))
choices.append((str(i.pk), _('{product} Any variation').format(product=str(i))))
for v in variations:
choices.append(('%d-%d' % (i.pk, v.pk), '%s %s' % (i.name, v.value)))
choices.append(('%d-%d' % (i.pk, v.pk), '%s %s' % (str(i), v.value)))
else:
choices.append((str(i.pk), i.name))
choices.append((str(i.pk), str(i)))
self.fields['itemvar'].choices = choices
def filter_qs(self, qs):
+4 -1
View File
@@ -434,6 +434,9 @@ class ItemCreateForm(I18nModelForm):
if self.cleaned_data.get('copy_from'):
for question in self.cleaned_data['copy_from'].questions.all():
question.items.add(instance)
question.log_action('pretix.event.question.changed', user=self.user, data={
'item_added': self.instance.pk
})
for a in self.cleaned_data['copy_from'].addons.all():
instance.addons.create(addon_category=a.addon_category, min_count=a.min_count, max_count=a.max_count,
price_included=a.price_included, position=a.position,
@@ -563,7 +566,7 @@ class ItemUpdateForm(I18nModelForm):
if d['tax_rule'] and d['tax_rule'].rate > 0:
self.add_error(
'tax_rule',
_("Gift card products should not be associated with non-zero tax rates since sales tax will be applied when the gift card is redeemed.")
_("Gift card products should use a tax rule with a rate of 0 percent since sales tax will be applied when the gift card is redeemed.")
)
if d['admission']:
self.add_error(
+8 -2
View File
@@ -167,6 +167,12 @@ class CancelForm(ForceQuotaConfirmationForm):
initial=True,
required=False
)
comment = forms.CharField(
label=_('Comment (will be sent to the user)'),
help_text=_('Will be included in the notification email when the respective placeholder is present in the '
'configured email text.'),
required=False,
)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@ -844,7 +850,7 @@ class EventCancelForm(forms.Form):
label=_("Subject"),
required=True,
widget_kwargs={'attrs': {'data-display-dependency': '#id_send'}},
initial=_('Canceled: {event}'),
initial=LazyI18nString.from_gettext(gettext_noop('Canceled: {event}')),
widget=I18nTextInput,
locales=self.event.settings.get('locales'),
)
@@ -870,7 +876,7 @@ class EventCancelForm(forms.Form):
self.fields['send_waitinglist_subject'] = I18nFormField(
label=_("Subject"),
required=True,
initial=_('Canceled: {event}'),
initial=LazyI18nString.from_gettext(gettext_noop('Canceled: {event}')),
widget=I18nTextInput,
widget_kwargs={'attrs': {'data-display-dependency': '#id_send_waitinglist'}},
locales=self.event.settings.get('locales'),
+64
View File
@@ -39,6 +39,7 @@ from django import forms
from django.conf import settings
from django.core.exceptions import ValidationError
from django.db.models import Q
from django.forms.utils import ErrorDict
from django.utils.crypto import get_random_string
from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _, pgettext_lazy
@@ -268,6 +269,69 @@ class DeviceForm(forms.ModelForm):
}
class DeviceBulkEditForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
organizer = kwargs.pop('organizer')
self.mixed_values = kwargs.pop('mixed_values')
self.queryset = kwargs.pop('queryset')
super().__init__(*args, **kwargs)
self.fields['limit_events'].queryset = organizer.events.all().order_by(
'-has_subevents', '-date_from'
)
self.fields['gate'].queryset = organizer.gates.all()
def clean(self):
d = super().clean()
if self.prefix + '__events' in self.data.getlist('_bulk') and not d['all_events'] and not d['limit_events']:
raise ValidationError(_('Your device will not have access to anything, please select some events.'))
return d
class Meta:
model = Device
fields = ['all_events', 'limit_events', 'security_profile', 'gate']
widgets = {
'limit_events': forms.CheckboxSelectMultiple(attrs={
'data-inverse-dependency': '#id_all_events',
'class': 'scrolling-multiple-choice scrolling-multiple-choice-large',
}),
}
field_classes = {
'limit_events': SafeEventMultipleChoiceField
}
def save(self, commit=True):
objs = list(self.queryset)
fields = set()
check_map = {
'all_events': '__events',
'limit_events': '__events',
}
for k in self.fields:
cb_val = self.prefix + check_map.get(k, k)
if cb_val not in self.data.getlist('_bulk'):
continue
fields.add(k)
for obj in objs:
if k == 'limit_events':
getattr(obj, k).set(self.cleaned_data[k])
else:
setattr(obj, k, self.cleaned_data[k])
if fields:
Device.objects.bulk_update(objs, [f for f in fields if f != 'limit_events'], 200)
def full_clean(self):
if len(self.data) == 0:
# form wasn't submitted
self._errors = ErrorDict()
return
super().full_clean()
class OrganizerSettingsForm(SettingsForm):
timezone = forms.ChoiceField(
choices=((a, a) for a in common_timezones),
+21 -15
View File
@@ -341,7 +341,6 @@ def pretixcontrol_logentry_display(sender: Event, logentry: LogEntry, **kwargs):
'pretix.event.order.paid': _('The order has been marked as paid.'),
'pretix.event.order.cancellationrequest.deleted': _('The cancellation request has been deleted.'),
'pretix.event.order.refunded': _('The order has been refunded.'),
'pretix.event.order.canceled': _('The order has been canceled.'),
'pretix.event.order.reactivated': _('The order has been reactivated.'),
'pretix.event.order.deleted': _('The test mode order {code} has been deleted.'),
'pretix.event.order.placed': _('The order has been created.'),
@@ -532,6 +531,27 @@ def pretixcontrol_logentry_display(sender: Event, logentry: LogEntry, **kwargs):
bleach.clean(logentry.parsed_data.get('msg'), tags=[], strip=True)
)
if logentry.action_type == 'pretix.event.order.canceled':
comment = logentry.parsed_data.get('comment')
if comment:
return _('The order has been canceled (comment: "{comment}").').format(comment=comment)
else:
return _('The order has been canceled.')
if logentry.action_type in ('pretix.control.views.checkin.reverted', 'pretix.event.checkin.reverted'):
if 'list' in data:
try:
checkin_list = sender.checkin_lists.get(pk=data.get('list')).name
except CheckinList.DoesNotExist:
checkin_list = _("(unknown)")
else:
checkin_list = _("(unknown)")
return _('The check-in of position #{posid} on list "{list}" has been reverted.').format(
posid=data.get('positionid'),
list=checkin_list,
)
if sender and logentry.action_type.startswith('pretix.event.checkin'):
return _display_checkin(sender, logentry)
@@ -560,20 +580,6 @@ def pretixcontrol_logentry_display(sender: Event, logentry: LogEntry, **kwargs):
list=checkin_list
)
if logentry.action_type in ('pretix.control.views.checkin.reverted', 'pretix.event.checkin.reverted'):
if 'list' in data:
try:
checkin_list = sender.checkin_lists.get(pk=data.get('list')).name
except CheckinList.DoesNotExist:
checkin_list = _("(unknown)")
else:
checkin_list = _("(unknown)")
return _('The check-in of position #{posid} on list "{list}" has been reverted.').format(
posid=data.get('positionid'),
list=checkin_list,
)
if logentry.action_type == 'pretix.team.member.added':
return _('{user} has been added to the team.').format(user=data.get('email'))
@@ -57,7 +57,11 @@
{% endif %}
{% elif payment_info.payment_type == "izettle" %}
<dt>{% trans "Payment provider" %}</dt>
<dd>iZettle</dd>
<dd>Zettle</dd>
{% if payment_info.payment_data.reference %}
<dt>{% trans "Paymeant reference" %}</dt>
<dd>{{ payment_info.payment_data.reference }}</dd>
{% endif %}
<dt>{% trans "Payment Application" %}</dt>
<dd>{{ payment_info.payment_data.applicationName }}</dd>
<dt>{% trans "Card Entry Mode" %}</dt>
@@ -93,6 +93,17 @@
</div>
</div>
<div class="alert alert-info" v-if="missingItems.length">
<p>
{% trans "Your rule always filters by product or variation, but the following products or variations are not contained in any of your rule parts so people with these tickets will not get in:" %}
</p>
<ul>
<li v-for="h in missingItems">{{ "{" }}{h}{{ "}" }}</li>
</ul>
<p>
{% trans "Please double-check if this was intentional." %}
</p>
</div>
</div>
<div class="disabled-withoutjs sr-only">
{{ form.rules }}
@@ -105,6 +116,7 @@
</button>
</div>
</form>
{{ items|json_script:"items" }}
{% compress js %}
<script type="text/javascript" src="{% static "vuejs/vue.js" %}"></script>
@@ -118,6 +130,7 @@
<script type="text/javascript" src="{% static "d3/d3-transition.v2.js" %}"></script>
<script type="text/javascript" src="{% static "d3/d3-drag.v2.js" %}"></script>
<script type="text/javascript" src="{% static "d3/d3-zoom.v2.js" %}"></script>
<script type="text/javascript" src="{% static "pretixcontrol/js/ui/checkinrules/jsonlogic-boolalg.js" %}"></script>
<script type="text/vue" src="{% static 'pretixcontrol/js/ui/checkinrules/datetimefield.vue' %}"></script>
<script type="text/vue" src="{% static 'pretixcontrol/js/ui/checkinrules/timefield.vue' %}"></script>
<script type="text/vue" src="{% static 'pretixcontrol/js/ui/checkinrules/lookup-select2.vue' %}"></script>
@@ -20,6 +20,11 @@
<div class="form-group">
<label class="col-md-3 control-label">{% trans "Product type" %}</label>
<div class="col-md-9">
{% for e in form.errors.admission %}
<div class="alert alert-danger has-error">
{{ e }}
</div>
{% endfor %}
<div class="big-radio radio">
<label>
<input type="radio" value="on" name="{{ form.admission.html_name }}" {% if form.admission.value %}checked{% endif %}>
@@ -1,6 +1,7 @@
{% extends "pretixcontrol/event/base.html" %}
{% load i18n %}
{% load bootstrap3 %}
{% load money %}
{% block title %}
{% trans "Cancel order" %}
{% endblock %}
@@ -22,13 +23,22 @@
{% csrf_token %}
<input type="hidden" name="status" value="c"/>
{% bootstrap_form_errors form %}
{% if form.cancellation_fee %}
{% if fee %}
{% with fee|money:request.event.currency as f %}
<p>{% blocktrans trimmed with fee="<strong>"|add:f|add:"</strong>"|safe %}
The configured cancellation fee for a self-service cancellation would be {{ fee }} for this
order, but for a cancellation performed by you, you need to set the cancellation fee here:
{% endblocktrans %}</p>
{% endwith %}
{% endif %}
{% bootstrap_field form.cancellation_fee layout='' %}
{% endif %}
{% bootstrap_field form.send_email layout='' %}
{% bootstrap_field form.comment layout='' %}
{% if form.cancel_invoice %}
{% bootstrap_field form.cancel_invoice layout='' %}
{% endif %}
{% if form.cancellation_fee %}
{% bootstrap_field form.cancellation_fee layout='' %}
{% endif %}
<div class="row checkout-button-row">
<div class="col-md-4">
<a class="btn btn-block btn-default btn-lg"
@@ -0,0 +1,46 @@
{% extends "pretixcontrol/organizers/base.html" %}
{% load i18n %}
{% load bootstrap3 %}
{% block inner %}
<h1>
{% trans "Change multiple devices" %}
<small>
{% blocktrans trimmed with number=devices.count %}
{{ number }} selected
{% endblocktrans %}
</small>
</h1>
<form class="form-horizontal" action="" method="post">
{% csrf_token %}
{% bootstrap_form_errors form %}
<div class="hidden">
{% for d in devices %}
<input type="hidden" name="device" value="{{ d.pk }}">
{% endfor %}
</div>
<fieldset>
<legend>{% trans "General" %}</legend>
<div class="bulk-edit-field-group">
<label class="field-toggle">
<input type="checkbox" name="_bulk" value="{{ form.prefix }}__events" {% if form.prefix|add:"__events" in bulk_selected %}checked{% endif %}>
{% trans "change" context "form_bulk" %}
</label>
<div class="field-content">
{% bootstrap_field form.all_events layout="control" %}
{% bootstrap_field form.limit_events layout="control" %}
</div>
</div>
</fieldset>
<p>&nbsp;</p>
<fieldset>
<legend>{% trans "Advanced settings" %}</legend>
{% bootstrap_field form.security_profile layout="bulkedit" %}
{% bootstrap_field form.gate layout="bulkedit" %}
</fieldset>
<div class="form-group submit-group">
<button type="submit" class="btn btn-primary btn-save">
{% trans "Save" %}
</button>
</div>
</form>
{% endblock %}
@@ -21,7 +21,7 @@
</p>
<a href="{% url "control:organizer.device.add" organizer=request.organizer.slug %}"
class="btn btn-primary btn-lg"><i class="fa fa-plus"></i> {% trans "Connect a device" %}</a>
class="btn btn-primary btn-lg"><i class="fa fa-plus"></i> {% trans "Connect a device" %}</a>
</div>
{% else %}
<div class="panel panel-default">
@@ -53,101 +53,139 @@
</div>
<p>
<a href="{% url "control:organizer.device.add" organizer=request.organizer.slug %}"
class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Connect a device" %}</a>
class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Connect a device" %}</a>
</p>
<div class="table-responsive">
<table class="table table-condensed table-hover">
<thead>
<tr>
<th>{% trans "Device ID" %}
<a href="?{% url_replace request 'ordering' '-device_id' %}"><i class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'device_id' %}"><i class="fa fa-caret-up"></i></a></th>
</th>
<th>{% trans "Name" %}
<a href="?{% url_replace request 'ordering' '-name' %}"><i class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'name' %}"><i class="fa fa-caret-up"></i></a></th>
</th>
<th>{% trans "Hardware model" %}</th>
<th>{% trans "Software" %}</th>
<th>{% trans "Setup date" %}
<a href="?{% url_replace request 'ordering' '-initialized' %}"><i class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'initialized' %}"><i class="fa fa-caret-up"></i></a></th>
</th>
<th>{% trans "Events" %}</th>
<th></th>
</tr>
</thead>
<tbody>
{% for d in devices %}
<tr {% if d.revoked %}class="text-muted"{% endif %}>
<td>
{{ d.device_id }}
</td>
<td>
{% if d.revoked %}<del>{% endif %}
{{ d.name }}
{% if d.revoked %}</del>{% endif %}
{% if d.gate %}
<br>
<small class="text-muted">{{ d.gate.name }}</small>
{% endif %}
<br>
<small class="text-muted">{{ d.unique_serial }}</small>
</td>
<td>
{{ d.hardware_brand|default_if_none:"" }} {{ d.hardware_model|default_if_none:"" }}
</td>
<td>
{{ d.software_brand|default_if_none:"" }} {{ d.software_version|default_if_none:"" }}
</td>
<td>
{% if d.initialized %}
{{ d.initialized|date:"SHORT_DATETIME_FORMAT" }}
{% else %}
<em>{% trans "Not yet initialized" %}</em>
{% endif %}
{% if d.revoked %}
<span class="label label-danger">{% trans "Revoked" %}</span>
{% endif %}
</td>
<td>
{% if d.all_events %}
{% trans "All" %}
{% else %}
<ul>
{% for e in d.limit_events.all %}
<li>
<a href="{% url "control:event.index" organizer=request.organizer.slug event=e.slug %}">
{{ e }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</td>
<td class="text-right flip">
{% if not d.initialized %}
<a href="{% url "control:organizer.device.connect" organizer=request.organizer.slug device=d.id %}"
class="btn btn-primary btn-sm"><i class="fa fa-link"></i>
{% trans "Connect" %}</a>
{% elif d.api_token %}
<a href="{% url "control:organizer.device.revoke" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm">
{% trans "Revoke access" %}</a>
{% endif %}
<a href="{% url "control:organizer.device.logs" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm">
<span class="fa fa-list-alt"></span>
{% trans "Logs" %}
</a>
<a href="{% url "control:organizer.device.edit" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm"><i class="fa fa-edit"></i></a>
</td>
<form action="{% url "control:organizer.device.bulk_edit" organizer=request.organizer.slug %}" method="post">
{% csrf_token %}
<div class="hidden">
{{ filter_form.as_p }}
</div>
<div class="table-responsive">
<table class="table table-condensed table-hover table-quotas">
<thead>
<tr>
<th>
<label aria-label="{% trans "select all rows for batch-operation" %}"
class="batch-select-label"><input type="checkbox" data-toggle-table/></label>
</th>
<th>{% trans "Device ID" %}
<a href="?{% url_replace request 'ordering' '-device_id' %}"><i
class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'device_id' %}"><i
class="fa fa-caret-up"></i></a>
</th>
<th>{% trans "Name" %}
<a href="?{% url_replace request 'ordering' '-name' %}"><i class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'name' %}"><i class="fa fa-caret-up"></i></a>
</th>
<th>{% trans "Hardware model" %}</th>
<th>{% trans "Software" %}</th>
<th>{% trans "Setup date" %}
<a href="?{% url_replace request 'ordering' '-initialized' %}"><i
class="fa fa-caret-down"></i></a>
<a href="?{% url_replace request 'ordering' 'initialized' %}"><i class="fa fa-caret-up"></i></a>
</th>
<th>{% trans "Events" %}</th>
<th></th>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% if page_obj.paginator.num_pages > 1 %}
<tr class="table-select-all warning hidden">
<td>
<input type="checkbox" name="__ALL" id="__all"
data-results-total="{{ page_obj.paginator.count }}">
</td>
<td colspan="7">
<label for="__all">
{% trans "Select all results on other pages as well" %}
</label>
</td>
</tr>
{% endif %}
</thead>
<tbody>
{% for d in devices %}
<tr {% if d.revoked %}class="text-muted"{% endif %}>
<td>
<label aria-label="{% trans "select row for batch-operation" %}"
class="batch-select-label"><input type="checkbox" name="device"
class="batch-select-checkbox"
value="{{ d.pk }}"/></label>
</td>
<td>
{{ d.device_id }}
</td>
<td>
{% if d.revoked %}
<del>{% endif %}
{{ d.name }}
{% if d.revoked %}</del>{% endif %}
{% if d.gate %}
<br>
<small class="text-muted">{{ d.gate.name }}</small>
{% endif %}
<br>
<small class="text-muted">{{ d.unique_serial }}</small>
</td>
<td>
{{ d.hardware_brand|default_if_none:"" }} {{ d.hardware_model|default_if_none:"" }}
</td>
<td>
{{ d.software_brand|default_if_none:"" }} {{ d.software_version|default_if_none:"" }}
</td>
<td>
{% if d.initialized %}
{{ d.initialized|date:"SHORT_DATETIME_FORMAT" }}
{% else %}
<em>{% trans "Not yet initialized" %}</em>
{% endif %}
{% if d.revoked %}
<span class="label label-danger">{% trans "Revoked" %}</span>
{% endif %}
</td>
<td>
{% if d.all_events %}
{% trans "All" %}
{% else %}
<ul>
{% for e in d.limit_events.all %}
<li>
<a href="{% url "control:event.index" organizer=request.organizer.slug event=e.slug %}">
{{ e }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</td>
<td class="text-right flip">
{% if not d.initialized %}
<a href="{% url "control:organizer.device.connect" organizer=request.organizer.slug device=d.id %}"
class="btn btn-primary btn-sm"><i class="fa fa-link"></i>
{% trans "Connect" %}</a>
{% elif d.api_token %}
<a href="{% url "control:organizer.device.revoke" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm">
{% trans "Revoke access" %}</a>
{% endif %}
<a href="{% url "control:organizer.device.logs" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm">
<span class="fa fa-list-alt"></span>
{% trans "Logs" %}
</a>
<a href="{% url "control:organizer.device.edit" organizer=request.organizer.slug device=d.id %}"
class="btn btn-default btn-sm"><i class="fa fa-edit"></i></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="batch-select-actions">
<button type="submit" class="btn btn-primary btn-save" name="action" value="edit">
<i class="fa fa-edit"></i>{% trans "Edit selected" %}
</button>
</div>
</form>
{% include "pretixcontrol/pagination.html" %}
{% endif %}
{% endblock %}
@@ -188,7 +188,7 @@
<button type="submit" class="btn btn-danger btn-save" name="action" value="delete">
<i class="fa fa-trash"></i>{% trans "Delete selected" %}
</button>
<button type="submit" class="btn btn-primary btn-save" name="action" value="disable"
<button type="submit" class="btn btn-primary btn-save" name="action" value="edit"
formaction="{% url "control:event.subevents.bulkedit" organizer=request.event.organizer.slug event=request.event.slug %}">
<i class="fa fa-edit"></i>{% trans "Edit selected" %}
</button>
+2
View File
@@ -164,6 +164,8 @@ urlpatterns = [
re_path(r'^organizer/(?P<organizer>[^/]+)/devices$', organizer.DeviceListView.as_view(), name='organizer.devices'),
re_path(r'^organizer/(?P<organizer>[^/]+)/device/add$', organizer.DeviceCreateView.as_view(),
name='organizer.device.add'),
re_path(r'^organizer/(?P<organizer>[^/]+)/device/bulk_edit$', organizer.DeviceBulkUpdateView.as_view(),
name='organizer.device.bulk_edit'),
re_path(r'^organizer/(?P<organizer>[^/]+)/device/(?P<device>[^/]+)/edit$', organizer.DeviceUpdateView.as_view(),
name='organizer.device.edit'),
re_path(r'^organizer/(?P<organizer>[^/]+)/device/(?P<device>[^/]+)/connect$', organizer.DeviceConnectView.as_view(),
+17
View File
@@ -313,6 +313,23 @@ class CheckinListUpdate(EventPermissionRequiredMixin, UpdateView):
r['Content-Security-Policy'] = 'script-src \'unsafe-eval\''
return r
def get_context_data(self, **kwargs):
return {
'items': [
{
'id': i.pk,
'name': str(i),
'variations': [
{
'id': v.pk,
'name': str(v.value)
} for v in i.variations.all()
]
} for i in self.request.event.items.filter(active=True).prefetch_related('variations')
],
**super().get_context_data(),
}
def get_object(self, queryset=None) -> CheckinList:
try:
return self.request.event.checkin_lists.get(
+3
View File
@@ -1055,6 +1055,9 @@ class EventLog(EventPermissionRequiredMixin, PaginationMixin, ListView):
elif self.request.GET.get('user'):
qs = qs.filter(user_id=self.request.GET.get('user'))
if self.request.GET.get('action_type'):
qs = qs.filter(action_type=self.request.GET['action_type'])
if self.request.GET.get('content_type'):
qs = qs.filter(content_type=get_object_or_404(ContentType, pk=self.request.GET.get('content_type')))
+2
View File
@@ -1266,6 +1266,7 @@ class OrderTransition(OrderView):
elif self.order.cancel_allowed() and to == 'c' and self.mark_canceled_form.is_valid():
try:
cancel_order(self.order.pk, user=self.request.user,
email_comment=self.mark_canceled_form.cleaned_data['comment'],
send_mail=self.mark_canceled_form.cleaned_data['send_email'],
cancel_invoice=self.mark_canceled_form.cleaned_data.get('cancel_invoice', True),
cancellation_fee=self.mark_canceled_form.cleaned_data.get('cancellation_fee'))
@@ -1303,6 +1304,7 @@ class OrderTransition(OrderView):
elif self.order.cancel_allowed() and to == 'c':
return render(self.request, 'pretixcontrol/order/cancel.html', {
'form': self.mark_canceled_form,
'fee': self.order.user_cancel_fee,
'order': self.order,
})
else:
+154 -16
View File
@@ -42,14 +42,14 @@ from django.conf import settings
from django.contrib import messages
from django.core.exceptions import PermissionDenied, ValidationError
from django.core.files import File
from django.db import transaction
from django.db import connections, transaction
from django.db.models import (
Count, Exists, IntegerField, Max, Min, OuterRef, Prefetch, ProtectedError,
Q, Subquery, Sum,
)
from django.db.models.functions import Coalesce, Greatest
from django.forms import DecimalField
from django.http import HttpResponseBadRequest, JsonResponse
from django.http import HttpResponse, HttpResponseBadRequest, JsonResponse
from django.shortcuts import get_object_or_404, redirect
from django.urls import reverse
from django.utils.functional import cached_property
@@ -89,11 +89,11 @@ from pretix.control.forms.filter import (
)
from pretix.control.forms.orders import ExporterForm
from pretix.control.forms.organizer import (
CustomerCreateForm, CustomerUpdateForm, DeviceForm, EventMetaPropertyForm,
GateForm, GiftCardCreateForm, GiftCardUpdateForm, MailSettingsForm,
MembershipTypeForm, MembershipUpdateForm, OrganizerDeleteForm,
OrganizerForm, OrganizerSettingsForm, OrganizerUpdateForm, TeamForm,
WebHookForm,
CustomerCreateForm, CustomerUpdateForm, DeviceBulkEditForm, DeviceForm,
EventMetaPropertyForm, GateForm, GiftCardCreateForm, GiftCardUpdateForm,
MailSettingsForm, MembershipTypeForm, MembershipUpdateForm,
OrganizerDeleteForm, OrganizerForm, OrganizerSettingsForm,
OrganizerUpdateForm, TeamForm, WebHookForm,
)
from pretix.control.logdisplay import OVERVIEW_BANLIST
from pretix.control.permissions import (
@@ -102,6 +102,7 @@ from pretix.control.permissions import (
from pretix.control.signals import nav_organizer
from pretix.control.views import PaginationMixin
from pretix.control.views.mailsetup import MailSettingsSetupView
from pretix.helpers import GroupConcat
from pretix.helpers.dicts import merge_dicts
from pretix.helpers.urls import build_absolute_uri as build_global_uri
from pretix.multidomain.urlreverse import build_absolute_uri
@@ -819,11 +820,17 @@ class TeamMemberView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
})
class DeviceListView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, ListView):
model = Device
template_name = 'pretixcontrol/organizers/devices.html'
permission = 'can_change_organizer_settings'
context_object_name = 'devices'
class DeviceQueryMixin:
@cached_property
def request_data(self):
if self.request.method == "POST":
return self.request.POST
return self.request.GET
@cached_property
def filter_form(self):
return DeviceFilterForm(data=self.request.GET, request=self.request)
def get_queryset(self):
qs = self.request.organizer.devices.prefetch_related(
@@ -831,17 +838,27 @@ class DeviceListView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin,
).order_by('revoked', '-device_id')
if self.filter_form.is_valid():
qs = self.filter_form.filter_qs(qs)
if 'device' in self.request_data and '__ALL' not in self.request_data:
qs = qs.filter(
id__in=self.request_data.getlist('device')
)
return qs
class DeviceListView(DeviceQueryMixin, OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, ListView):
model = Device
template_name = 'pretixcontrol/organizers/devices.html'
permission = 'can_change_organizer_settings'
context_object_name = 'devices'
paginate_by = 100
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx['filter_form'] = self.filter_form
return ctx
@cached_property
def filter_form(self):
return DeviceFilterForm(data=self.request.GET, request=self.request)
class DeviceCreateView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, CreateView):
model = Device
@@ -935,6 +952,125 @@ class DeviceUpdateView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixi
return super().form_invalid(form)
class DeviceBulkUpdateView(DeviceQueryMixin, OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, FormView):
template_name = 'pretixcontrol/organizers/device_bulk_edit.html'
permission = 'can_change_organizer_settings'
context_object_name = 'device'
form_class = DeviceBulkEditForm
def get_queryset(self):
return super().get_queryset().prefetch_related(None).order_by()
def get(self, request, *args, **kwargs):
return HttpResponse(status=405)
@cached_property
def is_submitted(self):
# Usually, django considers a form "bound" / "submitted" on every POST request. However, this view is always
# called with POST method, even if just to pass the selection of objects to work on, so we want to modify
# that behaviour
return '_bulk' in self.request.POST
def get_form_kwargs(self):
initial = {}
mixed_values = set()
qs = self.get_queryset().annotate(
limit_events_list=Subquery(
Device.limit_events.through.objects.filter(
device_id=OuterRef('pk')
).order_by('device_id', 'event_id').values('device_id').annotate(
g=GroupConcat('event_id', separator=',')
).values('g')
)
)
fields = {
'all_events': 'all_events',
'limit_events': 'limit_events_list',
'security_profile': 'security_profile',
'gate': 'gate',
}
for k, f in fields.items():
existing_values = list(qs.order_by(f).values(f).annotate(c=Count('*')))
if len(existing_values) == 1:
if k == 'limit_events':
if existing_values[0][f]:
initial[k] = self.request.organizer.events.filter(id__in=existing_values[0][f].split(","))
else:
initial[k] = []
else:
initial[k] = existing_values[0][f]
elif len(existing_values) > 1:
mixed_values.add(k)
initial[k] = None
kwargs = super().get_form_kwargs()
kwargs['organizer'] = self.request.organizer
kwargs['prefix'] = 'bulkedit'
kwargs['initial'] = initial
kwargs['queryset'] = self.get_queryset()
kwargs['mixed_values'] = mixed_values
if not self.is_submitted:
kwargs['data'] = None
kwargs['files'] = None
return kwargs
def get_object(self, queryset=None):
return get_object_or_404(Device, organizer=self.request.organizer, pk=self.kwargs.get('device'))
def get_success_url(self):
return reverse('control:organizer.devices', kwargs={
'organizer': self.request.organizer.slug,
})
@transaction.atomic()
def form_valid(self, form):
log_entries = []
# Main form
form.save()
data = {
k: (v if k != 'limit_events' else [e.id for e in v])
for k, v in form.cleaned_data.items()
if k in form.changed_data
}
data['_raw_bulk_data'] = self.request.POST.dict()
for obj in self.get_queryset():
log_entries.append(
obj.log_action('pretix.device.changed', data=data, user=self.request.user, save=False)
)
if connections['default'].features.can_return_rows_from_bulk_insert:
LogEntry.objects.bulk_create(log_entries, batch_size=200)
LogEntry.bulk_postprocess(log_entries)
else:
for le in log_entries:
le.save()
LogEntry.bulk_postprocess(log_entries)
messages.success(self.request, _('Your changes have been saved.'))
return super().form_valid(form)
def get_context_data(self, **kwargs):
ctx = super().get_context_data(**kwargs)
ctx['devices'] = self.get_queryset()
ctx['bulk_selected'] = self.request.POST.getlist("_bulk")
return ctx
def post(self, request, *args, **kwargs):
form = self.get_form()
is_valid = (
self.is_submitted and
form.is_valid()
)
if is_valid:
return self.form_valid(form)
else:
if self.is_submitted:
messages.error(self.request, _('We could not save your changes. See below for details.'))
return self.form_invalid(form)
class DeviceConnectView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, DetailView):
model = Device
template_name = 'pretixcontrol/organizers/device_connect.html'
@@ -1624,6 +1760,8 @@ class LogView(OrganizerPermissionRequiredMixin, PaginationMixin, ListView):
'user', 'content_type', 'api_token', 'oauth_application', 'device'
).order_by('-datetime')
qs = qs.exclude(action_type__in=OVERVIEW_BANLIST)
if self.request.GET.get('action_type'):
qs = qs.filter(action_type=self.request.GET['action_type'])
if self.request.GET.get('user'):
qs = qs.filter(user_id=self.request.GET.get('user'))
return qs
+15 -3
View File
@@ -37,7 +37,7 @@ from datetime import datetime, time
import pytz
from dateutil.parser import parse
from django.core.exceptions import PermissionDenied
from django.db.models import Max, Min, Q
from django.db.models import F, Max, Min, Q
from django.db.models.functions import Coalesce, Greatest
from django.http import JsonResponse
from django.shortcuts import get_object_or_404
@@ -402,7 +402,12 @@ def items_select2(request, **kwargs):
qs = request.event.items.filter(
name__icontains=i18ncomp(query)
).order_by('position')
).order_by(
F('category__position').asc(nulls_first=True),
'category',
'position',
'pk'
)
total = qs.count()
pagesize = 20
@@ -434,7 +439,14 @@ def variations_select2(request, **kwargs):
for word in query.split():
q &= Q(value__icontains=i18ncomp(word)) | Q(item__name__icontains=i18ncomp(ord))
qs = ItemVariation.objects.filter(q).order_by('item__position', 'item__name', 'position', 'value').select_related('item')
qs = ItemVariation.objects.filter(q).order_by(
F('item__category__position').asc(nulls_first=True),
'item__category_id',
'item__position',
'item__pk'
'position',
'value'
).select_related('item')
total = qs.count()
pagesize = 20
+2 -2
View File
@@ -35,7 +35,7 @@ def convert_to_dnf(rules):
def _distribute_or_over_and(r):
operator = list(r.keys())[0]
values = rules[operator]
values = r[operator]
if operator == "and":
arg_to_distribute = [arg for arg in values if isinstance(arg, dict) and "or" in arg]
if not arg_to_distribute:
@@ -57,7 +57,7 @@ def convert_to_dnf(rules):
if not isinstance(r, dict):
return r
operator = list(r.keys())[0]
values = rules[operator]
values = r[operator]
if operator not in ("or", "and"):
return r
new_values = []
+1 -1
View File
@@ -46,7 +46,7 @@ class GreaterEqualThan(Func):
class LowerEqualThan(Func):
arg_joiner = ' < '
arg_joiner = ' <= '
arity = 2
function = ''
+2 -2
View File
@@ -19,7 +19,7 @@
# 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/>.
#
from PIL.Image import BICUBIC
from PIL.Image import Resampling
from reportlab.lib.utils import ImageReader
@@ -31,7 +31,7 @@ class ThumbnailingImageReader(ImageReader):
height = width * self._image.size[1] / self._image.size[0]
self._image.thumbnail(
size=(int(width * dpi / 72), int(height * dpi / 72)),
resample=BICUBIC
resample=Resampling.BICUBIC
)
self._data = None
return width, height
+2 -2
View File
@@ -26,7 +26,7 @@ from io import BytesIO
from django.core.files.base import ContentFile
from django.core.files.storage import default_storage
from PIL import Image, ImageOps
from PIL.Image import LANCZOS
from PIL.Image import Resampling
from pretix.helpers.models import Thumbnail
@@ -141,7 +141,7 @@ def resize_image(image, size):
image = ImageOps.exif_transpose(image)
new_size, crop = get_sizes(size, image.size)
image = image.resize(new_size, resample=LANCZOS)
image = image.resize(new_size, resample=Resampling.LANCZOS)
if crop:
image = image.crop(crop)
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-09-15 11:22+0000\n"
"Last-Translator: Mohamed Tawfiq <mtawfiq@wafyapp.com>\n"
"Language-Team: Arabic <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -318,43 +318,43 @@ msgstr "عدد المدخلات السابقة قبل منتصف الليل"
msgid "Number of days with a previous entry"
msgstr "عدد الأيام التي تحتوي على مدخل سابق"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "جميع الشروط في الأسفل"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "خيار واحد على الأقل"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "بداية الفعالية"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "نهاية الفعالية"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "تسجيل الفعالية"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "تحديد التاريخ والوقت"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "الوقت المحدد"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "القدرة على التحمل (الدقائق)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "أضف شرطا"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "الدقائق"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2020-12-19 07:00+0000\n"
"Last-Translator: albert <albert.serra.monner@gmail.com>\n"
"Language-Team: Catalan <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -303,43 +303,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-12-06 23:00+0000\n"
"Last-Translator: Ondřej Sokol <osokol@treesoft.cz>\n"
"Language-Team: Czech <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -315,43 +315,43 @@ msgstr "Počet záznamů od půlnoci"
msgid "Number of days with a previous entry"
msgstr "Počet dní bez úprav"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Všechny následující podmínky (AND)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Alespoň jedna z následujících podmínek (OR)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Začátek akce"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Konec akce"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Vstup na akci"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Pevný termín"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Pevná doba"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolerance (v minutách)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Přidat podmínku"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minuty"
File diff suppressed because it is too large Load Diff
+17 -17
View File
@@ -6,9 +6,9 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"PO-Revision-Date: 2021-09-13 09:48+0000\n"
"Last-Translator: Mie Frydensbjerg <mif@aarhus.dk>\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-04-01 13:36+0000\n"
"Last-Translator: Anna-itk <abc@aarhus.dk>\n"
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix-js/"
"da/>\n"
"Language: da\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.8\n"
"X-Generator: Weblate 4.11.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -343,43 +343,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
@@ -520,12 +520,12 @@ msgstr[0] "(en dato mere)"
msgstr[1] "({num} datoer mere)"
#: pretix/static/pretixpresale/js/ui/cart.js:43
#, fuzzy
#| msgid "The items in your cart are no longer reserved for you."
msgid ""
"The items in your cart are no longer reserved for you. You can still "
"complete your order as long as theyre available."
msgstr "Varerne i din kurv er ikke længere reserverede for dig."
msgstr ""
"Varerne i din indkøbskurv er ikke længere reserverede til dig. Du kan stadig "
"færdiggøre din ordre, så længe der er ledige billetter."
#: pretix/static/pretixpresale/js/ui/cart.js:45
msgid "Cart expired"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-10-25 15:40+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -318,43 +318,43 @@ msgstr "Anzahl bisheriger Eintritte seit Mitternacht"
msgid "Number of days with a previous entry"
msgstr "Anzahl an Tagen mit vorherigem Eintritt"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Alle der folgenden Bedingungen (UND)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Mindestens eine der folgenden Bedingungen (ODER)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Veranstaltungsbeginn"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Veranstaltungsende"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Einlass"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Fester Zeitpunkt"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Feste Uhrzeit"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Toleranz (Minuten)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Bedingung hinzufügen"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "Minuten"
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-10-25 15:40+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
@@ -317,43 +317,43 @@ msgstr "Anzahl bisheriger Eintritte seit Mitternacht"
msgid "Number of days with a previous entry"
msgstr "Anzahl an Tagen mit vorherigem Eintritt"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Alle der folgenden Bedingungen (UND)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Mindestens eine der folgenden Bedingungen (ODER)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Veranstaltungsbeginn"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Veranstaltungsende"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Einlass"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Fester Zeitpunkt"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Feste Uhrzeit"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Toleranz (Minuten)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Bedingung hinzufügen"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "Minuten"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -302,43 +302,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2019-10-03 19:00+0000\n"
"Last-Translator: Chris Spy <chrispiropoulou@hotmail.com>\n"
"Language-Team: Greek <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -350,43 +350,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-11-25 21:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -315,43 +315,43 @@ msgstr "Número de entradas previas desde medianoche"
msgid "Number of days with a previous entry"
msgstr "Número de días con una entrada previa"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Todas las siguientes condiciones (Y)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Al menos una de las siguientes condiciones (O)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Inicio del evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Fin del evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Admisión al evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "seleccionar fecha y hora"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "seleccionar hora"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolerancia (en minutos)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Añadir condición"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minutos"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-11-10 05:00+0000\n"
"Last-Translator: Jaakko Rinta-Filppula <jaakko@r-f.fi>\n"
"Language-Team: Finnish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -317,45 +317,45 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Tapahtuma alkaa"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Tapahtuma päättyy"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#, fuzzy
#| msgid "Current date and time"
msgid "custom date and time"
msgstr "Nykyinen päivämäärä ja aika"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "mukautettu aika"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Toleranssi (minuuttia)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Lisää ehto"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+15 -19
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: French\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"PO-Revision-Date: 2021-12-04 01:00+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-04-07 10:40+0000\n"
"Last-Translator: Eva-Maria Obermann <obermann@rami.io>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix-js/"
"fr/>\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.8\n"
"X-Generator: Weblate 4.11.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -343,43 +343,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Début de l'événement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Fin de l'événement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
@@ -536,14 +536,10 @@ msgid "Cart expired"
msgstr "Panier expiré"
#: pretix/static/pretixpresale/js/ui/cart.js:50
#, fuzzy
#| 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 "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."
msgstr[0] "Les articles de votre panier vous sont réservés pour une minute."
msgstr[1] "Les articles de votre panier vous sont réservés pour {num} minutes."
msgstr[0] "Les articles de votre panier sont réservés pour une minute."
msgstr[1] "Les articles de votre panier sont réservés pendant {num} minutes."
#: pretix/static/pretixpresale/js/ui/main.js:144
#, fuzzy
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-02-22 22:00+0000\n"
"Last-Translator: Ismael Menéndez Fernández <ismael.menendez@balidea.com>\n"
"Language-Team: Galician <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -315,43 +315,43 @@ msgstr "Número de entradas previas desde a medianoite"
msgid "Number of days with a previous entry"
msgstr "Número de días cunha entrada previa"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Todas as condicións seguintes (E)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Polo menos unha das seguintes condicións (OU)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Comezo do evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Fin do evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Admisión ao evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Seleccionar data e hora"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Seleccionar hora"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolerancia (en minutos)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Engadir condición"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minutos"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-09-24 13:54+0000\n"
"Last-Translator: ofirtro <ofir.tro@gmail.com>\n"
"Language-Team: Hebrew <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -306,43 +306,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2020-01-24 08:00+0000\n"
"Last-Translator: Prokaj Miklós <mixolid0@gmail.com>\n"
"Language-Team: Hungarian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -343,43 +343,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-02-28 23:00+0000\n"
"Last-Translator: Emanuele Signoretta <signorettae@gmail.com>\n"
"Language-Team: Italian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -315,43 +315,43 @@ msgstr "Numero di inserimenti precedenti fino a mezzanotte"
msgid "Number of days with a previous entry"
msgstr "Nunmero di giorni con un inserimento precedente"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Tutte le condizioni sottostanti (e)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Almeno una delle condizioni sottostanti (oppure)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Evento inizia"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Evento termina"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Ammissione all'evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "data e ora personalizzate"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Orario personalizzato"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolleranza (minuti)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Aggiungi condizione"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minuti"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-03-15 00:00+0000\n"
"Last-Translator: Yuriko Matsunami <y.matsunami@enobyte.com>\n"
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -314,43 +314,43 @@ msgstr "0時から現在までの入力件数"
msgid "Number of days with a previous entry"
msgstr "これまでの入力日数"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "以下全ての条件(と)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "以下の条件のうち、最低1つ(または)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "イベント開始"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "イベント終了"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "イベントの入場"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "日時確定"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "時刻確定"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "許容誤差(分)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "条件を追加"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "分"
File diff suppressed because it is too large Load Diff
+16 -16
View File
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"PO-Revision-Date: 2021-12-09 15:49+0000\n"
"Last-Translator: Ilona Zilgalve <i.zilgalve@riga-jurmala.com>\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-04-06 03:00+0000\n"
"Last-Translator: Liga V <lerning_by_dreaming@gmx.de>\n"
"Language-Team: Latvian <https://translate.pretix.eu/projects/pretix/pretix-"
"js/lv/>\n"
"Language: lv\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
"X-Generator: Weblate 4.8\n"
"X-Generator: Weblate 4.11.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -316,43 +316,43 @@ msgstr "Iepriekšējo pieslēgumu skaits kopš pusnakts"
msgid "Number of days with a previous entry"
msgstr "Dienu skaits ar iepriekšējo ierakstu"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Visi nosacījumi, kas zemāk (AND)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Vismaz viens nosacījums, kas zemāk (OR)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Pasākums sākas"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Pasākums beidzas"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Ieeja pasākumā"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "pielāgots datums un laiks"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "pielāgots laiks"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Pielaide (minūtes)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Pievienot nosacījumu"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minūtes"
@@ -390,7 +390,7 @@ msgstr "Objekts"
#: pretix/static/pretixcontrol/js/ui/editor.js:642
msgid "Ticket design"
msgstr "Biļetes dizains"
msgstr "Biļešu dizains"
#: pretix/static/pretixcontrol/js/ui/editor.js:932
msgid "Saving failed."
@@ -581,7 +581,7 @@ msgstr "iesk. %(rate)s% %(taxname)s"
#: pretix/static/pretixpresale/js/widget/widget.js:24
msgctxt "widget"
msgid "plus %(rate)s% %(taxname)s"
msgstr "plus %(rate)s% %(taxname)s"
msgstr "papildus %(rate)s% %(taxname)s"
#: pretix/static/pretixpresale/js/widget/widget.js:25
msgctxt "widget"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-05-31 11:26+0000\n"
"Last-Translator: zackern <zacker@zacker.no>\n"
"Language-Team: Norwegian Bokmål <https://translate.pretix.eu/projects/pretix/"
@@ -314,43 +314,43 @@ msgstr "Antall tidligere oppføringer siden midnatt"
msgid "Number of days with a previous entry"
msgstr "Antall dager med en tidligere oppføring"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-10-29 02:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -313,43 +313,43 @@ msgstr "Aantal eerdere binnenkomsten sinds middernacht"
msgid "Number of days with a previous entry"
msgstr "Aantal dagen met een eerdere binnenkomst"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Alle volgende voorwaarden (EN)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Ten minste één van de volgende voorwaarden (OF)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Start van het evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Einde van het evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Toegangstijd evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Aangepaste datum en tijd"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "aangepaste tijd"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Speling (minuten)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Voorwaarde toevoegen"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minuten"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -301,43 +301,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-08-05 04:00+0000\n"
"Last-Translator: Maarten van den Berg <maartenberg1@gmail.com>\n"
"Language-Team: Dutch (informal) <https://translate.pretix.eu/projects/pretix/"
@@ -317,43 +317,43 @@ msgstr "Aantal eerdere binnenkomsten sinds middernacht"
msgid "Number of days with a previous entry"
msgstr "Aantal dagen met een eerdere binnenkomst"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Alle volgende voorwaarden (EN)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Ten minste één van de volgende voorwaarden (OF)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Start van het evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Einde van het evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Toegangstijd evenement"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "Aangepaste datum en tijd"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "aangepaste tijd"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Speling (minuten)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Voorwaarde toevoegen"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minuten"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2019-09-24 19:00+0000\n"
"Last-Translator: Serge Bazanski <q3k@hackerspace.pl>\n"
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
@@ -348,43 +348,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -302,43 +302,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -302,43 +302,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2019-03-19 09:00+0000\n"
"Last-Translator: Vitor Reis <vitor.reis7@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <https://translate.pretix.eu/projects/"
@@ -353,43 +353,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2020-10-27 06:00+0000\n"
"Last-Translator: David Vaz <davidmgvaz@gmail.com>\n"
"Language-Team: Portuguese (Portugal) <https://translate.pretix.eu/projects/"
@@ -331,45 +331,45 @@ msgstr "Número de entradas prévias desde a meia noite"
msgid "Number of days with a previous entry"
msgstr "Número de dias com entrada prévia"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Todas as condições abaixo (E)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Pelo menos uma das condições abaixo (Ou)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Início do evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Fim do evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Admissão ao evento"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#, fuzzy
#| msgid "Current date and time"
msgid "custom date and time"
msgstr "Data e hora atual"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "Hora personalisada"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolerância (minutos)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Adicionar condição"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -302,43 +302,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2021-08-09 13:10+0000\n"
"Last-Translator: Svyatoslav <slava@digitalarthouse.eu>\n"
"Language-Team: Russian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -346,43 +346,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
@@ -301,43 +301,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2019-08-27 08:00+0000\n"
"Last-Translator: Bostjan Marusic <bostjan@brokenbones.si>\n"
"Language-Team: Slovenian <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -345,43 +345,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2022-03-03 07:00+0000\n"
"Last-Translator: MaLund13 <mart.lund13@gmail.com>\n"
"Language-Team: Swedish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -313,43 +313,43 @@ msgstr "Antal tidigare poster sedan midnatt"
msgid "Number of days with a previous entry"
msgstr "Antal dagar med en tidigare postning"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr "Alla villkor nedan (AND)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr "Minst ett av villkoren nedan (OR)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr "Evenemanget börjar"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr "Evenemanget slutar"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr "Tillträde till evenemang"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr "anpassat datum och tid"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr "anpassad tid"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr "Tolerans (minuter)"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr "Lägg till villkor"
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr "minuter"
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-03-31 12:36+0000\n"
"POT-Creation-Date: 2022-04-12 08:33+0000\n"
"PO-Revision-Date: 2018-09-03 06:36+0000\n"
"Last-Translator: Yunus Fırat Pişkin <firat.piskin@idvlabs.com>\n"
"Language-Team: Turkish <https://translate.pretix.eu/projects/pretix/pretix-"
@@ -352,43 +352,43 @@ msgstr ""
msgid "Number of days with a previous entry"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:97
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
msgid "All of the conditions below (AND)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:98
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
msgid "At least one of the conditions below (OR)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:99
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
msgid "Event start"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:100
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
msgid "Event end"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:101
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
msgid "Event admission"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:102
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
msgid "custom date and time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:103
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
msgid "custom time"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:104
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:107
msgid "Tolerance (minutes)"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:105
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:108
msgid "Add condition"
msgstr ""
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:106
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:109
msgid "minutes"
msgstr ""

Some files were not shown because too many files have changed in this diff Show More