mirror of
https://github.com/pretix/pretix.git
synced 2026-08-25 13:12:00 +00:00
Compare commits
150
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2177bebf6a | ||
|
|
ea613bf271 | ||
|
|
c8bed5e3b9 | ||
|
|
d08216d8c5 | ||
|
|
4a28689690 | ||
|
|
958f75b109 | ||
|
|
81f58456e5 | ||
|
|
1ec27fff05 | ||
|
|
0294f205d0 | ||
|
|
3424aacdc3 | ||
|
|
4012889076 | ||
|
|
fe15d71cd2 | ||
|
|
4d9dfa88fe | ||
|
|
ea792e76b2 | ||
|
|
5c448279f0 | ||
|
|
e3fa1aed7f | ||
|
|
b164cf44c0 | ||
|
|
7bc79337c3 | ||
|
|
5d8ba189fa | ||
|
|
1ea1c1789c | ||
|
|
1a6edae769 | ||
|
|
c4950e714d | ||
|
|
407728cc55 | ||
|
|
9fe25544c1 | ||
|
|
8133061fe1 | ||
|
|
288ac50600 | ||
|
|
e7657a3dd3 | ||
|
|
b659534772 | ||
|
|
c11ebb1391 | ||
|
|
b20557a996 | ||
|
|
e4a0bba3bc | ||
|
|
c369ba5f60 | ||
|
|
2c876057bf | ||
|
|
b70c1b02c2 | ||
|
|
01d736361d | ||
|
|
7627e4b548 | ||
|
|
541e7412e1 | ||
|
|
79dcf60ed2 | ||
|
|
8775ca09b4 | ||
|
|
c34cdf5ec6 | ||
|
|
8a000f9892 | ||
|
|
07bf0b3118 | ||
|
|
abe938795c | ||
|
|
f1cb5a9010 | ||
|
|
6e6ca0a7bc | ||
|
|
8800b15a33 | ||
|
|
85de097497 | ||
|
|
16040f70bb | ||
|
|
9b5ed06b2e | ||
|
|
f3ffce4e5b | ||
|
|
5c98dc16b7 | ||
|
|
d814b40fcd | ||
|
|
a696c493e2 | ||
|
|
e88b539375 | ||
|
|
163cf85c86 | ||
|
|
55b6887c5e | ||
|
|
2592d3cb8d | ||
|
|
47b632eabe | ||
|
|
7f2e957092 | ||
|
|
1ff9742a08 | ||
|
|
d9f8679647 | ||
|
|
1a7e36a144 | ||
|
|
9afc71c245 | ||
|
|
1087db9529 | ||
|
|
6d62284d87 | ||
|
|
3ea7ea31b6 | ||
|
|
db147280fd | ||
|
|
d1ce4566a7 | ||
|
|
c3cfd4ea91 | ||
|
|
92e7069a8e | ||
|
|
f471091d77 | ||
|
|
351d2055f8 | ||
|
|
ca03a2556d | ||
|
|
2381af4267 | ||
|
|
9fd570a53d | ||
|
|
072c17c91a | ||
|
|
003bfb707d | ||
|
|
faf8a6b1d2 | ||
|
|
a4d10d9550 | ||
|
|
baf3cf04ec | ||
|
|
fa2009ed03 | ||
|
|
cc082e2001 | ||
|
|
930e153db4 | ||
|
|
560a369e65 | ||
|
|
5b34a25fb5 | ||
|
|
9467f1d08d | ||
|
|
85344a7690 | ||
|
|
3b47f4aaa7 | ||
|
|
0309b05121 | ||
|
|
ad092ae0d1 | ||
|
|
9f42d679cc | ||
|
|
9eae9c6de7 | ||
|
|
84c51e031e | ||
|
|
902ee9242e | ||
|
|
b758efd4a9 | ||
|
|
c68fe00502 | ||
|
|
b7da9bb6c1 | ||
|
|
897120d3da | ||
|
|
09abc5725e | ||
|
|
9a7d5abb1f | ||
|
|
3cee5f524b | ||
|
|
3a1a6b988e | ||
|
|
bdc720f5a2 | ||
|
|
583184af38 | ||
|
|
63d9f7cea8 | ||
|
|
c3d6fb1bd6 | ||
|
|
bb43acd257 | ||
|
|
e0744951e8 | ||
|
|
fef1e356f7 | ||
|
|
81775f5d2d | ||
|
|
4bbcc398cc | ||
|
|
a924d0a266 | ||
|
|
0754e9d049 | ||
|
|
0ebdab5389 | ||
|
|
35c5f02b59 | ||
|
|
11c332dfd6 | ||
|
|
b95847c395 | ||
|
|
8fc2e78a58 | ||
|
|
21bd00e7e6 | ||
|
|
3df9d86216 | ||
|
|
c850a35235 | ||
|
|
d794738b8f | ||
|
|
c62a6359e1 | ||
|
|
e62bed7092 | ||
|
|
477601e9f9 | ||
|
|
6024fad056 | ||
|
|
8945e55900 | ||
|
|
7251ae953d | ||
|
|
3c1b806c8e | ||
|
|
2dade31f23 | ||
|
|
504191c005 | ||
|
|
00cb77de8f | ||
|
|
99bd78f2c6 | ||
|
|
d9b691690e | ||
|
|
b1b2a688a8 | ||
|
|
3f92868dba | ||
|
|
961253bac4 | ||
|
|
f3eb2fba6d | ||
|
|
4d8c22a839 | ||
|
|
d544df098c | ||
|
|
6cfdfc2cd6 | ||
|
|
55299b1eae | ||
|
|
97857e7a67 | ||
|
|
469b777dcf | ||
|
|
333dc56ef7 | ||
|
|
2898f06f56 | ||
|
|
0d522c0eed | ||
|
|
ee44d4c968 | ||
|
|
3d37f62c51 | ||
|
|
94dd5b0350 |
@@ -71,6 +71,8 @@ Checking a ticket in
|
||||
:>json object questions: List of questions to be answered for check-in, only set on status ``"incomplete"``.
|
||||
:>json object media_policy: Reusable media policy (see documentation on items), only set on status ``"exchange"``.
|
||||
:>json object media_type: Reusable media type (see documentation on items), only set on status ``"exchange"``.
|
||||
:>json boolean simulate: Do not actually perform the check-in, only simulate the response. The ``position`` response
|
||||
object will not reflect the simulated changes.
|
||||
|
||||
**Example request**:
|
||||
|
||||
|
||||
@@ -2038,7 +2038,7 @@ Manipulating individual positions
|
||||
|
||||
* ``order`` (mandatory, specified as a string mapping to a ``code``)
|
||||
|
||||
* ``addon_to`` (optional, specified as an integer mapping to the ``positionid`` of the parent position)
|
||||
* ``addon_to`` (optional, specified as an integer mapping to ``positionid`` - the number of the position within the order, see :ref:`_order-position-resource` - of the parent position)
|
||||
|
||||
* ``item`` (mandatory)
|
||||
|
||||
@@ -2348,7 +2348,7 @@ otherwise, such as splitting an order or changing fees.
|
||||
"subevent": 562,
|
||||
"seat": "seat-guid-2",
|
||||
"price": "99.99",
|
||||
"addon_to": 12374,
|
||||
"addon_to": 1,
|
||||
"attendee_name": "Peter",
|
||||
}
|
||||
],
|
||||
|
||||
Generated
+21
-11
@@ -9,7 +9,8 @@
|
||||
"version": "1.0.0",
|
||||
"license": "SEE LICENSE IN LICENSE",
|
||||
"dependencies": {
|
||||
"vue": "^3.5.30"
|
||||
"vue": "^3.5.30",
|
||||
"vue-slicksort": "^2.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^10.0.1",
|
||||
@@ -2584,9 +2585,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/immutable": {
|
||||
"version": "5.1.5",
|
||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.5.tgz",
|
||||
"integrity": "sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A==",
|
||||
"version": "5.1.9",
|
||||
"resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.9.tgz",
|
||||
"integrity": "sha512-m8nVez3rwrgmWxtLMt1ZYXB2Lv7OKYn/disyxAlSDYAlKSlFoPPfIAmAM/M5xqL4m4C/wAPw7S2/CNaUii1Hxg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -3176,9 +3177,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.12",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz",
|
||||
"integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
|
||||
"version": "3.3.16",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz",
|
||||
"integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -3352,9 +3353,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.15",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz",
|
||||
"integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
|
||||
"version": "8.5.23",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.23.tgz",
|
||||
"integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -3371,7 +3372,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.12",
|
||||
"nanoid": "^3.3.16",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.1"
|
||||
},
|
||||
@@ -4635,6 +4636,15 @@
|
||||
"vue-eslint-parser": "^10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-slicksort": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/vue-slicksort/-/vue-slicksort-2.0.5.tgz",
|
||||
"integrity": "sha512-fXz1YrNjhUbJK7o0tMk27mIr4pMAZYLSYvtmLazCtfpvz+zafPCn34ILDL8B7hT7WLVZKreYs6JVe5VWymqmzA==",
|
||||
"license": "MIT",
|
||||
"peerDependencies": {
|
||||
"vue": ">=3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/which": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||
|
||||
+2
-1
@@ -27,7 +27,8 @@
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"vue": "^3.5.30"
|
||||
"vue": "^3.5.30",
|
||||
"vue-slicksort": "^2.0.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^10.0.1",
|
||||
|
||||
+9
-9
@@ -33,14 +33,14 @@ dependencies = [
|
||||
"bleach==6.4.*",
|
||||
"celery==5.6.*",
|
||||
"chardet==5.2.*",
|
||||
"cryptography>=49.0.0",
|
||||
"cryptography>=50.0.0",
|
||||
"css-inline==0.21.*",
|
||||
"defusedcsv>=3.0.0",
|
||||
"dnspython==2.*",
|
||||
"Django[argon2]==5.2.*",
|
||||
"django-bootstrap3==26.1",
|
||||
"django-bootstrap3==26.2",
|
||||
"django-compressor==4.6.0",
|
||||
"django-countries==8.2.*",
|
||||
"django-countries==9.0.*",
|
||||
"django-filter==26.1",
|
||||
"django-formset-js-improved==0.5.0.5",
|
||||
"django-formtools==2.7",
|
||||
@@ -48,14 +48,14 @@ dependencies = [
|
||||
"django-hijack==3.7.*",
|
||||
"django-i18nfield==1.11.*",
|
||||
"django-libsass==0.9",
|
||||
"django-localflavor==5.0",
|
||||
"django-localflavor==5.1",
|
||||
"django-markup",
|
||||
"django-oauth-toolkit==2.3.*",
|
||||
"django-otp==1.7.*",
|
||||
"django-phonenumber-field==8.4.*",
|
||||
"django-phonenumber-field==8.5.*",
|
||||
"django-querytagger==0.0.3",
|
||||
"django-redis==7.0.*",
|
||||
"django-scopes==2.0.*",
|
||||
"django-scopes==2.1.*",
|
||||
"django-statici18n==2.7.*",
|
||||
"djangorestframework==3.17.*",
|
||||
"dnspython==2.8.*",
|
||||
@@ -67,7 +67,7 @@ dependencies = [
|
||||
"kombu==5.6.*",
|
||||
"libsass==0.23.*",
|
||||
"lxml",
|
||||
"markdown==3.10.2", # 3.3.5 requires importlib-metadata>=4.4, but django-bootstrap3 requires importlib-metadata<3.
|
||||
"markdown==3.10.3", # 3.3.5 requires importlib-metadata>=4.4, but django-bootstrap3 requires importlib-metadata<3.
|
||||
# We can upgrade markdown again once django-bootstrap3 upgrades or once we drop Python 3.6 and 3.7
|
||||
"mt-940==4.30.*",
|
||||
"oauthlib==3.3.*",
|
||||
@@ -98,7 +98,7 @@ dependencies = [
|
||||
"sepaxml==2.7.*",
|
||||
"stripe==7.9.*",
|
||||
"text-unidecode==1.*",
|
||||
"tlds>=2026041800",
|
||||
"tlds>=2026072401",
|
||||
"tqdm==4.*",
|
||||
"ua-parser==1.0.*",
|
||||
"vobject==0.9.*",
|
||||
@@ -112,7 +112,7 @@ dev = [
|
||||
"aiohttp==3.14.*",
|
||||
"coverage",
|
||||
"coveralls",
|
||||
"fakeredis==2.36.*",
|
||||
"fakeredis==2.37.*",
|
||||
"flake8==7.3.*",
|
||||
"freezegun",
|
||||
"isort==8.0.*",
|
||||
|
||||
@@ -19,4 +19,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
__version__ = "2026.7.0.dev0"
|
||||
__version__ = "2026.8.0.dev0"
|
||||
|
||||
@@ -104,6 +104,7 @@ ALL_LANGUAGES = [
|
||||
('gl', _('Galician')),
|
||||
('el', _('Greek')),
|
||||
('he', _('Hebrew')),
|
||||
('hu', _('Hungarian')),
|
||||
('id', _('Indonesian')),
|
||||
('it', _('Italian')),
|
||||
('ja', _('Japanese')),
|
||||
|
||||
@@ -20,8 +20,11 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.db import DatabaseError
|
||||
from django.utils.timezone import now
|
||||
from django_scopes import scopes_disabled
|
||||
from rest_framework import exceptions
|
||||
from rest_framework.authentication import TokenAuthentication
|
||||
@@ -30,6 +33,7 @@ from pretix.api.auth.devicesecurity import (
|
||||
FullAccessSecurityProfile, get_all_security_profiles,
|
||||
)
|
||||
from pretix.base.models import Device
|
||||
from pretix.base.models.devices import DeviceLastSeen
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -42,7 +46,7 @@ class DeviceTokenAuthentication(TokenAuthentication):
|
||||
model = self.get_model()
|
||||
try:
|
||||
with scopes_disabled():
|
||||
device = model.objects.select_related('organizer').get(api_token=key)
|
||||
device = model.objects.select_related('organizer', 'last_seen').get(api_token=key)
|
||||
except model.DoesNotExist:
|
||||
raise exceptions.AuthenticationFailed('Invalid token.')
|
||||
|
||||
@@ -53,6 +57,7 @@ class DeviceTokenAuthentication(TokenAuthentication):
|
||||
logging.warning(f'Connection attempt of revoked device {device.pk}.')
|
||||
raise exceptions.AuthenticationFailed('Device access has been revoked.')
|
||||
|
||||
self._update_last_seen(device)
|
||||
return AnonymousUser(), device
|
||||
|
||||
def authenticate(self, request):
|
||||
@@ -63,3 +68,22 @@ class DeviceTokenAuthentication(TokenAuthentication):
|
||||
if not profile.is_allowed(request):
|
||||
raise exceptions.PermissionDenied('Request denied by device security profile.')
|
||||
return r
|
||||
|
||||
def _update_last_seen(self, device: Device):
|
||||
try:
|
||||
try:
|
||||
last_seen_obj = device.last_seen
|
||||
except DeviceLastSeen.DoesNotExist:
|
||||
# First request from device, create model, ignore result. Use get_or_create to be safe
|
||||
# against concurrent create requests
|
||||
DeviceLastSeen.objects.get_or_create(device=device, last_seen=now())
|
||||
else:
|
||||
if now() - last_seen_obj.last_seen < timedelta(seconds=10):
|
||||
# We don't need to know the last seen info of a device to more precision than this,
|
||||
# so we can avoid some database writes if the device is bursting a lot of requests.
|
||||
return
|
||||
last_seen_obj.last_seen = now()
|
||||
last_seen_obj.save(update_fields=["last_seen"])
|
||||
except DatabaseError:
|
||||
# Do not stop the request from happening
|
||||
logger.exception("Database error while updating last_seen")
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import logging
|
||||
from collections import OrderedDict
|
||||
|
||||
from django.dispatch import receiver
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
@@ -52,10 +51,18 @@ class BaseSecurityProfile:
|
||||
"""
|
||||
raise NotImplementedError()
|
||||
|
||||
@property
|
||||
def priority(self) -> int:
|
||||
"""
|
||||
Priority for ordering, higher will come first.
|
||||
"""
|
||||
return 100
|
||||
|
||||
|
||||
class FullAccessSecurityProfile(BaseSecurityProfile):
|
||||
identifier = 'full'
|
||||
verbose_name = _('Full device access (reading and changing orders and gift cards, reading of products and settings)')
|
||||
priority = 1000
|
||||
|
||||
def is_allowed(self, request):
|
||||
return True
|
||||
@@ -108,6 +115,7 @@ class PretixScanSecurityProfile(AllowListSecurityProfile):
|
||||
('GET', 'api-v1:event.settings'),
|
||||
('POST', 'api-v1:upload'),
|
||||
('POST', 'api-v1:checkinrpc.redeem'),
|
||||
('POST', 'api-v1:checkinrpc.annull'),
|
||||
('GET', 'api-v1:checkinrpc.search'),
|
||||
('GET', 'api-v1:reusablemedium-list'),
|
||||
('POST', 'api-v1:reusablemedium-lookup'),
|
||||
@@ -146,6 +154,7 @@ class PretixScanNoSyncNoSearchSecurityProfile(AllowListSecurityProfile):
|
||||
('GET', 'api-v1:event.settings'),
|
||||
('POST', 'api-v1:upload'),
|
||||
('POST', 'api-v1:checkinrpc.redeem'),
|
||||
('POST', 'api-v1:checkinrpc.annull'),
|
||||
('GET', 'api-v1:checkinrpc.search'),
|
||||
)
|
||||
|
||||
@@ -182,6 +191,7 @@ class PretixScanNoSyncSecurityProfile(AllowListSecurityProfile):
|
||||
('GET', 'api-v1:event.settings'),
|
||||
('POST', 'api-v1:upload'),
|
||||
('POST', 'api-v1:checkinrpc.redeem'),
|
||||
('POST', 'api-v1:checkinrpc.annull'),
|
||||
('GET', 'api-v1:checkinrpc.search'),
|
||||
)
|
||||
|
||||
@@ -192,13 +202,15 @@ def get_all_security_profiles():
|
||||
if _ALL_PROFILES:
|
||||
return _ALL_PROFILES
|
||||
|
||||
types = OrderedDict()
|
||||
types = []
|
||||
for recv, ret in register_device_security_profile.send(None):
|
||||
if isinstance(ret, (list, tuple)):
|
||||
for r in ret:
|
||||
types[r.identifier] = r
|
||||
types.append(r)
|
||||
else:
|
||||
types[ret.identifier] = ret
|
||||
types.append(ret)
|
||||
types.sort(key=lambda el: el.priority, reverse=True)
|
||||
types = {r.identifier: r for r in types}
|
||||
_ALL_PROFILES = types
|
||||
return types
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@ class CheckinRPCRedeemInputSerializer(serializers.Serializer):
|
||||
answers = serializers.JSONField(required=False, allow_null=True)
|
||||
exchange_medium_type = serializers.ChoiceField(required=False, choices=MEDIA_TYPES)
|
||||
exchange_medium_identifier = serializers.CharField(required=False)
|
||||
simulate = serializers.BooleanField(default=False, required=False)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@@ -702,7 +702,7 @@ class TaxRuleSerializer(CountryFieldMixin, I18nAwareModelSerializer):
|
||||
return super().save(**kwargs)
|
||||
|
||||
def validate_default(self, value):
|
||||
if not value and self.instance.default:
|
||||
if not value and (not self.instance or self.instance.default):
|
||||
raise ValidationError("You can't remove the default property, instead set it on another tax rule.")
|
||||
return value
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ from pretix.base.models import (
|
||||
ItemVariation, ItemVariationMetaValue, Question, QuestionOption, Quota,
|
||||
SalesChannel,
|
||||
)
|
||||
from pretix.base.models.items import Questionnaire, QuestionnaireChild
|
||||
|
||||
|
||||
class InlineItemVariationSerializer(SalesChannelMigrationMixin, I18nAwareModelSerializer):
|
||||
@@ -542,6 +543,7 @@ class LegacyDependencyValueField(serializers.CharField):
|
||||
class QuestionSerializer(I18nAwareModelSerializer):
|
||||
options = InlineQuestionOptionSerializer(many=True, required=False)
|
||||
identifier = serializers.CharField(allow_null=True)
|
||||
internal_name = serializers.CharField(allow_null=True, source='question', read_only=True)
|
||||
dependency_value = LegacyDependencyValueField(source='dependency_values', required=False, allow_null=True)
|
||||
|
||||
class Meta:
|
||||
@@ -550,7 +552,7 @@ class QuestionSerializer(I18nAwareModelSerializer):
|
||||
'ask_during_checkin', 'show_during_checkin', 'identifier', 'dependency_question', 'dependency_values',
|
||||
'hidden', 'dependency_value', 'print_on_invoice', 'help_text', 'valid_number_min',
|
||||
'valid_number_max', 'valid_date_min', 'valid_date_max', 'valid_datetime_min', 'valid_datetime_max',
|
||||
'valid_string_length_max', 'valid_file_portrait')
|
||||
'valid_string_length_max', 'valid_file_portrait', 'internal_name',)
|
||||
|
||||
def validate_identifier(self, value):
|
||||
Question._clean_identifier(self.context['event'], value, self.instance)
|
||||
@@ -626,6 +628,160 @@ class QuestionSerializer(I18nAwareModelSerializer):
|
||||
return question
|
||||
|
||||
|
||||
class QuestionRefField(serializers.PrimaryKeyRelatedField):
|
||||
def to_representation(self, qc):
|
||||
if not qc:
|
||||
return None
|
||||
elif qc.system_question:
|
||||
return qc.system_question
|
||||
elif qc.user_question_id:
|
||||
return qc.user_question_id
|
||||
else:
|
||||
return None
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if type(data) == int:
|
||||
return {'user_question': super().to_internal_value(data), 'system_question': None}
|
||||
elif type(data) == str or data is None:
|
||||
return {'user_question': None, 'system_question': data}
|
||||
else:
|
||||
self.fail('incorrect_type', data_type=type(data).__name__)
|
||||
|
||||
def use_pk_only_optimization(self):
|
||||
return self.source == '*'
|
||||
|
||||
|
||||
class InlineQuestionnaireChildSerializer(I18nAwareModelSerializer):
|
||||
question = QuestionRefField(source='*', queryset=Question.objects.none())
|
||||
dependency_question = QuestionRefField(allow_null=True, required=False, queryset=Question.objects.none())
|
||||
|
||||
class Meta:
|
||||
model = QuestionnaireChild
|
||||
fields = ('question', 'required', 'label', 'help_text', 'dependency_question', 'dependency_values')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields["question"].queryset = self.context["event"].questions.all()
|
||||
self.fields["dependency_question"].queryset = self.context["event"].questions.all()
|
||||
|
||||
def validate(self, data):
|
||||
data = super().validate(data)
|
||||
event = self.context['event']
|
||||
|
||||
full_data = self.to_internal_value(self.to_representation(self.instance)) if self.instance else {}
|
||||
full_data.update(data)
|
||||
|
||||
if full_data.get('ask_during_checkin') and full_data.get('dependency_question'):
|
||||
raise ValidationError('Dependencies are not supported during check-in.')
|
||||
|
||||
dep = full_data.get('dependency_question')
|
||||
if dep:
|
||||
if dep.ask_during_checkin:
|
||||
raise ValidationError(_('Question cannot depend on a question asked during check-in.'))
|
||||
|
||||
seen_ids = {self.instance.pk} if self.instance else set()
|
||||
while dep:
|
||||
if dep.pk in seen_ids:
|
||||
raise ValidationError(_('Circular dependency between questions detected.'))
|
||||
seen_ids.add(dep.pk)
|
||||
dep = dep.dependency_question
|
||||
|
||||
return data
|
||||
|
||||
def validate_dependency_question(self, value):
|
||||
if value:
|
||||
if value.type not in (Question.TYPE_CHOICE, Question.TYPE_BOOLEAN, Question.TYPE_CHOICE_MULTIPLE):
|
||||
raise ValidationError('Question dependencies can only be set to boolean or choice questions.')
|
||||
if value == self.instance:
|
||||
raise ValidationError('A question cannot depend on itself.')
|
||||
return value
|
||||
|
||||
|
||||
class QuestionnaireSerializer(I18nAwareModelSerializer):
|
||||
limit_sales_channels = serializers.SlugRelatedField(
|
||||
slug_field="identifier",
|
||||
queryset=SalesChannel.objects.none(),
|
||||
required=False,
|
||||
allow_empty=True,
|
||||
many=True,
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = Questionnaire
|
||||
fields = ('id', 'type', 'internal_name', 'items', 'position', 'all_sales_channels', 'limit_sales_channels', 'children')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.fields['children'] = InlineQuestionnaireChildSerializer(many=True, required=True, context=kwargs['context'], partial=False)
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def validate(self, data):
|
||||
data = super().validate(data)
|
||||
event = self.context['event']
|
||||
|
||||
#full_data = self.to_internal_value(self.to_representation(self.instance)) if self.instance else {}
|
||||
#full_data.update(data)
|
||||
|
||||
#if full_data.get('ask_during_checkin') and full_data.get('dependency_question'):
|
||||
# raise ValidationError('Dependencies are not supported during check-in.')
|
||||
|
||||
#if full_data.get('ask_during_checkin') and full_data.get('type') in Question.ASK_DURING_CHECKIN_UNSUPPORTED:
|
||||
# raise ValidationError(_('This type of question cannot be asked during check-in.'))
|
||||
|
||||
#if full_data.get('show_during_checkin') and full_data.get('type') in Question.SHOW_DURING_CHECKIN_UNSUPPORTED:
|
||||
# raise ValidationError(_('This type of question cannot be shown during check-in.'))
|
||||
|
||||
#Question.clean_items(event, full_data.get('items') or [])
|
||||
return data
|
||||
|
||||
def validate_children(self, value):
|
||||
prev_questions = {}
|
||||
for child in value:
|
||||
if child.get('dependency_question'):
|
||||
if (child['dependency_question']['user_question'] or child['dependency_question']['system_question']) not in prev_questions:
|
||||
raise ValidationError('A question can only depend on a previous question from the same questionnaire.')
|
||||
|
||||
if child['user_question']:
|
||||
prev_questions[child['user_question']] = child
|
||||
if child['system_question']:
|
||||
prev_questions[child['system_question']] = child
|
||||
return value
|
||||
|
||||
@transaction.atomic
|
||||
def create(self, validated_data):
|
||||
children_data = validated_data.pop('children') if 'children' in validated_data else []
|
||||
questionnaire = super().create(validated_data)
|
||||
self.set_children(questionnaire, children_data)
|
||||
return questionnaire
|
||||
|
||||
@transaction.atomic
|
||||
def update(self, instance, validated_data):
|
||||
children_data = validated_data.pop('children', None)
|
||||
questionnaire = super().update(instance, validated_data)
|
||||
if children_data is not None:
|
||||
self.set_children(questionnaire, children_data)
|
||||
return questionnaire
|
||||
|
||||
def set_children(self, questionnaire, new_data):
|
||||
result = []
|
||||
child_serializer = self.fields['children'].child
|
||||
existing = questionnaire.children.all()
|
||||
for i, d in enumerate(new_data):
|
||||
d['questionnaire'] = questionnaire
|
||||
d['position'] = i + 1
|
||||
d.setdefault('required', False)
|
||||
d.setdefault('help_text', None)
|
||||
d.setdefault('dependency_question', None)
|
||||
d.setdefault('dependency_values', None)
|
||||
updatable = min(len(existing), len(new_data))
|
||||
for i in range(0, updatable):
|
||||
result.append(child_serializer.update(existing[i], new_data[i]))
|
||||
for i in range(updatable, len(new_data)):
|
||||
result.append(child_serializer.create(new_data[i]))
|
||||
for i in range(updatable, len(existing)):
|
||||
existing[i].delete()
|
||||
return result
|
||||
|
||||
|
||||
class QuotaSerializer(I18nAwareModelSerializer):
|
||||
available = serializers.BooleanField(read_only=True)
|
||||
available_number = serializers.IntegerField(read_only=True)
|
||||
|
||||
@@ -79,7 +79,8 @@ event_router.register(r'subevents', event.SubEventViewSet)
|
||||
event_router.register(r'clone', event.CloneEventViewSet)
|
||||
event_router.register(r'items', item.ItemViewSet)
|
||||
event_router.register(r'categories', item.ItemCategoryViewSet)
|
||||
event_router.register(r'questions', item.QuestionViewSet)
|
||||
event_router.register(r'datafields', item.QuestionViewSet)
|
||||
event_router.register(r'questionnaires', item.QuestionnaireViewSet)
|
||||
event_router.register(r'discounts', discount.DiscountViewSet)
|
||||
event_router.register(r'quotas', item.QuotaViewSet)
|
||||
event_router.register(r'vouchers', voucher.VoucherViewSet)
|
||||
|
||||
@@ -139,6 +139,7 @@ class CheckinListViewSet(viewsets.ModelViewSet):
|
||||
)
|
||||
return qs
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -153,6 +154,7 @@ class CheckinListViewSet(viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -837,6 +839,11 @@ def _redeem_process(*, checkinlists, raw_barcode, answers_data, datetime, force,
|
||||
)
|
||||
|
||||
if exchange_medium_identifier: # other fields are filled, see CheckinRPCRedeemInputSerializer.validate
|
||||
if simulate:
|
||||
raise CheckInError(
|
||||
gettext('You cannot simulate a medium exchange.'),
|
||||
'error'
|
||||
)
|
||||
with transaction.atomic():
|
||||
# Do exchange and check-in atomically, i.e. both succeed or both fail
|
||||
medium = perform_media_exchange(
|
||||
@@ -1064,6 +1071,7 @@ class CheckinRPCRedeemView(views.APIView):
|
||||
legacy_url_support=False,
|
||||
exchange_medium_type=s.validated_data.get('exchange_medium_type'),
|
||||
exchange_medium_identifier=s.validated_data.get('exchange_medium_identifier'),
|
||||
simulate=s.validated_data.get('simulate'),
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
from django.db import transaction
|
||||
from django_filters.rest_framework import DjangoFilterBackend, FilterSet
|
||||
from django_scopes import scopes_disabled
|
||||
from rest_framework import viewsets
|
||||
@@ -64,6 +65,7 @@ class DiscountViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
'limit_sales_channels',
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -78,6 +80,7 @@ class DiscountViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -87,6 +90,7 @@ class DiscountViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('You cannot delete this discount because it already has '
|
||||
|
||||
@@ -45,6 +45,7 @@ from rest_framework.exceptions import (
|
||||
NotFound, PermissionDenied, ValidationError,
|
||||
)
|
||||
from rest_framework.generics import get_object_or_404
|
||||
from rest_framework.mixins import UpdateModelMixin
|
||||
from rest_framework.response import Response
|
||||
|
||||
from pretix.api.auth.permission import EventCRUDPermission
|
||||
@@ -256,6 +257,7 @@ class EventViewSet(viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
copy_from = None
|
||||
if 'clone_from' in self.request.GET:
|
||||
@@ -319,6 +321,7 @@ class EventViewSet(viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('The event can not be deleted as it already contains orders. Please set \'live\''
|
||||
@@ -354,6 +357,7 @@ class CloneEventViewSet(viewsets.ModelViewSet):
|
||||
ctx['organizer'] = self.request.organizer
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
# Weird edge case: Requires settings permission on the event (to read) but also on the organizer (two write)
|
||||
perm_holder = (self.request.auth if isinstance(self.request.auth, (Device, TeamAPIToken))
|
||||
@@ -512,6 +516,7 @@ class SubEventViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
resp['X-Page-Generated'] = date
|
||||
return resp
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
original_data = self.get_serializer(instance=serializer.instance).data
|
||||
super().perform_update(serializer)
|
||||
@@ -528,6 +533,7 @@ class SubEventViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -537,6 +543,7 @@ class SubEventViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('The sub-event can not be deleted as it has already been used in orders. Please set'
|
||||
@@ -565,6 +572,7 @@ class TaxRuleViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
def get_queryset(self):
|
||||
return self.request.event.tax_rules.all()
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
super().perform_update(serializer)
|
||||
serializer.instance.log_action(
|
||||
@@ -574,6 +582,7 @@ class TaxRuleViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -583,6 +592,7 @@ class TaxRuleViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('This tax rule can not be deleted as it is currently in use.')
|
||||
@@ -711,7 +721,7 @@ class SeatFilter(FilterSet):
|
||||
fields = ('zone_name', 'row_name', 'row_label', 'seat_number', 'seat_label', 'seat_guid', 'blocked',)
|
||||
|
||||
|
||||
class SeatViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
class SeatViewSet(ConditionalListView, UpdateModelMixin, viewsets.ReadOnlyModelViewSet):
|
||||
serializer_class = SeatSerializer
|
||||
queryset = Seat.objects.none()
|
||||
write_permission = 'event.settings.general:write'
|
||||
@@ -756,6 +766,7 @@ class SeatViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
}
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
super().perform_update(serializer)
|
||||
serializer.instance.event.log_action(
|
||||
@@ -765,6 +776,7 @@ class SeatViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data={"seats": [serializer.instance.pk]},
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def bulk_change_blocked(self, blocked):
|
||||
s = SeatBulkBlockInputSerializer(
|
||||
data=self.request.data,
|
||||
|
||||
@@ -23,6 +23,7 @@ from datetime import timedelta
|
||||
|
||||
from celery.result import AsyncResult
|
||||
from django.conf import settings
|
||||
from django.db import transaction
|
||||
from django.http import Http404
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.utils.functional import cached_property
|
||||
@@ -45,7 +46,8 @@ from pretix.base.models import (
|
||||
)
|
||||
from pretix.base.models.organizer import TeamQuerySet
|
||||
from pretix.base.services.export import (
|
||||
export, init_event_exporters, init_organizer_exporters, multiexport,
|
||||
ExportError, export, init_event_exporters, init_organizer_exporters,
|
||||
multiexport,
|
||||
)
|
||||
from pretix.helpers.http import ChunkBasedFileResponse
|
||||
|
||||
@@ -149,8 +151,11 @@ class EventExportersViewSet(ExportersMixin, viewsets.ViewSet):
|
||||
))
|
||||
exporters = []
|
||||
for ex in sorted(raw_exporters, key=lambda ex: str(ex.verbose_name)):
|
||||
ex._serializer = JobRunSerializer(exporter=ex)
|
||||
exporters.append(ex)
|
||||
try:
|
||||
ex._serializer = JobRunSerializer(exporter=ex)
|
||||
exporters.append(ex)
|
||||
except ExportError:
|
||||
pass
|
||||
return exporters
|
||||
|
||||
def do_export(self, cf, instance, data):
|
||||
@@ -180,8 +185,11 @@ class OrganizerExportersViewSet(ExportersMixin, viewsets.ViewSet):
|
||||
))
|
||||
exporters = []
|
||||
for ex in sorted(raw_exporters, key=lambda ex: str(ex.verbose_name)):
|
||||
ex._serializer = JobRunSerializer(exporter=ex)
|
||||
exporters.append(ex)
|
||||
try:
|
||||
ex._serializer = JobRunSerializer(exporter=ex)
|
||||
exporters.append(ex)
|
||||
except ExportError:
|
||||
pass
|
||||
return exporters
|
||||
|
||||
def do_export(self, cf, instance, data):
|
||||
@@ -220,6 +228,7 @@ class ScheduledEventExportViewSet(ScheduledExportersViewSet):
|
||||
qs = self.request.event.scheduled_exports
|
||||
return qs.select_related("owner")
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
if not self.request.user.is_authenticated:
|
||||
raise PermissionDenied('Creation of exports requires user-specific API access.')
|
||||
@@ -250,6 +259,7 @@ class ScheduledEventExportViewSet(ScheduledExportersViewSet):
|
||||
))
|
||||
return {e.identifier: e for e in exporters}
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
if not self.request.user.is_authenticated or self.request.user != serializer.instance.owner:
|
||||
# This is to prevent a possible privilege escalation where user A creates a scheduled export and
|
||||
@@ -275,6 +285,7 @@ class ScheduledEventExportViewSet(ScheduledExportersViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
self.request.event.log_action(
|
||||
'pretix.event.export.schedule.deleted',
|
||||
@@ -302,6 +313,7 @@ class ScheduledOrganizerExportViewSet(ScheduledExportersViewSet):
|
||||
qs = self.request.organizer.scheduled_exports
|
||||
return qs.select_related("owner")
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
if not self.request.user.is_authenticated:
|
||||
raise PermissionDenied('Creation of exports requires user-specific API access.')
|
||||
@@ -332,6 +344,7 @@ class ScheduledOrganizerExportViewSet(ScheduledExportersViewSet):
|
||||
))
|
||||
return {e.identifier: e for e in exporters}
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
if not self.request.user.is_authenticated or self.request.user != serializer.instance.owner:
|
||||
# This is to prevent a possible privilege escalation where user A creates a scheduled export and
|
||||
@@ -382,6 +395,7 @@ class ScheduledOrganizerExportViewSet(ScheduledExportersViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
self.request.organizer.log_action(
|
||||
'pretix.organizer.export.schedule.deleted',
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
import django_filters
|
||||
from django.db import transaction
|
||||
from django.db.models import Q
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.utils.functional import cached_property
|
||||
@@ -47,13 +48,14 @@ from pretix.api.pagination import TotalOrderingFilter
|
||||
from pretix.api.serializers.item import (
|
||||
ItemAddOnSerializer, ItemBundleSerializer, ItemCategorySerializer,
|
||||
ItemProgramTimeSerializer, ItemSerializer, ItemVariationSerializer,
|
||||
QuestionOptionSerializer, QuestionSerializer, QuotaSerializer,
|
||||
QuestionOptionSerializer, QuestionSerializer, QuestionnaireSerializer, QuotaSerializer,
|
||||
)
|
||||
from pretix.api.views import ConditionalListView
|
||||
from pretix.base.models import (
|
||||
CartPosition, Item, ItemAddOn, ItemBundle, ItemCategory, ItemProgramTime,
|
||||
ItemVariation, Question, QuestionOption, Quota,
|
||||
)
|
||||
from pretix.base.models.items import Questionnaire
|
||||
from pretix.base.services.quotas import QuotaAvailability
|
||||
from pretix.helpers.dicts import merge_dicts
|
||||
from pretix.helpers.i18n import i18ncomp
|
||||
@@ -109,6 +111,7 @@ class ItemViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
'limit_sales_channels', 'variations__limit_sales_channels', 'program_times'
|
||||
).all()
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -123,6 +126,7 @@ class ItemViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
original_data = self.get_serializer(instance=serializer.instance).data
|
||||
|
||||
@@ -139,6 +143,7 @@ class ItemViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('This item cannot be deleted because it has already been ordered '
|
||||
@@ -183,6 +188,7 @@ class ItemVariationViewSet(viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
item = self.item
|
||||
if not item.has_variations:
|
||||
@@ -197,6 +203,7 @@ class ItemVariationViewSet(viewsets.ModelViewSet):
|
||||
{'value': serializer.instance.value})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.item.log_action(
|
||||
@@ -207,6 +214,7 @@ class ItemVariationViewSet(viewsets.ModelViewSet):
|
||||
{'value': serializer.instance.value})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied('This variation cannot be deleted because it has already been ordered '
|
||||
@@ -249,6 +257,7 @@ class ItemBundleViewSet(viewsets.ModelViewSet):
|
||||
ctx['item'] = self.item
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
item = get_object_or_404(Item, pk=self.kwargs['item'], event=self.request.event)
|
||||
serializer.save(base_item=item)
|
||||
@@ -259,6 +268,7 @@ class ItemBundleViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.base_item.log_action(
|
||||
@@ -268,6 +278,7 @@ class ItemBundleViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
super().perform_destroy(instance)
|
||||
instance.base_item.log_action(
|
||||
@@ -303,6 +314,7 @@ class ItemProgramTimeViewSet(viewsets.ModelViewSet):
|
||||
ctx['item'] = self.item
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
item = get_object_or_404(Item, pk=self.kwargs['item'], event=self.request.event)
|
||||
serializer.save(item=item)
|
||||
@@ -313,6 +325,7 @@ class ItemProgramTimeViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.item.log_action(
|
||||
@@ -322,6 +335,7 @@ class ItemProgramTimeViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
super().perform_destroy(instance)
|
||||
instance.item.log_action(
|
||||
@@ -354,6 +368,7 @@ class ItemAddOnViewSet(viewsets.ModelViewSet):
|
||||
ctx['item'] = self.item
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
item = self.item
|
||||
category = get_object_or_404(ItemCategory, pk=self.request.data['addon_category'])
|
||||
@@ -365,6 +380,7 @@ class ItemAddOnViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'ORDER': serializer.instance.position}, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.base_item.log_action(
|
||||
@@ -374,6 +390,7 @@ class ItemAddOnViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'ORDER': serializer.instance.position}, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
super().perform_destroy(instance)
|
||||
instance.base_item.log_action(
|
||||
@@ -403,6 +420,7 @@ class ItemCategoryViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
def get_queryset(self):
|
||||
return self.request.event.categories.all()
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -417,6 +435,7 @@ class ItemCategoryViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -426,6 +445,7 @@ class ItemCategoryViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
for item in instance.items.all():
|
||||
item.category = None
|
||||
@@ -458,6 +478,7 @@ class QuestionViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
def get_queryset(self):
|
||||
return self.request.event.questions.prefetch_related('options').all()
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -472,6 +493,7 @@ class QuestionViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -481,6 +503,7 @@ class QuestionViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
instance.log_action(
|
||||
'pretix.event.question.deleted',
|
||||
@@ -509,6 +532,7 @@ class QuestionOptionViewSet(viewsets.ModelViewSet):
|
||||
ctx['question'] = get_object_or_404(Question, pk=self.kwargs['question'], event=self.request.event)
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
q = get_object_or_404(Question, pk=self.kwargs['question'], event=self.request.event)
|
||||
serializer.save(question=q)
|
||||
@@ -519,6 +543,7 @@ class QuestionOptionViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'ORDER': serializer.instance.position}, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.question.log_action(
|
||||
@@ -528,6 +553,7 @@ class QuestionOptionViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'ORDER': serializer.instance.position}, {'id': serializer.instance.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
instance.question.log_action(
|
||||
'pretix.event.question.option.deleted',
|
||||
@@ -538,6 +564,51 @@ class QuestionOptionViewSet(viewsets.ModelViewSet):
|
||||
super().perform_destroy(instance)
|
||||
|
||||
|
||||
class QuestionnaireViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
serializer_class = QuestionnaireSerializer
|
||||
queryset = Questionnaire.objects.none()
|
||||
#filter_backends = (DjangoFilterBackend, TotalOrderingFilter)
|
||||
#filterset_class = QuestionFilter
|
||||
ordering_fields = ('id', 'position')
|
||||
ordering = ('position', 'id')
|
||||
permission = None
|
||||
write_permission = 'event.items:write'
|
||||
|
||||
def get_queryset(self):
|
||||
return self.request.event.questionnaires.prefetch_related('children').all()
|
||||
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
'pretix.event.questionnaire.added',
|
||||
user=self.request.user,
|
||||
auth=self.request.auth,
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
def get_serializer_context(self):
|
||||
ctx = super().get_serializer_context()
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
def perform_update(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
'pretix.event.questionnaire.changed',
|
||||
user=self.request.user,
|
||||
auth=self.request.auth,
|
||||
data=self.request.data
|
||||
)
|
||||
|
||||
def perform_destroy(self, instance):
|
||||
instance.log_action(
|
||||
'pretix.event.questionnaire.deleted',
|
||||
user=self.request.user,
|
||||
auth=self.request.auth,
|
||||
)
|
||||
super().perform_destroy(instance)
|
||||
|
||||
|
||||
class NumberInFilter(django_filters.BaseInFilter, django_filters.NumberFilter):
|
||||
pass
|
||||
|
||||
@@ -586,6 +657,7 @@ class QuotaViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
serializer = self.get_serializer(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -608,6 +680,7 @@ class QuotaViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
ctx['request'] = self.request
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
original_data = self.get_serializer(instance=serializer.instance).data
|
||||
|
||||
@@ -663,6 +736,7 @@ class QuotaViewSet(ConditionalListView, viewsets.ModelViewSet):
|
||||
)
|
||||
serializer.instance.rebuild_cache()
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
instance.log_action(
|
||||
'pretix.event.quota.deleted',
|
||||
|
||||
@@ -394,6 +394,7 @@ class TeamViewSet(viewsets.ModelViewSet):
|
||||
)
|
||||
return inst
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
instance.log_action('pretix.team.deleted', user=self.request.user, auth=self.request.auth)
|
||||
instance.delete()
|
||||
@@ -693,6 +694,7 @@ class MembershipTypeViewSet(viewsets.ModelViewSet):
|
||||
ctx['organizer'] = self.request.organizer
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied("Can only be deleted if unused.")
|
||||
@@ -833,6 +835,7 @@ class SalesChannelViewSet(viewsets.ModelViewSet):
|
||||
)
|
||||
return inst
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if not instance.allow_delete():
|
||||
raise PermissionDenied("Can only be deleted if unused.")
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import django_filters
|
||||
from django.db import transaction
|
||||
from django_filters.rest_framework import DjangoFilterBackend, FilterSet
|
||||
from django_scopes import scopes_disabled
|
||||
from rest_framework import viewsets
|
||||
@@ -62,6 +63,7 @@ class WaitingListViewSet(viewsets.ModelViewSet):
|
||||
ctx['event'] = self.request.event
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
serializer.save(event=self.request.event)
|
||||
serializer.instance.log_action(
|
||||
@@ -70,6 +72,7 @@ class WaitingListViewSet(viewsets.ModelViewSet):
|
||||
auth=self.request.auth,
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
if serializer.instance.voucher:
|
||||
raise PermissionDenied('This entry can not be changed as it has already been assigned a voucher.')
|
||||
@@ -80,6 +83,7 @@ class WaitingListViewSet(viewsets.ModelViewSet):
|
||||
auth=self.request.auth,
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
if instance.voucher:
|
||||
raise PermissionDenied('This entry can not be deleted as it has already been assigned a voucher.')
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import django_filters
|
||||
from django.db import transaction
|
||||
from django_filters.rest_framework import DjangoFilterBackend, FilterSet
|
||||
from rest_framework import viewsets
|
||||
|
||||
@@ -48,6 +49,7 @@ class WebHookViewSet(viewsets.ModelViewSet):
|
||||
ctx['organizer'] = self.request.organizer
|
||||
return ctx
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_create(self, serializer):
|
||||
inst = serializer.save(organizer=self.request.organizer)
|
||||
self.request.organizer.log_action(
|
||||
@@ -57,6 +59,7 @@ class WebHookViewSet(viewsets.ModelViewSet):
|
||||
data=merge_dicts(self.request.data, {'id': inst.pk})
|
||||
)
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_update(self, serializer):
|
||||
inst = serializer.save(organizer=self.request.organizer)
|
||||
self.request.organizer.log_action(
|
||||
@@ -67,6 +70,7 @@ class WebHookViewSet(viewsets.ModelViewSet):
|
||||
)
|
||||
return inst
|
||||
|
||||
@transaction.atomic()
|
||||
def perform_destroy(self, instance):
|
||||
self.request.organizer.log_action(
|
||||
'pretix.webhook.changed',
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
# 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 ipaddress
|
||||
import logging
|
||||
import smtplib
|
||||
import socket
|
||||
@@ -43,6 +42,7 @@ from pretix.base.templatetags.rich_text import (
|
||||
markdown_compile_email, truelink_callback,
|
||||
)
|
||||
from pretix.helpers.format import FormattedString, SafeFormatter, format_map
|
||||
from pretix.helpers.ssrf import should_block_access
|
||||
|
||||
from pretix.base.services.placeholders import ( # noqa
|
||||
get_available_placeholders, PlaceholderContext
|
||||
@@ -57,8 +57,6 @@ logger = logging.getLogger('pretix.base.email')
|
||||
|
||||
T = TypeVar("T", bound=EmailBackend)
|
||||
|
||||
_cgnat_net = ipaddress.ip_network('100.64.0.0/10')
|
||||
|
||||
|
||||
def test_custom_smtp_backend(backend: T, from_addr: str) -> None:
|
||||
try:
|
||||
@@ -254,16 +252,9 @@ def create_connection(address, timeout=socket.getdefaulttimeout(),
|
||||
af, socktype, proto, canonname, sa = res
|
||||
|
||||
if not getattr(settings, "MAIL_CUSTOM_SMTP_ALLOW_PRIVATE_NETWORKS", False):
|
||||
ip_addr = ipaddress.ip_address(sa[0])
|
||||
check_ip4 = ip_addr.ipv4_mapped if getattr(ip_addr, "ipv4_mapped", None) else ip_addr
|
||||
if ip_addr.is_multicast:
|
||||
raise socket.error(f"Request to multicast address {sa[0]} blocked")
|
||||
if ip_addr.is_loopback or ip_addr.is_link_local:
|
||||
raise socket.error(f"Request to local address {sa[0]} blocked")
|
||||
if ip_addr.is_private:
|
||||
raise socket.error(f"Request to private address {sa[0]} blocked")
|
||||
if check_ip4 in _cgnat_net:
|
||||
raise socket.error(f"Request to RFC 6598 address {sa[0]} blocked")
|
||||
is_private, msg = should_block_access(sa)
|
||||
if is_private:
|
||||
raise socket.error(msg)
|
||||
|
||||
sock = None
|
||||
try:
|
||||
|
||||
@@ -40,11 +40,12 @@ from django.utils.translation import gettext as _, gettext_lazy, pgettext_lazy
|
||||
|
||||
from pretix.base.settings import PERSON_NAME_SCHEMES
|
||||
|
||||
from ..exporter import ListExporter, OrganizerLevelExportMixin
|
||||
from ..exporter import MultiSheetListExporter, OrganizerLevelExportMixin
|
||||
from ..models import Membership
|
||||
from ..signals import register_multievent_data_exporters
|
||||
|
||||
|
||||
class CustomerListExporter(OrganizerLevelExportMixin, ListExporter):
|
||||
class CustomerListExporter(OrganizerLevelExportMixin, MultiSheetListExporter):
|
||||
identifier = 'customerlist'
|
||||
verbose_name = gettext_lazy('Customer accounts')
|
||||
category = pgettext_lazy('export_category', 'Customer accounts')
|
||||
@@ -54,13 +55,20 @@ class CustomerListExporter(OrganizerLevelExportMixin, ListExporter):
|
||||
def get_required_organizer_permission(cls) -> str:
|
||||
return 'organizer.customers:write'
|
||||
|
||||
@property
|
||||
def sheets(self):
|
||||
return (
|
||||
('customers', _('Customers')),
|
||||
('memberships', _('Memberships')),
|
||||
)
|
||||
|
||||
@property
|
||||
def additional_form_fields(self):
|
||||
return OrderedDict(
|
||||
[]
|
||||
)
|
||||
|
||||
def iterate_list(self, form_data):
|
||||
def iterate_customers(self, form_data):
|
||||
qs = self.organizer.customers.prefetch_related('provider')
|
||||
|
||||
headers = [
|
||||
@@ -109,6 +117,52 @@ class CustomerListExporter(OrganizerLevelExportMixin, ListExporter):
|
||||
]
|
||||
yield row
|
||||
|
||||
def iterate_memberships(self, form_data):
|
||||
qs = Membership.objects.filter(
|
||||
customer__organizer=self.organizer
|
||||
).prefetch_related('membership_type').select_related('customer', 'granted_in', 'granted_in__order')
|
||||
|
||||
headers = [
|
||||
_('Customer ID'),
|
||||
_('External identifier'),
|
||||
_('Email'),
|
||||
_('Test mode'),
|
||||
_('Canceled'),
|
||||
_('Membership type'),
|
||||
_('Purchase ticket'),
|
||||
_('Start date'),
|
||||
_('Start time'),
|
||||
_('End date'),
|
||||
_('End time'),
|
||||
_('Name'),
|
||||
]
|
||||
name_scheme = PERSON_NAME_SCHEMES[self.organizer.settings.name_scheme]
|
||||
if name_scheme and len(name_scheme['fields']) > 1:
|
||||
for k, label, w in name_scheme['fields']:
|
||||
headers.append(_('Name') + ': ' + str(label))
|
||||
yield headers
|
||||
|
||||
tz = get_current_timezone()
|
||||
for obj in qs:
|
||||
row = [
|
||||
obj.customer.identifier,
|
||||
obj.customer.external_identifier,
|
||||
obj.customer.email or '',
|
||||
_('Yes') if obj.testmode else _('No'),
|
||||
_('Yes') if obj.canceled else _('No'),
|
||||
str(obj.membership_type.name),
|
||||
f'{obj.granted_in.order.code}-{obj.granted_in.positionid}' if obj.granted_in else None,
|
||||
obj.date_start.astimezone(tz).strftime('%Y-%m-%d'),
|
||||
obj.date_start.astimezone(tz).strftime('%H:%M'),
|
||||
obj.date_end.astimezone(tz).strftime('%Y-%m-%d'),
|
||||
obj.date_end.astimezone(tz).strftime('%H:%M'),
|
||||
obj.attendee_name or '',
|
||||
]
|
||||
if name_scheme and len(name_scheme['fields']) > 1:
|
||||
for k, label, w in name_scheme['fields']:
|
||||
row.append(obj.attendee_name_parts.get(k, ''))
|
||||
yield row
|
||||
|
||||
def get_filename(self):
|
||||
return '{}_customers'.format(self.organizer.slug)
|
||||
|
||||
|
||||
+392
-379
@@ -656,7 +656,7 @@ class BaseQuestionsForm(forms.Form):
|
||||
orderpos = self.orderpos = kwargs.pop('orderpos', None)
|
||||
pos = cartpos or orderpos
|
||||
item = pos.item
|
||||
questions = pos.item.questions_to_ask
|
||||
questionnaires = pos.item.relevant_questionnaires
|
||||
event = kwargs.pop('event')
|
||||
self.all_optional = kwargs.pop('all_optional', False)
|
||||
self.attendee_addresses_required = event.settings.attendee_addresses_required and not self.all_optional
|
||||
@@ -664,384 +664,15 @@ class BaseQuestionsForm(forms.Form):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
if cartpos and item.validity_mode == Item.VALIDITY_MODE_DYNAMIC and item.validity_dynamic_start_choice:
|
||||
if item.validity_dynamic_start_choice_day_limit:
|
||||
max_date = time_machine_now().astimezone(event.timezone) + timedelta(days=item.validity_dynamic_start_choice_day_limit)
|
||||
else:
|
||||
max_date = None
|
||||
min_date = time_machine_now()
|
||||
initial = None
|
||||
if (item.require_membership or (pos.variation and pos.variation.require_membership)) and pos.used_membership:
|
||||
if pos.used_membership.date_start >= time_machine_now():
|
||||
initial = min_date = pos.used_membership.date_start
|
||||
max_date = min(max_date, pos.used_membership.date_end) if max_date else pos.used_membership.date_end
|
||||
if item.validity_dynamic_duration_months or item.validity_dynamic_duration_days:
|
||||
attrs = {}
|
||||
if max_date:
|
||||
attrs['data-max'] = max_date.date().isoformat()
|
||||
if min_date:
|
||||
attrs['data-min'] = min_date.date().isoformat()
|
||||
self.fields['requested_valid_from'] = forms.DateField(
|
||||
label=_('Start date'),
|
||||
help_text='' if initial else _('If you keep this empty, the ticket will be valid starting at the time of purchase.'),
|
||||
required=bool(initial),
|
||||
initial=pos.requested_valid_from or initial,
|
||||
widget=DatePickerWidget(attrs),
|
||||
validators=([MaxDateValidator(max_date.date())] if max_date else []) + [MinDateValidator(min_date.date())]
|
||||
)
|
||||
else:
|
||||
self.fields['requested_valid_from'] = forms.SplitDateTimeField(
|
||||
label=_('Start date'),
|
||||
help_text='' if initial else _('If you keep this empty, the ticket will be valid starting at the time of purchase.'),
|
||||
required=bool(initial),
|
||||
initial=pos.requested_valid_from or initial,
|
||||
widget=SplitDateTimePickerWidget(
|
||||
time_format=get_format_without_seconds('TIME_INPUT_FORMATS'),
|
||||
min_date=min_date,
|
||||
max_date=max_date
|
||||
),
|
||||
validators=([MaxDateTimeValidator(max_date)] if max_date else []) + [MinDateTimeValidator(min_date)]
|
||||
)
|
||||
self.fields['requested_valid_from'] = self.build_requested_valid_from_field(event, pos, item)
|
||||
|
||||
add_fields = {}
|
||||
|
||||
if item.ask_attendee_data and event.settings.attendee_names_asked:
|
||||
add_fields['attendee_name_parts'] = NamePartsFormField(
|
||||
max_length=255,
|
||||
required=event.settings.attendee_names_required and not self.all_optional,
|
||||
scheme=event.settings.name_scheme,
|
||||
titles=event.settings.name_scheme_titles,
|
||||
label=_('Attendee name'),
|
||||
initial=(cartpos.attendee_name_parts if cartpos else orderpos.attendee_name_parts),
|
||||
)
|
||||
if item.ask_attendee_data and event.settings.attendee_emails_asked:
|
||||
add_fields['attendee_email'] = forms.EmailField(
|
||||
required=event.settings.attendee_emails_required and not self.all_optional,
|
||||
label=_('Attendee email'),
|
||||
initial=(cartpos.attendee_email if cartpos else orderpos.attendee_email),
|
||||
widget=forms.EmailInput(
|
||||
attrs={
|
||||
'autocomplete': 'email'
|
||||
}
|
||||
)
|
||||
)
|
||||
if item.ask_attendee_data and event.settings.attendee_company_asked:
|
||||
add_fields['company'] = forms.CharField(
|
||||
required=event.settings.attendee_company_required and not self.all_optional,
|
||||
label=_('Company'),
|
||||
max_length=255,
|
||||
initial=(cartpos.company if cartpos else orderpos.company),
|
||||
)
|
||||
|
||||
if item.ask_attendee_data and event.settings.attendee_addresses_asked:
|
||||
add_fields['street'] = forms.CharField(
|
||||
required=self.attendee_addresses_required,
|
||||
label=_('Address'),
|
||||
widget=forms.Textarea(attrs={
|
||||
'rows': 2,
|
||||
'placeholder': _('Street and Number'),
|
||||
'autocomplete': 'street-address'
|
||||
}),
|
||||
initial=(cartpos.street if cartpos else orderpos.street),
|
||||
)
|
||||
add_fields['zipcode'] = forms.CharField(
|
||||
required=False,
|
||||
max_length=30,
|
||||
label=_('ZIP code'),
|
||||
initial=(cartpos.zipcode if cartpos else orderpos.zipcode),
|
||||
widget=forms.TextInput(attrs={
|
||||
'autocomplete': 'postal-code',
|
||||
}),
|
||||
)
|
||||
add_fields['city'] = forms.CharField(
|
||||
required=False,
|
||||
label=_('City'),
|
||||
max_length=255,
|
||||
initial=(cartpos.city if cartpos else orderpos.city),
|
||||
widget=forms.TextInput(attrs={
|
||||
'autocomplete': 'address-level2',
|
||||
}),
|
||||
)
|
||||
country = (cartpos.country if cartpos else orderpos.country) or guess_country_from_request(request, event)
|
||||
add_fields['country'] = CountryField(
|
||||
countries=CachedCountries
|
||||
).formfield(
|
||||
required=self.attendee_addresses_required,
|
||||
label=_('Country'),
|
||||
initial=country,
|
||||
widget=forms.Select(attrs={
|
||||
'autocomplete': 'country',
|
||||
'data-trigger-address-info': 'on',
|
||||
}),
|
||||
)
|
||||
c = [('', '---')]
|
||||
fprefix = str(self.prefix) + '-' if self.prefix is not None and self.prefix != '-' else ''
|
||||
cc = None
|
||||
state = None
|
||||
if fprefix + 'country' in self.data:
|
||||
cc = str(self.data[fprefix + 'country'])
|
||||
elif country:
|
||||
cc = str(country)
|
||||
if cc and cc in COUNTRIES_WITH_STATE_IN_ADDRESS:
|
||||
types, form = COUNTRIES_WITH_STATE_IN_ADDRESS[cc]
|
||||
statelist = [s for s in pycountry.subdivisions.get(country_code=cc) if s.type in types]
|
||||
c += sorted([(s.code[3:], s.name) for s in statelist], key=lambda s: s[1])
|
||||
state = (cartpos.state if cartpos else orderpos.state)
|
||||
elif fprefix + 'state' in self.data:
|
||||
self.data = self.data.copy()
|
||||
del self.data[fprefix + 'state']
|
||||
|
||||
add_fields['state'] = forms.ChoiceField(
|
||||
label=pgettext_lazy('address', 'State'),
|
||||
required=False,
|
||||
choices=c,
|
||||
initial=state,
|
||||
widget=forms.Select(attrs={
|
||||
'autocomplete': 'address-level1',
|
||||
}),
|
||||
)
|
||||
add_fields['state'].widget.is_required = True
|
||||
|
||||
field_positions = list(
|
||||
[
|
||||
(n, event.settings.system_question_order.get(n if n != 'state' else 'country', 0))
|
||||
for n in add_fields.keys()
|
||||
]
|
||||
)
|
||||
|
||||
for q in questions:
|
||||
# Do we already have an answer? Provide it as the initial value
|
||||
answers = [a for a in pos.answerlist if a.question_id == q.id]
|
||||
if answers:
|
||||
initial = answers[0]
|
||||
else:
|
||||
initial = None
|
||||
tz = ZoneInfo(event.settings.timezone)
|
||||
help_text = rich_text(q.help_text)
|
||||
label = escape(q.question) # django-bootstrap3 calls mark_safe
|
||||
required = q.required and not self.all_optional
|
||||
if q.type == Question.TYPE_BOOLEAN:
|
||||
if required:
|
||||
# For some reason, django-bootstrap3 does not set the required attribute
|
||||
# itself.
|
||||
widget = forms.CheckboxInput(attrs={'required': 'required'})
|
||||
else:
|
||||
widget = forms.CheckboxInput()
|
||||
|
||||
if initial:
|
||||
initialbool = (initial.answer == "True")
|
||||
else:
|
||||
initialbool = False
|
||||
|
||||
field = forms.BooleanField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initialbool, widget=widget,
|
||||
)
|
||||
elif q.type == Question.TYPE_NUMBER:
|
||||
field = forms.DecimalField(
|
||||
label=label, required=required,
|
||||
min_value=q.valid_number_min or Decimal('0.00'),
|
||||
max_value=q.valid_number_max,
|
||||
help_text=help_text,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_STRING:
|
||||
field = forms.CharField(
|
||||
label=label, required=required,
|
||||
max_length=q.valid_string_length_max,
|
||||
help_text=help_text,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_TEXT:
|
||||
field = forms.CharField(
|
||||
label=label, required=required,
|
||||
max_length=q.valid_string_length_max,
|
||||
help_text=help_text,
|
||||
widget=forms.Textarea,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_COUNTRYCODE:
|
||||
field = CountryField(
|
||||
countries=CachedCountries,
|
||||
blank=True, null=True, blank_label=' ',
|
||||
).formfield(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
widget=forms.Select,
|
||||
empty_label=' ',
|
||||
initial=initial.answer if initial else (guess_country_from_request(request, event) if required else None),
|
||||
)
|
||||
elif q.type == Question.TYPE_CHOICE:
|
||||
field = forms.ModelChoiceField(
|
||||
queryset=q.options,
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
widget=forms.Select,
|
||||
to_field_name='identifier',
|
||||
empty_label='',
|
||||
initial=initial.options.first() if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_CHOICE_MULTIPLE:
|
||||
field = forms.ModelMultipleChoiceField(
|
||||
queryset=q.options,
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
to_field_name='identifier',
|
||||
widget=QuestionCheckboxSelectMultiple,
|
||||
initial=initial.options.all() if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_FILE:
|
||||
if q.valid_file_portrait:
|
||||
field = PortraitImageField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initial.file if initial else None,
|
||||
widget=PortraitImageWidget(position=pos, event=event, answer=initial, attrs={'data-portrait-photo': 'true'}),
|
||||
)
|
||||
else:
|
||||
field = ExtFileField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initial.file if initial else None,
|
||||
widget=UploadedFileWidget(position=pos, event=event, answer=initial),
|
||||
ext_whitelist=settings.FILE_UPLOAD_EXTENSIONS_OTHER,
|
||||
max_size=settings.FILE_UPLOAD_MAX_SIZE_OTHER,
|
||||
)
|
||||
elif q.type == Question.TYPE_DATE:
|
||||
attrs = {}
|
||||
if q.valid_date_min:
|
||||
attrs['data-min'] = q.valid_date_min.isoformat()
|
||||
if q.valid_date_max:
|
||||
attrs['data-max'] = q.valid_date_max.isoformat()
|
||||
if not help_text:
|
||||
if q.valid_date_min and q.valid_date_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date between {min} and {max}.'),
|
||||
min=date_format(q.valid_date_min, "SHORT_DATE_FORMAT"),
|
||||
max=date_format(q.valid_date_max, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
elif q.valid_date_min:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date no earlier than {min}.'),
|
||||
min=date_format(q.valid_date_min, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
elif q.valid_date_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date no later than {max}.'),
|
||||
max=date_format(q.valid_date_max, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).date()
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
field = forms.DateField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=DatePickerWidget(attrs),
|
||||
)
|
||||
if q.valid_date_min:
|
||||
field.validators.append(MinDateValidator(q.valid_date_min))
|
||||
if q.valid_date_max:
|
||||
field.validators.append(MaxDateValidator(q.valid_date_max))
|
||||
elif q.type == Question.TYPE_TIME:
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).time()
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
field = forms.TimeField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=TimePickerWidget(without_seconds=True),
|
||||
)
|
||||
elif q.type == Question.TYPE_DATETIME:
|
||||
if not help_text:
|
||||
if q.valid_datetime_min and q.valid_datetime_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time between {min} and {max}.'),
|
||||
min=date_format(q.valid_datetime_min, "SHORT_DATETIME_FORMAT"),
|
||||
max=date_format(q.valid_datetime_max, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
elif q.valid_datetime_min:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time no earlier than {min}.'),
|
||||
min=date_format(q.valid_datetime_min, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
elif q.valid_datetime_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time no later than {max}.'),
|
||||
max=date_format(q.valid_datetime_max, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).astimezone(tz)
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
|
||||
field = SplitDateTimeField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=SplitDateTimePickerWidget(
|
||||
time_format=get_format_without_seconds('TIME_INPUT_FORMATS'),
|
||||
min_date=q.valid_datetime_min,
|
||||
max_date=q.valid_datetime_max
|
||||
),
|
||||
)
|
||||
if q.valid_datetime_min:
|
||||
field.validators.append(MinDateTimeValidator(q.valid_datetime_min))
|
||||
if q.valid_datetime_max:
|
||||
field.validators.append(MaxDateTimeValidator(q.valid_datetime_max))
|
||||
elif q.type == Question.TYPE_PHONENUMBER:
|
||||
if initial:
|
||||
try:
|
||||
initial = PhoneNumber().from_string(initial.answer)
|
||||
except NumberParseException:
|
||||
initial = None
|
||||
|
||||
if not initial:
|
||||
phone_prefix = guess_phone_prefix_from_request(request, event)
|
||||
if phone_prefix:
|
||||
initial = "+{}.".format(phone_prefix)
|
||||
|
||||
field = PhoneNumberField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
# We now exploit an implementation detail in PhoneNumberPrefixWidget to allow us to pass just
|
||||
# a country code but no number as an initial value. It's a bit hacky, but should be stable for
|
||||
# the future.
|
||||
initial=initial,
|
||||
widget=WrappedPhoneNumberPrefixWidget()
|
||||
)
|
||||
field.question = q
|
||||
if answers:
|
||||
# Cache the answer object for later use
|
||||
field.answer = answers[0]
|
||||
|
||||
if q.dependency_question_id:
|
||||
field.widget.attrs['data-question-dependency'] = q.dependency_question_id
|
||||
field.widget.attrs['data-question-dependency-values'] = escapejson_attr(json.dumps(q.dependency_values))
|
||||
if q.type != 'M':
|
||||
field.widget.attrs['required'] = q.required and not self.all_optional
|
||||
field._required = q.required and not self.all_optional
|
||||
field.required = False
|
||||
|
||||
add_fields['question_%s' % q.id] = field
|
||||
field_positions.append(('question_%s' % q.id, q.position))
|
||||
|
||||
field_positions.sort(key=lambda e: e[1])
|
||||
for fname, p in field_positions:
|
||||
self.fields[fname] = add_fields[fname]
|
||||
for questionnaire in questionnaires:
|
||||
for child in getattr(questionnaire, 'childlist', questionnaire.children.all()):
|
||||
if child.user_question:
|
||||
q = child.user_question
|
||||
self.fields['question_%s' % q.id] = self.build_user_question_field(request, event, pos, q)
|
||||
elif child.system_question:
|
||||
self.fields[child.system_question] = self.build_system_question_field(request, event, pos, child)
|
||||
|
||||
responses = question_form_fields.send(sender=event, position=pos)
|
||||
data = pos.meta_info_data
|
||||
@@ -1066,6 +697,388 @@ class BaseQuestionsForm(forms.Form):
|
||||
else:
|
||||
v.widget.attrs['autocomplete'] = 'section-{} '.format(self.prefix) + autocomplete
|
||||
|
||||
def build_requested_valid_from_field(self, event, pos, item):
|
||||
if item.validity_dynamic_start_choice_day_limit:
|
||||
max_date = time_machine_now().astimezone(event.timezone) + timedelta(days=item.validity_dynamic_start_choice_day_limit)
|
||||
else:
|
||||
max_date = None
|
||||
min_date = time_machine_now()
|
||||
initial = None
|
||||
if (item.require_membership or (pos.variation and pos.variation.require_membership)) and pos.used_membership:
|
||||
if pos.used_membership.date_start >= time_machine_now():
|
||||
initial = min_date = pos.used_membership.date_start
|
||||
max_date = min(max_date, pos.used_membership.date_end) if max_date else pos.used_membership.date_end
|
||||
if item.validity_dynamic_duration_months or item.validity_dynamic_duration_days:
|
||||
attrs = {}
|
||||
if max_date:
|
||||
attrs['data-max'] = max_date.date().isoformat()
|
||||
if min_date:
|
||||
attrs['data-min'] = min_date.date().isoformat()
|
||||
return forms.DateField(
|
||||
label=_('Start date'),
|
||||
help_text='' if initial else _('If you keep this empty, the ticket will be valid starting at the time of purchase.'),
|
||||
required=bool(initial),
|
||||
initial=pos.requested_valid_from or initial,
|
||||
widget=DatePickerWidget(attrs),
|
||||
validators=([MaxDateValidator(max_date.date())] if max_date else []) + [MinDateValidator(min_date.date())]
|
||||
)
|
||||
else:
|
||||
return forms.SplitDateTimeField(
|
||||
label=_('Start date'),
|
||||
help_text='' if initial else _('If you keep this empty, the ticket will be valid starting at the time of purchase.'),
|
||||
required=bool(initial),
|
||||
initial=pos.requested_valid_from or initial,
|
||||
widget=SplitDateTimePickerWidget(
|
||||
time_format=get_format_without_seconds('TIME_INPUT_FORMATS'),
|
||||
min_date=min_date,
|
||||
max_date=max_date
|
||||
),
|
||||
validators=([MaxDateTimeValidator(max_date)] if max_date else []) + [MinDateTimeValidator(min_date)]
|
||||
)
|
||||
|
||||
def build_system_question_field(self, request, event, pos, qc):
|
||||
field_name = qc.system_question
|
||||
if field_name == 'attendee_name_parts':
|
||||
return NamePartsFormField(
|
||||
max_length=255,
|
||||
required=qc.required and not self.all_optional,
|
||||
scheme=event.settings.name_scheme,
|
||||
titles=event.settings.name_scheme_titles,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
initial=pos.attendee_name_parts,
|
||||
)
|
||||
if field_name == 'attendee_email':
|
||||
return forms.EmailField(
|
||||
required=qc.required and not self.all_optional,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
initial=pos.attendee_email,
|
||||
widget=forms.EmailInput(
|
||||
attrs={
|
||||
'autocomplete': 'email'
|
||||
}
|
||||
)
|
||||
)
|
||||
if field_name == 'company':
|
||||
return forms.CharField(
|
||||
required=qc.required and not self.all_optional,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
max_length=255,
|
||||
initial=pos.company,
|
||||
)
|
||||
|
||||
if field_name == 'street':
|
||||
return forms.CharField(
|
||||
required=qc.required and not self.all_optional,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
widget=forms.Textarea(attrs={
|
||||
'rows': 2,
|
||||
'placeholder': _('Street and Number'),
|
||||
'autocomplete': 'street-address'
|
||||
}),
|
||||
initial=pos.street,
|
||||
)
|
||||
if field_name == 'zipcode':
|
||||
return forms.CharField(
|
||||
required=False,
|
||||
max_length=30,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
initial=pos.zipcode,
|
||||
widget=forms.TextInput(attrs={
|
||||
'autocomplete': 'postal-code',
|
||||
}),
|
||||
)
|
||||
if field_name == 'city':
|
||||
return forms.CharField(
|
||||
required=False,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
max_length=255,
|
||||
initial=pos.city,
|
||||
widget=forms.TextInput(attrs={
|
||||
'autocomplete': 'address-level2',
|
||||
}),
|
||||
)
|
||||
if field_name == 'country':
|
||||
country = pos.country or guess_country_from_request(request, event)
|
||||
return CountryField(
|
||||
countries=CachedCountries
|
||||
).formfield(
|
||||
required=qc.required and not self.all_optional,
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
initial=country,
|
||||
widget=forms.Select(attrs={
|
||||
'autocomplete': 'country',
|
||||
'data-trigger-address-info': 'on',
|
||||
}),
|
||||
)
|
||||
if field_name == 'state':
|
||||
country = pos.country or guess_country_from_request(request, event)
|
||||
c = [('', '---')]
|
||||
fprefix = str(self.prefix) + '-' if self.prefix is not None and self.prefix != '-' else ''
|
||||
cc = None
|
||||
state = None
|
||||
if fprefix + 'country' in self.data:
|
||||
cc = str(self.data[fprefix + 'country'])
|
||||
elif country:
|
||||
cc = str(country)
|
||||
if cc and cc in COUNTRIES_WITH_STATE_IN_ADDRESS:
|
||||
types, form = COUNTRIES_WITH_STATE_IN_ADDRESS[cc]
|
||||
statelist = [s for s in pycountry.subdivisions.get(country_code=cc) if s.type in types]
|
||||
c += sorted([(s.code[3:], s.name) for s in statelist], key=lambda s: s[1])
|
||||
state = (pos.state)
|
||||
elif fprefix + 'state' in self.data:
|
||||
self.data = self.data.copy()
|
||||
del self.data[fprefix + 'state']
|
||||
|
||||
field = forms.ChoiceField(
|
||||
label=qc.label,
|
||||
help_text=qc.help_text,
|
||||
required=False,
|
||||
choices=c,
|
||||
initial=state,
|
||||
widget=forms.Select(attrs={
|
||||
'autocomplete': 'address-level1',
|
||||
}),
|
||||
)
|
||||
field.widget.is_required = True
|
||||
return field
|
||||
|
||||
def build_user_question_field(self, request, event, pos, q):
|
||||
# Do we already have an answer? Provide it as the initial value
|
||||
answers = [a for a in pos.answerlist if a.question_id == q.id]
|
||||
if answers:
|
||||
initial = answers[0]
|
||||
else:
|
||||
initial = None
|
||||
tz = ZoneInfo(event.settings.timezone)
|
||||
help_text = rich_text(q.help_text)
|
||||
label = escape(q.question) # django-bootstrap3 calls mark_safe
|
||||
required = q.required and not self.all_optional
|
||||
if q.type == Question.TYPE_BOOLEAN:
|
||||
if required:
|
||||
# For some reason, django-bootstrap3 does not set the required attribute
|
||||
# itself.
|
||||
widget = forms.CheckboxInput(attrs={'required': 'required'})
|
||||
else:
|
||||
widget = forms.CheckboxInput()
|
||||
|
||||
if initial:
|
||||
initialbool = (initial.answer == "True")
|
||||
else:
|
||||
initialbool = False
|
||||
|
||||
field = forms.BooleanField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initialbool, widget=widget,
|
||||
)
|
||||
elif q.type == Question.TYPE_NUMBER:
|
||||
field = forms.DecimalField(
|
||||
label=label, required=required,
|
||||
min_value=q.valid_number_min or Decimal('0.00'),
|
||||
max_value=q.valid_number_max,
|
||||
help_text=help_text,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_STRING:
|
||||
field = forms.CharField(
|
||||
label=label, required=required,
|
||||
max_length=q.valid_string_length_max,
|
||||
help_text=help_text,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_TEXT:
|
||||
field = forms.CharField(
|
||||
label=label, required=required,
|
||||
max_length=q.valid_string_length_max,
|
||||
help_text=help_text,
|
||||
widget=forms.Textarea,
|
||||
initial=initial.answer if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_COUNTRYCODE:
|
||||
field = CountryField(
|
||||
countries=CachedCountries,
|
||||
blank=True, null=True, blank_label=' ',
|
||||
).formfield(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
widget=forms.Select,
|
||||
empty_label=' ',
|
||||
initial=initial.answer if initial else (guess_country_from_request(request, event) if required else None),
|
||||
)
|
||||
elif q.type == Question.TYPE_CHOICE:
|
||||
field = forms.ModelChoiceField(
|
||||
queryset=q.options,
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
widget=forms.Select,
|
||||
to_field_name='identifier',
|
||||
empty_label='',
|
||||
initial=initial.options.first() if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_CHOICE_MULTIPLE:
|
||||
field = forms.ModelMultipleChoiceField(
|
||||
queryset=q.options,
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
to_field_name='identifier',
|
||||
widget=QuestionCheckboxSelectMultiple,
|
||||
initial=initial.options.all() if initial else None,
|
||||
)
|
||||
elif q.type == Question.TYPE_FILE:
|
||||
if q.valid_file_portrait:
|
||||
field = PortraitImageField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initial.file if initial else None,
|
||||
widget=PortraitImageWidget(position=pos, event=event, answer=initial, attrs={'data-portrait-photo': 'true'}),
|
||||
)
|
||||
else:
|
||||
field = ExtFileField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=initial.file if initial else None,
|
||||
widget=UploadedFileWidget(position=pos, event=event, answer=initial),
|
||||
ext_whitelist=settings.FILE_UPLOAD_EXTENSIONS_OTHER,
|
||||
max_size=settings.FILE_UPLOAD_MAX_SIZE_OTHER,
|
||||
)
|
||||
elif q.type == Question.TYPE_DATE:
|
||||
attrs = {}
|
||||
if q.valid_date_min:
|
||||
attrs['data-min'] = q.valid_date_min.isoformat()
|
||||
if q.valid_date_max:
|
||||
attrs['data-max'] = q.valid_date_max.isoformat()
|
||||
if not help_text:
|
||||
if q.valid_date_min and q.valid_date_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date between {min} and {max}.'),
|
||||
min=date_format(q.valid_date_min, "SHORT_DATE_FORMAT"),
|
||||
max=date_format(q.valid_date_max, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
elif q.valid_date_min:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date no earlier than {min}.'),
|
||||
min=date_format(q.valid_date_min, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
elif q.valid_date_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date no later than {max}.'),
|
||||
max=date_format(q.valid_date_max, "SHORT_DATE_FORMAT"),
|
||||
)
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).date()
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
field = forms.DateField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=DatePickerWidget(attrs),
|
||||
)
|
||||
if q.valid_date_min:
|
||||
field.validators.append(MinDateValidator(q.valid_date_min))
|
||||
if q.valid_date_max:
|
||||
field.validators.append(MaxDateValidator(q.valid_date_max))
|
||||
elif q.type == Question.TYPE_TIME:
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).time()
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
field = forms.TimeField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=TimePickerWidget(without_seconds=True),
|
||||
)
|
||||
elif q.type == Question.TYPE_DATETIME:
|
||||
if not help_text:
|
||||
if q.valid_datetime_min and q.valid_datetime_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time between {min} and {max}.'),
|
||||
min=date_format(q.valid_datetime_min, "SHORT_DATETIME_FORMAT"),
|
||||
max=date_format(q.valid_datetime_max, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
elif q.valid_datetime_min:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time no earlier than {min}.'),
|
||||
min=date_format(q.valid_datetime_min, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
elif q.valid_datetime_max:
|
||||
help_text = format_lazy(
|
||||
_('Please enter a date and time no later than {max}.'),
|
||||
max=date_format(q.valid_datetime_max, "SHORT_DATETIME_FORMAT"),
|
||||
)
|
||||
|
||||
if initial and initial.answer:
|
||||
try:
|
||||
_initial = dateutil.parser.parse(initial.answer).astimezone(tz)
|
||||
except dateutil.parser.ParserError:
|
||||
_initial = None
|
||||
else:
|
||||
_initial = None
|
||||
|
||||
field = SplitDateTimeField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
initial=_initial,
|
||||
widget=SplitDateTimePickerWidget(
|
||||
time_format=get_format_without_seconds('TIME_INPUT_FORMATS'),
|
||||
min_date=q.valid_datetime_min,
|
||||
max_date=q.valid_datetime_max
|
||||
),
|
||||
)
|
||||
if q.valid_datetime_min:
|
||||
field.validators.append(MinDateTimeValidator(q.valid_datetime_min))
|
||||
if q.valid_datetime_max:
|
||||
field.validators.append(MaxDateTimeValidator(q.valid_datetime_max))
|
||||
elif q.type == Question.TYPE_PHONENUMBER:
|
||||
if initial:
|
||||
try:
|
||||
initial = PhoneNumber().from_string(initial.answer)
|
||||
except NumberParseException:
|
||||
initial = None
|
||||
|
||||
if not initial:
|
||||
phone_prefix = guess_phone_prefix_from_request(request, event)
|
||||
if phone_prefix:
|
||||
initial = "+{}.".format(phone_prefix)
|
||||
|
||||
field = PhoneNumberField(
|
||||
label=label, required=required,
|
||||
help_text=help_text,
|
||||
# We now exploit an implementation detail in PhoneNumberPrefixWidget to allow us to pass just
|
||||
# a country code but no number as an initial value. It's a bit hacky, but should be stable for
|
||||
# the future.
|
||||
initial=initial,
|
||||
widget=WrappedPhoneNumberPrefixWidget()
|
||||
)
|
||||
field.question = q
|
||||
if answers:
|
||||
# Cache the answer object for later use
|
||||
field.answer = answers[0]
|
||||
|
||||
if q.dependency_question_id:
|
||||
field.widget.attrs['data-question-dependency'] = q.dependency_question_id
|
||||
field.widget.attrs['data-question-dependency-values'] = escapejson_attr(json.dumps(q.dependency_values))
|
||||
if q.type != 'M':
|
||||
field.widget.attrs['required'] = q.required and not self.all_optional
|
||||
field._required = q.required and not self.all_optional
|
||||
field.required = False
|
||||
|
||||
return field
|
||||
|
||||
def clean(self):
|
||||
from pretix.base.addressvalidation import \
|
||||
validate_address # local import to prevent impact on startup time
|
||||
@@ -1121,7 +1134,7 @@ class BaseQuestionsForm(forms.Form):
|
||||
for q in question_cache.values():
|
||||
if q.required and q.type == Question.TYPE_BOOLEAN:
|
||||
if 'question_%d' % q.pk in d and d['question_%d' % q.pk] is False:
|
||||
del d['question_%d' % q.pk]
|
||||
d['question_%d' % q.pk] = None
|
||||
|
||||
return d
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
# 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 base64
|
||||
import hashlib
|
||||
import logging
|
||||
import re
|
||||
from collections import OrderedDict
|
||||
@@ -312,7 +314,28 @@ def _merge_csp(a, b):
|
||||
for k, v in a.items():
|
||||
if "'unsafe-inline'" in v:
|
||||
# If we need unsafe-inline, drop any hashes or nonce as they will be ignored otherwise
|
||||
a[k] = [i for i in v if not i.startswith("'nonce-") and not i.startswith("'sha-")]
|
||||
a[k] = [i for i in v if not i.startswith("'nonce-") and not i.startswith("'sha256-")]
|
||||
|
||||
|
||||
def add_to_response_csp(response, csp_to_merge):
|
||||
if "Content-Security-Policy" in response:
|
||||
csp = _parse_csp(response["Content-Security-Policy"])
|
||||
else:
|
||||
csp = {}
|
||||
|
||||
_merge_csp(csp, csp_to_merge)
|
||||
|
||||
if csp:
|
||||
response["Content-Security-Policy"] = _render_csp(csp)
|
||||
|
||||
|
||||
def add_to_response_csp_via_request(request, csp_to_merge):
|
||||
_merge_csp(request._csp_to_merge, csp_to_merge)
|
||||
|
||||
|
||||
def calculate_csp_hash(data):
|
||||
hash_str = base64.b64encode(hashlib.sha256(data.encode("utf-8")).digest()).decode("ascii")
|
||||
return f"'sha256-{hash_str}'"
|
||||
|
||||
|
||||
class SecurityMiddleware(MiddlewareMixin):
|
||||
@@ -332,6 +355,9 @@ class SecurityMiddleware(MiddlewareMixin):
|
||||
# but at the moment it does not seem to be an issue to just send it.
|
||||
)
|
||||
|
||||
def process_request(self, request):
|
||||
request._csp_to_merge = {}
|
||||
|
||||
def process_response(self, request, resp):
|
||||
if settings.DEBUG and resp.status_code >= 400:
|
||||
# Don't use CSP on debug error page as it breaks of Django's fancy error
|
||||
@@ -343,18 +369,22 @@ class SecurityMiddleware(MiddlewareMixin):
|
||||
# https://github.com/pretix/pretix/issues/765
|
||||
resp['P3P'] = 'CP=\"ALL DSP COR CUR ADM TAI OUR IND COM NAV INT\"'
|
||||
|
||||
if "Content-Type" in resp and resp["Content-Type"].split(";")[0] in self.SAFE_TYPES:
|
||||
if 'Content-Security-Policy' in resp:
|
||||
del resp['Content-Security-Policy']
|
||||
return resp
|
||||
|
||||
if not getattr(resp, '_csp_ignore', False):
|
||||
if self._needs_csp(request, resp):
|
||||
resp['Content-Security-Policy'] = _render_csp(self._build_csp(request, resp))
|
||||
elif 'Content-Security-Policy' in resp:
|
||||
del resp['Content-Security-Policy']
|
||||
|
||||
return resp
|
||||
|
||||
def _needs_csp(self, request, resp):
|
||||
if "Content-Type" in resp and resp["Content-Type"].split(";")[0] in self.SAFE_TYPES:
|
||||
return False
|
||||
|
||||
if getattr(resp, '_csp_ignore', False):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
def _build_csp(self, request, resp):
|
||||
url = resolve(request.path_info)
|
||||
|
||||
@@ -387,13 +417,6 @@ class SecurityMiddleware(MiddlewareMixin):
|
||||
h['style-src'] += ["'unsafe-inline'"]
|
||||
h['connect-src'] += ["http://localhost:5173", "ws://localhost:5173"]
|
||||
|
||||
if hasattr(request, 'csp_nonce'):
|
||||
nonce = f"'nonce-{request.csp_nonce}'"
|
||||
h['script-src'].append(nonce)
|
||||
if not settings.VITE_DEV_MODE:
|
||||
# can't have 'unsafe-inline' and nonce at the same time
|
||||
h['style-src'].append(nonce)
|
||||
|
||||
# Only include pay.google.com for wallet detection purposes on the Payment selection page
|
||||
if (
|
||||
url.url_name == "event.order.pay.change" or
|
||||
@@ -406,6 +429,9 @@ class SecurityMiddleware(MiddlewareMixin):
|
||||
if settings.LOG_CSP:
|
||||
h['report-uri'] = ["/csp_report/"]
|
||||
|
||||
if request._csp_to_merge:
|
||||
_merge_csp(h, request._csp_to_merge)
|
||||
|
||||
if 'Content-Security-Policy' in resp:
|
||||
_merge_csp(h, _parse_csp(resp['Content-Security-Policy']))
|
||||
|
||||
@@ -471,8 +497,16 @@ class RejectInvalidInputMiddleware(MiddlewareMixin):
|
||||
if "\x00" in request.META['QUERY_STRING'] or "%00" in request.META['QUERY_STRING']:
|
||||
raise BadRequest("Invalid characters in input.")
|
||||
if request.method in ('POST', 'PUT', 'PATCH') and request.content_type == "application/x-www-form-urlencoded":
|
||||
if any("\x00" in value for key, value_list in request.POST.lists() for value in value_list):
|
||||
raise BadRequest("Invalid characters in input.")
|
||||
try:
|
||||
post_data = request.POST.lists()
|
||||
except BadRequest:
|
||||
# Reading request.POST wasn't possible, probably an invalid charset. Django will crash once we actually
|
||||
# use request.POST, but if we don't, let's not crash it (required for some weird payment provider
|
||||
# webhooks, e.g. computop).
|
||||
pass
|
||||
else:
|
||||
if any("\x00" in value for key, value_list in post_data for value in value_list):
|
||||
raise BadRequest("Invalid characters in input.")
|
||||
|
||||
|
||||
class CustomCommonMiddleware(CommonMiddleware):
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
# Generated by Django 5.2.16 on 2026-08-05 08:00
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
import pretix.helpers.database
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
("pretixbase", "0306_alter_eventmetaproperty_unique_together"),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name="DeviceLastSeen",
|
||||
fields=[
|
||||
(
|
||||
"id",
|
||||
models.BigAutoField(
|
||||
auto_created=True, primary_key=True, serialize=False
|
||||
),
|
||||
),
|
||||
("last_seen", models.DateTimeField(auto_now=True)),
|
||||
(
|
||||
"device",
|
||||
models.OneToOneField(
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
to="pretixbase.device",
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
migrations.AddIndex(
|
||||
model_name="devicelastseen",
|
||||
index=pretix.helpers.database.BrinIndexIgnoredOnSQLite(
|
||||
models.F("last_seen"),
|
||||
autosummarize=True,
|
||||
name="pretixbase_device_last_seen",
|
||||
),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,175 @@
|
||||
# Generated by Django 4.2.29 on 2026-03-19 14:24
|
||||
import json
|
||||
from collections import namedtuple
|
||||
from itertools import chain, groupby
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import i18nfield.fields
|
||||
from i18nfield.strings import LazyI18nString
|
||||
|
||||
import pretix.base.models.base
|
||||
import pretix.base.models.fields
|
||||
|
||||
|
||||
FakeQuestion = namedtuple(
|
||||
'FakeQuestion', 'id question position required'
|
||||
)
|
||||
|
||||
|
||||
def get_fake_questions(settings):
|
||||
def b(s):
|
||||
return s == 'True'
|
||||
fq = []
|
||||
sqo = json.loads(settings.get('system_question_order', '{}'))
|
||||
_ = LazyI18nString.from_gettext
|
||||
|
||||
if b(settings.get('attendee_names_asked', 'True')):
|
||||
fq.append(FakeQuestion('attendee_name_parts', _('Attendee name'), sqo.get('attendee_name_parts', 0), b(settings.get('attendee_names_required'))))
|
||||
|
||||
if b(settings.get('attendee_emails_asked')):
|
||||
fq.append(FakeQuestion('attendee_email', _('Attendee email'), sqo.get('attendee_email', 0), b(settings.get('attendee_emails_required'))))
|
||||
|
||||
if b(settings.get('attendee_company_asked')):
|
||||
fq.append(FakeQuestion('company', _('Company'), sqo.get('company', 0), b(settings.get('attendee_company_required'))))
|
||||
|
||||
if b(settings.get('attendee_addresses_asked')):
|
||||
fq.append(FakeQuestion('street', _('Street'), sqo.get('street', 0), b(settings.get('attendee_addresses_required'))))
|
||||
fq.append(FakeQuestion('zipcode', _('ZIP code'), sqo.get('zipcode', 0), b(settings.get('attendee_addresses_required'))))
|
||||
fq.append(FakeQuestion('city', _('City'), sqo.get('city', 0), b(settings.get('attendee_addresses_required'))))
|
||||
fq.append(FakeQuestion('country', _('Country'), sqo.get('country', 0), b(settings.get('attendee_addresses_required'))))
|
||||
return fq
|
||||
|
||||
|
||||
def migrate_questions_forward(apps, schema_editor):
|
||||
Event = apps.get_model("pretixbase", "Event")
|
||||
Item = apps.get_model("pretixbase", "Item")
|
||||
Question = apps.get_model("pretixbase", "Question")
|
||||
Questionnaire = apps.get_model("pretixbase", "Questionnaire")
|
||||
QuestionnaireChild = apps.get_model("pretixbase", "QuestionnaireChild")
|
||||
EventSettingsStore = apps.get_model('pretixbase', 'Event_SettingsStore')
|
||||
|
||||
def create_grouped_item_questionnaires(event, children, label_prefix, questionnaire_type):
|
||||
# group by item, creating a unique questionnaire per item
|
||||
item_questionnaires = (([t[3] for t in children], item_id) for item_id, children in
|
||||
groupby(children, key=lambda t: t[0]))
|
||||
|
||||
# group again, merging all questionnaires with identical children
|
||||
merged_questionnaires = groupby(sorted(item_questionnaires, key=lambda t: [q.id for q in t[0]]),
|
||||
key=lambda t: t[0])
|
||||
for children, iterator in merged_questionnaires:
|
||||
items = [item for _c, item in iterator]
|
||||
|
||||
# create questionnaires and children
|
||||
questionnaire = Questionnaire.objects.create(
|
||||
event=event, type=questionnaire_type, position=0, all_sales_channels=True,
|
||||
internal_name=label_prefix + ', '.join(str(iname or name) for (id, iname, name) in items)
|
||||
)
|
||||
questionnaire.items.set([id for (id, iname, name) in items])
|
||||
deps = {}
|
||||
for position, child in enumerate(children):
|
||||
if isinstance(child, FakeQuestion):
|
||||
QuestionnaireChild.objects.create(
|
||||
questionnaire=questionnaire,
|
||||
position=position + 1,
|
||||
system_question=child.id,
|
||||
required=child.required,
|
||||
label=child.question,
|
||||
)
|
||||
else:
|
||||
deps[child.id] = QuestionnaireChild.objects.create(
|
||||
questionnaire=questionnaire,
|
||||
position=position + 1,
|
||||
user_question=child,
|
||||
required=child.required,
|
||||
label=child.question,
|
||||
help_text=child.help_text,
|
||||
dependency_question=deps[child.dependency_question.id] if child.dependency_question else None,
|
||||
dependency_values=child.dependency_values,
|
||||
)
|
||||
|
||||
for event in Event.objects.iterator():
|
||||
# get relevant settings
|
||||
settings = {
|
||||
setting.key: setting.value for setting in EventSettingsStore.objects.filter(object_id=event.id, key__in=(
|
||||
'system_question_order', 'attendee_names_asked', 'attendee_names_required', 'attendee_emails_asked', 'attendee_emails_required',
|
||||
'attendee_company_asked', 'attendee_company_required', 'attendee_addresses_asked', 'attendee_addresses_required',
|
||||
))
|
||||
}
|
||||
|
||||
# get all questions (user-defined and system provided), along with the products for which they're asked
|
||||
questions = event.questions.all()
|
||||
children = sorted(chain((
|
||||
(item, q.position, q.id, q)
|
||||
for q in questions.filter(hidden=False)
|
||||
for item in q.items.values_list('id', 'internal_name', 'name')
|
||||
), (
|
||||
(item, q.position, 0, q)
|
||||
for q in get_fake_questions(settings)
|
||||
for item in event.items.filter(personalized=True).values_list('id', 'internal_name', 'name')
|
||||
)), key=lambda t: (t[0], t[1], t[2]))
|
||||
|
||||
create_grouped_item_questionnaires(event, children, '', 'PS')
|
||||
|
||||
children = sorted(chain((
|
||||
(item, q.position, q.id, q)
|
||||
for q in questions.filter(hidden=True)
|
||||
for item in q.items.values_list('id', 'internal_name', 'name')
|
||||
)), key=lambda t: (t[0], t[1], t[2]))
|
||||
|
||||
create_grouped_item_questionnaires(event, children, 'Hidden questions for ', 'PH')
|
||||
|
||||
|
||||
def migrate_questions_backward(apps, schema_editor):
|
||||
pass # as long as we don't delete the old columns, this is a no op. after that, it gets complicated...
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('pretixbase', '0307_devicelastseen'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Questionnaire',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
|
||||
('internal_name', models.CharField(max_length=255)),
|
||||
('type', models.CharField(max_length=5)),
|
||||
('position', models.PositiveIntegerField(default=0)),
|
||||
('all_sales_channels', models.BooleanField(default=True)),
|
||||
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='questionnaires', to='pretixbase.event')),
|
||||
('items', models.ManyToManyField(related_name='questionnaires', to='pretixbase.item')),
|
||||
('limit_sales_channels', models.ManyToManyField(to='pretixbase.saleschannel')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
bases=(models.Model, pretix.base.models.base.LoggingMixin),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='QuestionnaireChild',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False)),
|
||||
('position', models.PositiveIntegerField(default=0)),
|
||||
('system_question', models.CharField(max_length=25, null=True)),
|
||||
('required', models.BooleanField(default=False)),
|
||||
('label', i18nfield.fields.I18nTextField()),
|
||||
('help_text', i18nfield.fields.I18nTextField(null=True)),
|
||||
('dependency_values', pretix.base.models.fields.MultiStringField(default=[])),
|
||||
('dependency_question', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='dependent_questions', to='pretixbase.questionnairechild')),
|
||||
('questionnaire', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='children', to='pretixbase.questionnaire')),
|
||||
('user_question', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='references', to='pretixbase.question')),
|
||||
],
|
||||
options={
|
||||
'abstract': False,
|
||||
},
|
||||
bases=(models.Model, pretix.base.models.base.LoggingMixin),
|
||||
),
|
||||
migrations.RunPython(
|
||||
migrate_questions_forward,
|
||||
migrate_questions_backward,
|
||||
),
|
||||
# TODO remove old columns from Question model
|
||||
]
|
||||
@@ -37,7 +37,7 @@ from .invoices import Invoice, InvoiceLine, invoice_filename
|
||||
from .items import (
|
||||
Item, ItemAddOn, ItemBundle, ItemCategory, ItemMetaProperty, ItemMetaValue,
|
||||
ItemProgramTime, ItemVariation, ItemVariationMetaValue, Question,
|
||||
QuestionOption, Quota, SubEventItem, SubEventItemVariation,
|
||||
QuestionOption, Questionnaire, QuestionnaireChild, Quota, SubEventItem, SubEventItemVariation,
|
||||
itempicture_upload_to,
|
||||
)
|
||||
from .log import LogEntry
|
||||
|
||||
@@ -20,11 +20,13 @@
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import string
|
||||
from datetime import timedelta
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db import models
|
||||
from django.db.models import Max
|
||||
from django.utils.crypto import get_random_string
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_scopes import ScopedManager, scopes_disabled
|
||||
|
||||
@@ -32,6 +34,7 @@ from pretix.base.models import LoggedModel
|
||||
from pretix.base.permissions import (
|
||||
AnyPermissionOf, assert_valid_event_permission,
|
||||
)
|
||||
from pretix.helpers import BrinIndexIgnoredOnSQLite
|
||||
|
||||
|
||||
@scopes_disabled()
|
||||
@@ -287,3 +290,27 @@ class Device(LoggedModel):
|
||||
return self.get_events_with_any_permission()
|
||||
else:
|
||||
return self.organizer.events.none()
|
||||
|
||||
|
||||
class DeviceLastSeen(models.Model):
|
||||
# This is a separate model since we expect it to get A LOT of writes and PostgreSQL always
|
||||
# writes full rows and then needs to update all indexes on the row, so this is going to save a
|
||||
# lot of write traffic on the databse
|
||||
device = models.OneToOneField("Device", on_delete=models.CASCADE, related_name="last_seen")
|
||||
last_seen = models.DateTimeField(auto_now=True)
|
||||
|
||||
class Meta:
|
||||
indexes = [
|
||||
BrinIndexIgnoredOnSQLite(
|
||||
# BRIN indexes are highly efficient on lots of updates, especially of chronological data
|
||||
# and especially if we later want to query them by range, as we likely want to.
|
||||
"last_seen",
|
||||
name="pretixbase_device_last_seen",
|
||||
autosummarize=True
|
||||
)
|
||||
]
|
||||
|
||||
@property
|
||||
def is_recent(self):
|
||||
# pretixSCAN/pretixPOS sync every 5 minutes, so 7 minutes can be considered "offline"
|
||||
return now() - self.last_seen < timedelta(minutes=7)
|
||||
|
||||
@@ -238,6 +238,9 @@ class EventMixin:
|
||||
|
||||
@property
|
||||
def timezone(self):
|
||||
# If we get rid of the shim, verify that
|
||||
# https://github.com/py-vobject/vobject/issues/117#issuecomment-5045645314
|
||||
# has been released and included
|
||||
return pytz_deprecation_shim.timezone(self.settings.timezone)
|
||||
|
||||
@property
|
||||
|
||||
+117
-16
@@ -1569,10 +1569,12 @@ class ItemBundle(models.Model):
|
||||
|
||||
class Question(LoggedModel):
|
||||
"""
|
||||
A question is an input field that can be used to extend a ticket by custom information,
|
||||
e.g. "Attendee age". The answers are found next to the position. The answers may be found
|
||||
in QuestionAnswers, attached to OrderPositions/CartPositions. A question can allow one of
|
||||
several input types, currently:
|
||||
A question is a data field that can be used to extend an order or a ticket by custom
|
||||
information, e.g. "Attendee age". To be actually useful, questions need to be added to
|
||||
one or multiple Questionnaires. The answers may be found in QuestionAnswers, attached
|
||||
to Orders, OrderPositions or CartPositions.
|
||||
|
||||
A question can allow one of several input types, currently:
|
||||
|
||||
* a number (``TYPE_NUMBER``)
|
||||
* a one-line string (``TYPE_STRING``)
|
||||
@@ -1641,7 +1643,7 @@ class Question(LoggedModel):
|
||||
related_name="questions",
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
question = I18nTextField(
|
||||
question = I18nTextField( # to be renamed to 'internal_name'
|
||||
verbose_name=_("Question")
|
||||
)
|
||||
identifier = models.CharField(
|
||||
@@ -1656,7 +1658,7 @@ class Question(LoggedModel):
|
||||
),
|
||||
],
|
||||
)
|
||||
help_text = I18nTextField(
|
||||
help_text = I18nTextField( # to be removed
|
||||
verbose_name=_("Help text"),
|
||||
help_text=_("If the question needs to be explained or clarified, do it here!"),
|
||||
null=True, blank=True,
|
||||
@@ -1666,22 +1668,22 @@ class Question(LoggedModel):
|
||||
choices=TYPE_CHOICES,
|
||||
verbose_name=_("Question type")
|
||||
)
|
||||
required = models.BooleanField(
|
||||
required = models.BooleanField( # to be removed, -> QuestionnaireChild
|
||||
default=False,
|
||||
verbose_name=_("Required question")
|
||||
)
|
||||
items = models.ManyToManyField(
|
||||
items = models.ManyToManyField( # to be removed, -> Questionnaire
|
||||
Item,
|
||||
related_name='questions',
|
||||
verbose_name=_("Products"),
|
||||
blank=True,
|
||||
help_text=_('This question will be asked to buyers of the selected products')
|
||||
)
|
||||
position = models.PositiveIntegerField(
|
||||
position = models.PositiveIntegerField( # to be removed, -> Questionnaire + QuestionnaireChild
|
||||
default=0,
|
||||
verbose_name=_("Position")
|
||||
)
|
||||
ask_during_checkin = models.BooleanField(
|
||||
ask_during_checkin = models.BooleanField( # to be removed
|
||||
verbose_name=_('Ask during check-in instead of in the ticket buying process'),
|
||||
help_text=_('Not supported by all check-in apps for all question types.'),
|
||||
default=False
|
||||
@@ -1691,7 +1693,7 @@ class Question(LoggedModel):
|
||||
help_text=_('Not supported by all check-in apps for all question types.'),
|
||||
default=False
|
||||
)
|
||||
hidden = models.BooleanField(
|
||||
hidden = models.BooleanField( # to be removed
|
||||
verbose_name=_('Hidden question'),
|
||||
help_text=_('This question will only show up in the backend.'),
|
||||
default=False
|
||||
@@ -1700,10 +1702,10 @@ class Question(LoggedModel):
|
||||
verbose_name=_('Print answer on invoices'),
|
||||
default=False
|
||||
)
|
||||
dependency_question = models.ForeignKey(
|
||||
dependency_question = models.ForeignKey( # to be removed, -> QuestionnaireChild
|
||||
'Question', null=True, blank=True, on_delete=models.SET_NULL, related_name='dependent_questions'
|
||||
)
|
||||
dependency_values = MultiStringField(default=[])
|
||||
dependency_values = MultiStringField(default=[]) # to be removed, -> QuestionnaireChild
|
||||
valid_number_min = models.DecimalField(decimal_places=6, max_digits=30, null=True, blank=True,
|
||||
verbose_name=_('Minimum value'),
|
||||
help_text=_('Currently not supported in our apps and during check-in'))
|
||||
@@ -1737,9 +1739,9 @@ class Question(LoggedModel):
|
||||
objects = ScopedManager(organizer='event__organizer')
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Question")
|
||||
verbose_name_plural = _("Questions")
|
||||
ordering = ('position', 'id')
|
||||
verbose_name = _("Data field")
|
||||
verbose_name_plural = _("Data fields")
|
||||
ordering = ('question', 'id')
|
||||
unique_together = (('event', 'identifier'),)
|
||||
|
||||
def __str__(self):
|
||||
@@ -1964,6 +1966,105 @@ class QuestionOption(models.Model):
|
||||
ordering = ('position', 'id')
|
||||
|
||||
|
||||
class Questionnaire(LoggedModel):
|
||||
TYPE_ORDER_SALE = "OS"
|
||||
TYPE_ORDER_POSITION_SALE = "PS"
|
||||
TYPE_ORDER_POSITION_ATTENDEE_ONLY = "PA"
|
||||
TYPE_ORDER_POSITION_CHECKIN = "PC"
|
||||
TYPE_ORDER_POSITION_HIDDEN = "PH"
|
||||
TYPE_CHOICES = (
|
||||
(TYPE_ORDER_SALE, _("Order-wide, before purchase")),
|
||||
(TYPE_ORDER_POSITION_SALE, _("Per product, before purchase")),
|
||||
(TYPE_ORDER_POSITION_ATTENDEE_ONLY, _("Per product, via attendee link")),
|
||||
(TYPE_ORDER_POSITION_CHECKIN, _("Per product, at check-in")),
|
||||
(TYPE_ORDER_POSITION_HIDDEN, _("Per product, hidden")),
|
||||
)
|
||||
event = models.ForeignKey(
|
||||
Event,
|
||||
related_name="questionnaires",
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
internal_name = models.CharField(
|
||||
verbose_name=_("Internal name"),
|
||||
max_length=255,
|
||||
)
|
||||
type = models.CharField(
|
||||
max_length=5,
|
||||
choices=TYPE_CHOICES,
|
||||
verbose_name=_("Questionnaire type")
|
||||
)
|
||||
items = models.ManyToManyField(
|
||||
Item,
|
||||
related_name='questionnaires',
|
||||
verbose_name=_("Products"),
|
||||
blank=True,
|
||||
help_text=_('This questionnaire will be asked to buyers of the selected products')
|
||||
)
|
||||
position = models.PositiveIntegerField(
|
||||
default=0,
|
||||
verbose_name=_("Position")
|
||||
)
|
||||
all_sales_channels = models.BooleanField(
|
||||
verbose_name=_("Sell on all sales channels the product is sold on"),
|
||||
default=True,
|
||||
)
|
||||
limit_sales_channels = models.ManyToManyField(
|
||||
"SalesChannel",
|
||||
verbose_name=_("Restrict to specific sales channels"),
|
||||
help_text=_('The sales channel selection for the product as a whole takes precedence, so if a sales channel is '
|
||||
'selected here but not on product level, the variation will not be available.'),
|
||||
blank=True,
|
||||
)
|
||||
|
||||
|
||||
class QuestionnaireChild(LoggedModel):
|
||||
SYSTEM_QUESTION_CHOICES = (
|
||||
('attendee_name_parts', _('Attendee name')),
|
||||
('attendee_email', _('Attendee email')),
|
||||
('company', _('Company')),
|
||||
('street', _('Street')),
|
||||
('zipcode', _('ZIP code')),
|
||||
('city', _('City')),
|
||||
('country', _('Country')),
|
||||
)
|
||||
questionnaire = models.ForeignKey(
|
||||
Questionnaire,
|
||||
related_name="children",
|
||||
on_delete=models.CASCADE
|
||||
)
|
||||
position = models.PositiveIntegerField(
|
||||
default=0,
|
||||
verbose_name=_("Position")
|
||||
)
|
||||
user_question = models.ForeignKey(
|
||||
Question,
|
||||
related_name="references",
|
||||
on_delete=models.CASCADE,
|
||||
null=True, blank=True,
|
||||
)
|
||||
system_question = models.CharField(
|
||||
max_length=25,
|
||||
choices=SYSTEM_QUESTION_CHOICES,
|
||||
null=True, blank=True,
|
||||
)
|
||||
required = models.BooleanField(
|
||||
default=False,
|
||||
verbose_name=_("Required question")
|
||||
)
|
||||
label = I18nTextField(
|
||||
verbose_name=_("Question")
|
||||
)
|
||||
help_text = I18nTextField(
|
||||
verbose_name=_("Help text"),
|
||||
help_text=_("If the question needs to be explained or clarified, do it here!"),
|
||||
null=True, blank=True,
|
||||
)
|
||||
dependency_question = models.ForeignKey(
|
||||
'QuestionnaireChild', null=True, blank=True, on_delete=models.SET_NULL, related_name='dependent_questions'
|
||||
)
|
||||
dependency_values = MultiStringField(default=[])
|
||||
|
||||
|
||||
class Quota(LoggedModel):
|
||||
"""
|
||||
A quota is a "pool of tickets". It is there to limit the number of items
|
||||
|
||||
@@ -508,20 +508,20 @@ class Order(LockModel, LoggedModel):
|
||||
|
||||
@classmethod
|
||||
def annotate_overpayments(cls, qs, results=True, refunds=True, sums=False):
|
||||
payment_sum = OrderPayment.objects.filter(
|
||||
payment_sum = OrderPayment.objects.with_scopes_disabled().filter(
|
||||
state__in=(OrderPayment.PAYMENT_STATE_CONFIRMED, OrderPayment.PAYMENT_STATE_REFUNDED),
|
||||
order=OuterRef('pk')
|
||||
).order_by().values('order').annotate(s=Sum('amount')).values('s')
|
||||
refund_sum = OrderRefund.objects.filter(
|
||||
refund_sum = OrderRefund.objects.with_scopes_disabled().filter(
|
||||
state__in=(OrderRefund.REFUND_STATE_DONE, OrderRefund.REFUND_STATE_TRANSIT,
|
||||
OrderRefund.REFUND_STATE_CREATED),
|
||||
order=OuterRef('pk')
|
||||
).order_by().values('order').annotate(s=Sum('amount')).values('s')
|
||||
external_refund = OrderRefund.objects.filter(
|
||||
external_refund = OrderRefund.objects.with_scopes_disabled().filter(
|
||||
state=OrderRefund.REFUND_STATE_EXTERNAL,
|
||||
order=OuterRef('pk')
|
||||
)
|
||||
pending_refund = OrderRefund.objects.filter(
|
||||
pending_refund = OrderRefund.objects.with_scopes_disabled().filter(
|
||||
state__in=(OrderRefund.REFUND_STATE_CREATED, OrderRefund.REFUND_STATE_TRANSIT),
|
||||
order=OuterRef('pk')
|
||||
)
|
||||
@@ -1447,6 +1447,12 @@ class QuestionAnswer(models.Model):
|
||||
else:
|
||||
return self.answer
|
||||
|
||||
def to_dependency_values(self):
|
||||
if self.question.type in (Question.TYPE_CHOICE, Question.TYPE_CHOICE_MULTIPLE):
|
||||
return [o.identifier for o in self.options.all()]
|
||||
elif self.question.type in (Question.TYPE_BOOLEAN, Question.TYPE_COUNTRYCODE):
|
||||
return self.answer
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.orderposition and self.cartposition:
|
||||
raise ValueError('QuestionAnswer cannot be linked to an order and a cart position at the same time.')
|
||||
@@ -1591,53 +1597,80 @@ class AbstractPosition(RoundingCorrectionMixin, models.Model):
|
||||
|
||||
def cache_answers(self, all=True):
|
||||
"""
|
||||
Creates two properties on the object.
|
||||
(1) answ: a dictionary of question.id → answer string
|
||||
(2) questions: a list of Question objects, extended by an 'answer' property
|
||||
Creates a new property on the object:
|
||||
questions: a list of Question objects, extended by an 'answer' property
|
||||
"""
|
||||
self.answ = {}
|
||||
for a in getattr(self, 'answerlist', self.answers.all()): # use prefetch_related cache from get_cart
|
||||
self.answ[a.question_id] = a
|
||||
|
||||
# We need to clone our question objects, otherwise we will override the cached
|
||||
# answers of other items in the same cart if the question objects have been
|
||||
# selected via prefetch_related
|
||||
if not all:
|
||||
if hasattr(self.item, 'questions_to_ask'):
|
||||
questions = list(copy.copy(q) for q in self.item.questions_to_ask)
|
||||
if hasattr(self.item, 'relevant_questionnaires'):
|
||||
children = list(copy.copy(qc) for qq in self.item.relevant_questionnaires for qc in qq.childlist)
|
||||
else:
|
||||
questions = list(copy.copy(q) for q in self.item.questions.filter(ask_during_checkin=False,
|
||||
hidden=False))
|
||||
children = list(copy.copy(qc) for qq in self.item.questionnaires.filter(type='PS') for qc in qq.children.all())
|
||||
else:
|
||||
questions = list(copy.copy(q) for q in self.item.questions.all())
|
||||
children = list(copy.copy(qc) for qq in self.item.questionnaires.filter(type__startswith='P') for qc in qq.children.all())
|
||||
|
||||
question_cache = {
|
||||
q.pk: q for q in questions
|
||||
qc_cache = {
|
||||
q.pk: q for q in children
|
||||
}
|
||||
|
||||
def question_is_visible(parentid, qvals):
|
||||
if parentid not in question_cache:
|
||||
def qc_is_visible(parentid, qvals):
|
||||
if parentid not in qc_cache:
|
||||
return False
|
||||
parentq = question_cache[parentid]
|
||||
if parentq.dependency_question_id and not question_is_visible(parentq.dependency_question_id, parentq.dependency_values):
|
||||
parentqc = qc_cache[parentid]
|
||||
if parentqc.dependency_question_id and not qc_is_visible(parentqc.dependency_question_id, parentqc.dependency_values):
|
||||
return False
|
||||
if parentid not in self.answ:
|
||||
return False
|
||||
return (
|
||||
('True' in qvals and self.answ[parentid].answer == 'True')
|
||||
or ('False' in qvals and self.answ[parentid].answer == 'False')
|
||||
or (any(qval in [o.identifier for o in self.answ[parentid].options.all()] for qval in qvals))
|
||||
)
|
||||
answer_values = self.get_dependency_answer_values(parentqc)
|
||||
return any(qval in answer_values for qval in qvals)
|
||||
|
||||
self.questions = []
|
||||
for q in questions:
|
||||
if q.id in self.answ:
|
||||
q.answer = self.answ[q.id]
|
||||
q.answer.question = q # cache object
|
||||
for qc in children:
|
||||
if qc.user_question_id and qc.user_question_id in self.answer_cache:
|
||||
qc.answer = self.answer_cache[qc.user_question_id]
|
||||
#qc.answer.question = qc # cache object
|
||||
elif qc.system_question:
|
||||
qc.answer = self.get_system_answer(qc.system_question)
|
||||
#qc.answer.question = qc # cache object
|
||||
else:
|
||||
q.answer = ""
|
||||
if not q.dependency_question_id or question_is_visible(q.dependency_question_id, q.dependency_values):
|
||||
self.questions.append(q)
|
||||
qc.answer = ""
|
||||
if not qc.dependency_question_id or qc_is_visible(qc.dependency_question_id, qc.dependency_values):
|
||||
self.questions.append(qc)
|
||||
|
||||
@cached_property
|
||||
def answer_cache(self):
|
||||
return {
|
||||
aw.question_id: aw for aw in getattr(self, 'answerlist', self.answers.all())
|
||||
}
|
||||
|
||||
def get_dependency_answer_values(self, qc):
|
||||
if qc.user_question_id:
|
||||
if qc.user_question_id not in self.answer_cache:
|
||||
return None
|
||||
answer = self.answer_cache[qc.user_question_id]
|
||||
return answer.to_dependency_values()
|
||||
elif qc.system_question:
|
||||
return [self.get_system_answer(qc.system_question)]
|
||||
else:
|
||||
raise ValueError('Questionnaire child without question has no answer')
|
||||
|
||||
def get_system_answer(self, system_question_name):
|
||||
if system_question_name == 'attendee_name_parts':
|
||||
return self.attendee_name_parts
|
||||
elif system_question_name == 'attendee_email':
|
||||
return self.attendee_email
|
||||
elif system_question_name == 'street':
|
||||
return self.street
|
||||
elif system_question_name == 'zipcode':
|
||||
return self.zipcode
|
||||
elif system_question_name == 'city':
|
||||
return self.city
|
||||
elif system_question_name == 'state':
|
||||
return self.state
|
||||
elif system_question_name == 'country':
|
||||
return self.country
|
||||
else:
|
||||
raise ValueError('Unknown system question name')
|
||||
|
||||
@property
|
||||
def net_price(self):
|
||||
@@ -2072,6 +2105,17 @@ class OrderPayment(models.Model):
|
||||
"""
|
||||
return '{}-P-{}'.format(self.order.code, self.local_id)
|
||||
|
||||
@property
|
||||
def global_id(self):
|
||||
"""
|
||||
The global ID of this payment, constructed by the organizer slug, event slug, and the full id.
|
||||
"""
|
||||
return "{organizer}-{event}-{full_id}".format(
|
||||
organizer=self.order.organizer.slug.upper(),
|
||||
event=self.order.event.slug.upper(),
|
||||
full_id=self.full_id,
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.local_id:
|
||||
self.local_id = (self.order.payments.aggregate(m=Max('local_id'))['m'] or 0) + 1
|
||||
@@ -2272,6 +2316,17 @@ class OrderRefund(models.Model):
|
||||
"""
|
||||
return '{}-R-{}'.format(self.order.code, self.local_id)
|
||||
|
||||
@property
|
||||
def global_id(self):
|
||||
"""
|
||||
The global ID of this refund, constructed by the organizer slug, event slug, and the full id.
|
||||
"""
|
||||
return "{organizer}-{event}-{full_id}".format(
|
||||
organizer=self.order.organizer.slug.upper(),
|
||||
event=self.order.event.slug.upper(),
|
||||
full_id=self.full_id,
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.local_id:
|
||||
self.local_id = (self.order.refunds.aggregate(m=Max('local_id'))['m'] or 0) + 1
|
||||
@@ -2286,9 +2341,12 @@ class OrderRefund(models.Model):
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class ActivePositionManager(ScopedManager(organizer='order__event__organizer').__class__):
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(canceled=False)
|
||||
def ActivePositionManager(**scope):
|
||||
class InnerClass(ScopedManager(**scope).__class__):
|
||||
def get_queryset(self):
|
||||
return super().get_queryset().filter(canceled=False)
|
||||
|
||||
return InnerClass()
|
||||
|
||||
|
||||
class OrderFee(RoundingCorrectionMixin, models.Model):
|
||||
@@ -2378,7 +2436,7 @@ class OrderFee(RoundingCorrectionMixin, models.Model):
|
||||
canceled = models.BooleanField(default=False)
|
||||
|
||||
all = ScopedManager(organizer='order__event__organizer')
|
||||
objects = ActivePositionManager()
|
||||
objects = ActivePositionManager(organizer='order__event__organizer')
|
||||
|
||||
@property
|
||||
def net_value(self):
|
||||
@@ -2597,7 +2655,7 @@ class OrderPosition(AbstractPosition):
|
||||
)
|
||||
|
||||
all = ScopedManager(organizer='organizer')
|
||||
objects = ActivePositionManager()
|
||||
objects = ActivePositionManager(organizer='organizer')
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
@@ -72,7 +72,7 @@ from pretix.helpers.countries import CachedCountries
|
||||
from pretix.helpers.format import format_map
|
||||
from pretix.helpers.money import DecimalTextInput
|
||||
from pretix.multidomain.urlreverse import eventreverse_absolute
|
||||
from pretix.presale.views import get_cart
|
||||
from pretix.presale.views import get_cart_positions
|
||||
from pretix.presale.views.cart import cart_session, get_or_create_cart_id
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -1148,7 +1148,7 @@ class FreeOrderProvider(BasePaymentProvider):
|
||||
def is_allowed(self, request: HttpRequest, total: Decimal=None) -> bool:
|
||||
from .services.cart import get_fees
|
||||
|
||||
cart = get_cart(request)
|
||||
cart = get_cart_positions(request)
|
||||
|
||||
try:
|
||||
fees = get_fees(event=request.event, request=request,
|
||||
@@ -1416,7 +1416,7 @@ class GiftCardPayment(BasePaymentProvider):
|
||||
for p in cs.get('payments', [])
|
||||
if p.get('info_data', {}).get('gift_card')
|
||||
]
|
||||
positions = get_cart(request)
|
||||
positions = get_cart_positions(request)
|
||||
testmode = self.event.testmode
|
||||
else:
|
||||
used_cards = []
|
||||
|
||||
@@ -53,6 +53,7 @@ from django.utils.translation import (
|
||||
)
|
||||
from django_scopes import scopes_disabled
|
||||
|
||||
from pretix.base.decimal import round_decimal
|
||||
from pretix.base.i18n import language
|
||||
from pretix.base.media import MEDIA_TYPES
|
||||
from pretix.base.models import (
|
||||
@@ -916,6 +917,8 @@ class CartManager:
|
||||
if custom_price > 99_999_999_999:
|
||||
raise CartError(error_messages['price_too_high'])
|
||||
|
||||
custom_price = round_decimal(custom_price, currency=self.event.currency)
|
||||
|
||||
op = self.AddOperation(
|
||||
count=i['count'],
|
||||
item=item,
|
||||
@@ -1038,6 +1041,8 @@ class CartManager:
|
||||
if custom_price > 99_999_999_999:
|
||||
raise CartError(error_messages['price_too_high'])
|
||||
|
||||
custom_price = round_decimal(custom_price, currency=self.event.currency)
|
||||
|
||||
# Fix positions with wrong price (TODO: happens out-of-cartmanager-transaction and therefore a little hacky)
|
||||
for ca in current_addons[cp][a['item'], a['variation']]:
|
||||
if ca.listed_price != listed_price:
|
||||
|
||||
@@ -40,7 +40,7 @@ import dateutil
|
||||
import dateutil.parser
|
||||
from dateutil.tz import datetime_exists
|
||||
from django.core.files import File
|
||||
from django.db import IntegrityError, transaction
|
||||
from django.db import IntegrityError
|
||||
from django.db.models import (
|
||||
BooleanField, Case, Count, ExpressionWrapper, F, IntegerField, Max, Min,
|
||||
OuterRef, Q, Subquery, TextField, Value, When,
|
||||
@@ -59,6 +59,7 @@ from pretix.base.models import (
|
||||
)
|
||||
from pretix.base.signals import checkin_created, periodic_task
|
||||
from pretix.helpers import OF_SELF
|
||||
from pretix.helpers.database import conditional_atomic
|
||||
from pretix.helpers.jsonlogic import Logic
|
||||
from pretix.helpers.jsonlogic_boolalg import convert_to_dnf
|
||||
from pretix.helpers.jsonlogic_query import (
|
||||
@@ -1043,10 +1044,10 @@ def perform_checkin(op: OrderPosition, clist: CheckinList, given_answers: dict,
|
||||
if not simulate:
|
||||
_save_answers(op, answers, given_answers)
|
||||
|
||||
with transaction.atomic():
|
||||
with conditional_atomic(not simulate):
|
||||
# Lock order positions, if it is an entry. We don't need it for exits, as a race condition wouldn't be problematic
|
||||
opqs = OrderPosition.all.select_related("order", "item")
|
||||
if type != Checkin.TYPE_EXIT:
|
||||
if type != Checkin.TYPE_EXIT and not simulate:
|
||||
opqs = opqs.select_for_update(of=OF_SELF)
|
||||
op = opqs.get(pk=op.pk)
|
||||
|
||||
|
||||
@@ -801,11 +801,10 @@ def get_available_placeholders(event, base_parameters, rich=False):
|
||||
return params
|
||||
|
||||
|
||||
def get_sample_context(event, context_parameters, rich=True):
|
||||
def prepare_sample_context_for_preview(placeholder_to_sample):
|
||||
context_dict = {}
|
||||
lbl = _('This value will be replaced based on dynamic parameters.')
|
||||
for k, v in get_available_placeholders(event, context_parameters, rich=rich).items():
|
||||
sample = v.render_sample(event)
|
||||
for k, sample in placeholder_to_sample.items():
|
||||
if isinstance(sample, PlainHtmlAlternativeString):
|
||||
context_dict[k] = PlainHtmlAlternativeString(
|
||||
'<{el} class="placeholder" title="{title}">{plain}</{el}>'.format(
|
||||
@@ -830,3 +829,12 @@ def get_sample_context(event, context_parameters, rich=True):
|
||||
escape(sample)
|
||||
))
|
||||
return context_dict
|
||||
|
||||
|
||||
def get_sample_context(event, context_parameters, rich=True):
|
||||
return prepare_sample_context_for_preview(
|
||||
{
|
||||
k: v.render_sample(event)
|
||||
for k, v in get_available_placeholders(event, context_parameters, rich=rich).items()
|
||||
}
|
||||
)
|
||||
|
||||
@@ -19,12 +19,10 @@
|
||||
# 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 json
|
||||
import logging
|
||||
import pathlib
|
||||
import re
|
||||
import secrets
|
||||
from urllib.parse import urljoin
|
||||
from urllib.request import urlopen
|
||||
|
||||
@@ -33,6 +31,10 @@ from django import template
|
||||
from django.conf import settings
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
from pretix.base.middleware import (
|
||||
add_to_response_csp_via_request, calculate_csp_hash,
|
||||
)
|
||||
|
||||
register = template.Library()
|
||||
LOGGER = logging.getLogger(__name__)
|
||||
_MANIFEST = {}
|
||||
@@ -234,10 +236,16 @@ def vite_importmap(context):
|
||||
if not imports:
|
||||
return ""
|
||||
|
||||
# Generate a nonce and store it on the request so the CSP middleware can allow it
|
||||
nonce = secrets.token_urlsafe(16)
|
||||
json_string = json.dumps({"imports": imports})
|
||||
|
||||
# Calculate hash and add it to the CSP info in the request, so that will be merged into the
|
||||
# response header later on by the middleware
|
||||
request = context.get('request')
|
||||
if request:
|
||||
request.csp_nonce = nonce
|
||||
csp_hash = calculate_csp_hash(json_string)
|
||||
add_to_response_csp_via_request(request, {
|
||||
'style-src': [csp_hash],
|
||||
'script-src': [csp_hash],
|
||||
})
|
||||
|
||||
return f'<script type="importmap" nonce="{nonce}">{json.dumps({"imports": imports})}</script>'
|
||||
return f'<script type="importmap">{json_string}</script>'
|
||||
|
||||
@@ -27,7 +27,7 @@ from decimal import Decimal
|
||||
from django import forms
|
||||
from django.core.files.uploadedfile import UploadedFile
|
||||
from django.db import IntegrityError
|
||||
from django.db.models import Prefetch, QuerySet
|
||||
from django.db.models import Prefetch, Q, QuerySet
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.timezone import make_aware
|
||||
|
||||
@@ -36,7 +36,7 @@ from pretix.base.forms.questions import (
|
||||
)
|
||||
from pretix.base.models import (
|
||||
CartPosition, InvoiceAddress, OrderPosition, Question, QuestionAnswer,
|
||||
QuestionOption,
|
||||
QuestionOption, QuestionnaireChild,
|
||||
)
|
||||
from pretix.base.models.customers import AttendeeProfile
|
||||
from pretix.presale.signals import contact_form_fields_overrides
|
||||
@@ -56,6 +56,20 @@ class BaseQuestionsViewMixin:
|
||||
def question_form_kwargs(self, cr):
|
||||
return {}
|
||||
|
||||
@cached_property
|
||||
def order_questions_form(self):
|
||||
kwargs = {} # self.question_form_kwargs(cr)
|
||||
form = self.form_class(event=self.request.event,
|
||||
prefix='order',
|
||||
request=self.request,
|
||||
cartpos=None,
|
||||
orderpos=None,
|
||||
all_optional=self.all_optional,
|
||||
data=(self.request.POST if self.request.method == 'POST' else None),
|
||||
files=(self.request.FILES if self.request.method == 'POST' else None),
|
||||
**kwargs)
|
||||
return form
|
||||
|
||||
@cached_property
|
||||
def forms(self):
|
||||
"""
|
||||
@@ -307,27 +321,37 @@ class OrderQuestionsViewMixin(BaseQuestionsViewMixin):
|
||||
|
||||
@cached_property
|
||||
def positions(self):
|
||||
qqs = self.request.event.questions.all()
|
||||
qqs = self.request.event.questionnaires.all()
|
||||
if self.only_user_visible:
|
||||
qqs = qqs.filter(ask_during_checkin=False, hidden=False)
|
||||
qqs = qqs.filter(type='PS')
|
||||
else:
|
||||
qqs = qqs.filter(type__startswith='P')
|
||||
qqs = qqs.filter(
|
||||
Q(all_sales_channels=True) | Q(limit_sales_channels__identifier=self.order.sales_channel.identifier)
|
||||
)
|
||||
return list(self.order.positions.select_related(
|
||||
'item', 'variation'
|
||||
).prefetch_related(
|
||||
Prefetch('answers',
|
||||
QuestionAnswer.objects.prefetch_related('options'),
|
||||
to_attr='answerlist'),
|
||||
Prefetch('item__questions',
|
||||
Prefetch('item__questionnaires',
|
||||
qqs.prefetch_related(
|
||||
Prefetch('options', QuestionOption.objects.prefetch_related(Prefetch(
|
||||
# This prefetch statement is utter bullshit, but it actually prevents Django from doing
|
||||
# a lot of queries since ModelChoiceIterator stops trying to be clever once we have
|
||||
# a prefetch lookup on this query...
|
||||
'question',
|
||||
Question.objects.none(),
|
||||
to_attr='dummy'
|
||||
)))
|
||||
).select_related('dependency_question'),
|
||||
to_attr='questions_to_ask')
|
||||
Prefetch('children', QuestionnaireChild.objects.prefetch_related(
|
||||
Prefetch('user_question', Question.objects.prefetch_related(
|
||||
Prefetch('options', QuestionOption.objects.prefetch_related(Prefetch(
|
||||
# This prefetch statement is utter bullshit, but it actually prevents Django from doing
|
||||
# a lot of queries since ModelChoiceIterator stops trying to be clever once we have
|
||||
# a prefetch lookup on this query...
|
||||
'question',
|
||||
Question.objects.none(),
|
||||
to_attr='dummy'
|
||||
)))
|
||||
))
|
||||
),
|
||||
to_attr='childlist')
|
||||
),
|
||||
to_attr='relevant_questionnaires')
|
||||
))
|
||||
|
||||
@cached_property
|
||||
|
||||
@@ -26,6 +26,7 @@ from django.core import signing
|
||||
from django.http import HttpResponseBadRequest, HttpResponseRedirect
|
||||
from django.shortcuts import render
|
||||
from django.urls import reverse
|
||||
from django.utils.html import format_html
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -60,6 +61,7 @@ def redir_view(request):
|
||||
u = urllib.parse.urlparse(url)
|
||||
return render(request, 'pretixbase/redirect.html', {
|
||||
'hostname': u.hostname,
|
||||
'bold_hostname': format_html("<strong>{}</strong>", u.hostname),
|
||||
'url': url,
|
||||
})
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@ from urllib.parse import urlencode
|
||||
from django import forms
|
||||
from django.apps import apps
|
||||
from django.conf import settings
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.db.models import (
|
||||
Count, Exists, F, Max, Model, OrderBy, OuterRef, Q, QuerySet,
|
||||
)
|
||||
@@ -59,7 +60,7 @@ from pretix.base.models import (
|
||||
Gate, Invoice, InvoiceAddress, Item, Order, OrderPayment, OrderPosition,
|
||||
OrderRefund, Organizer, OutgoingMail, Question, QuestionAnswer, Quota,
|
||||
SalesChannel, SubEvent, SubEventMetaValue, Team, TeamAPIToken, TeamInvite,
|
||||
Voucher,
|
||||
User, Voucher,
|
||||
)
|
||||
from pretix.base.signals import register_payment_providers
|
||||
from pretix.base.timeframes import (
|
||||
@@ -3007,3 +3008,91 @@ class OutgoingMailFilterForm(FilterForm):
|
||||
qs = qs.order_by("-created", "-pk")
|
||||
|
||||
return qs
|
||||
|
||||
|
||||
class LogFilterForm(FilterForm):
|
||||
source = forms.ChoiceField(
|
||||
label=_('Source'),
|
||||
choices=[
|
||||
('', _('All sources')),
|
||||
('team', _('Team actions')),
|
||||
('customer', _('Customer actions')),
|
||||
('device', _('Device actions')),
|
||||
],
|
||||
required=False
|
||||
)
|
||||
device = SafeModelChoiceField(
|
||||
label=_('Device'),
|
||||
empty_label=_('All devices'),
|
||||
queryset=Device.objects.none(),
|
||||
required=False
|
||||
)
|
||||
user_email = forms.EmailField(
|
||||
label=_('User email'),
|
||||
widget=forms.EmailInput(
|
||||
attrs={"placeholder": _('All users')}
|
||||
),
|
||||
required=False
|
||||
)
|
||||
action_type = forms.CharField(
|
||||
widget=forms.HiddenInput,
|
||||
required=False,
|
||||
)
|
||||
content_type = forms.ModelChoiceField(
|
||||
queryset=ContentType.objects.all(),
|
||||
widget=forms.HiddenInput,
|
||||
required=False,
|
||||
)
|
||||
object = forms.IntegerField(
|
||||
widget=forms.HiddenInput,
|
||||
required=False
|
||||
)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self.organizer = kwargs.pop('organizer')
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
self.fields['device'].queryset = self.organizer.devices.all().order_by('device_id')
|
||||
self.fields['device'].widget = Select2(
|
||||
attrs={
|
||||
'data-model-select2': 'generic',
|
||||
'data-select2-url': reverse('control:organizer.devices.select2', kwargs={
|
||||
'organizer': self.organizer.slug,
|
||||
}),
|
||||
'data-placeholder': _('All devices'),
|
||||
}
|
||||
)
|
||||
self.fields['device'].widget.choices = self.fields['device'].choices
|
||||
self.fields['device'].label = _('Device')
|
||||
|
||||
def filter_qs(self, qs):
|
||||
fdata = self.cleaned_data
|
||||
if fdata.get('source') == 'team':
|
||||
qs = qs.filter(user__isnull=False)
|
||||
elif fdata.get('source') == 'device':
|
||||
qs = qs.filter(device__isnull=False)
|
||||
elif fdata.get('source') == 'customer':
|
||||
qs = qs.filter(user__isnull=True, device__isnull=True)
|
||||
|
||||
if fdata.get('device'):
|
||||
qs = qs.filter(device_id=fdata['device'].pk)
|
||||
|
||||
if fdata.get('action_type'):
|
||||
qs = qs.filter(action_type__in=fdata['action_type'].split(','))
|
||||
|
||||
if fdata.get('user_email'):
|
||||
try:
|
||||
user = User.objects.get(email=fdata['user_email'].lower())
|
||||
qs = qs.filter(user=user)
|
||||
except User.DoesNotExist:
|
||||
# Do not actively leak info that this user does not exist. Yes, this will likely have a
|
||||
# timing attack possibility, but with the magic that database query planners do,
|
||||
# it's probably impossible to avoid that.
|
||||
qs = qs.none()
|
||||
|
||||
if fdata.get('content_type'):
|
||||
qs = qs.filter(content_type=fdata.get('content_type'))
|
||||
|
||||
if fdata.get('object'):
|
||||
qs = qs.filter(object_id=fdata.get('object'))
|
||||
return qs
|
||||
|
||||
@@ -562,9 +562,7 @@ class OrderPositionChangeForm(forms.Form):
|
||||
if instance.addon_to_id:
|
||||
del self.fields['operation_split']
|
||||
|
||||
if not instance.seat and not (
|
||||
instance.item.seat_category_mappings.filter(subevent=instance.subevent).exists()
|
||||
):
|
||||
if not instance.seat and not instance._seat_allowed:
|
||||
del self.fields['seat']
|
||||
|
||||
choices = [
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under the License.
|
||||
|
||||
import functools
|
||||
from collections import defaultdict
|
||||
from datetime import datetime
|
||||
from decimal import Decimal
|
||||
@@ -69,6 +70,15 @@ OVERVIEW_BANLIST = [
|
||||
]
|
||||
|
||||
|
||||
@functools.lru_cache(maxsize=32)
|
||||
def object_id_to_string(model_class, **kwargs):
|
||||
# The cache is thread-local and persists requests, but it's small enough that we can accept that
|
||||
try:
|
||||
return str(model_class.objects.get(**kwargs))
|
||||
except model_class.DoesNotExist:
|
||||
return "?"
|
||||
|
||||
|
||||
class OrderChangeLogEntryType(OrderLogEntryType):
|
||||
prefix = _('The order has been changed:')
|
||||
|
||||
@@ -93,10 +103,10 @@ class OrderItemChanged(OrderChangeLogEntryType):
|
||||
def display_prefixed(self, event: Event, logentry: LogEntry, data):
|
||||
old_item = str(event.items.get(pk=data['old_item']))
|
||||
if data['old_variation']:
|
||||
old_item += ' - ' + str(ItemVariation.objects.get(item__event=event, pk=data['old_variation']))
|
||||
old_item += ' - ' + str(object_id_to_string(ItemVariation, item__event_id=event.pk, pk=data['old_variation']))
|
||||
new_item = str(event.items.get(pk=data['new_item']))
|
||||
if data['new_variation']:
|
||||
new_item += ' - ' + str(ItemVariation.objects.get(item__event=event, pk=data['new_variation']))
|
||||
new_item += ' - ' + str(object_id_to_string(ItemVariation, item__event_id=event.pk, pk=data['new_variation']))
|
||||
return _('Position #{posid}: {old_item} ({old_price}) changed to {new_item} ({new_price}).').format(
|
||||
posid=data.get('positionid', '?'),
|
||||
old_item=old_item, new_item=new_item,
|
||||
@@ -153,14 +163,14 @@ class OrderTaxRuleChanged(OrderChangeLogEntryType):
|
||||
if 'positionid' in data:
|
||||
return _('Tax rule of position #{posid} changed from {old_rule} to {new_rule}.').format(
|
||||
posid=data.get('positionid', '?'),
|
||||
old_rule=TaxRule.objects.get(pk=data['old_taxrule']) if data['old_taxrule'] else '–',
|
||||
new_rule=TaxRule.objects.get(pk=data['new_taxrule']),
|
||||
old_rule=object_id_to_string(TaxRule, pk=data['old_taxrule']) if data['old_taxrule'] else '–',
|
||||
new_rule=object_id_to_string(TaxRule, pk=data['new_taxrule']),
|
||||
)
|
||||
elif 'fee' in data:
|
||||
return _('Tax rule of fee #{fee} changed from {old_rule} to {new_rule}.').format(
|
||||
fee=data.get('fee', '?'),
|
||||
old_rule=TaxRule.objects.get(pk=data['old_taxrule']) if data['old_taxrule'] else '–',
|
||||
new_rule=TaxRule.objects.get(pk=data['new_taxrule']),
|
||||
old_rule=object_id_to_string(TaxRule, pk=data['old_taxrule']) if data['old_taxrule'] else '–',
|
||||
new_rule=object_id_to_string(TaxRule, pk=data['new_taxrule']),
|
||||
)
|
||||
|
||||
|
||||
@@ -204,7 +214,7 @@ class OrderCanceled(OrderChangeLogEntryType):
|
||||
def display_prefixed(self, event: Event, logentry: LogEntry, data):
|
||||
old_item = str(event.items.get(pk=data['old_item']))
|
||||
if data['old_variation']:
|
||||
old_item += ' - ' + str(ItemVariation.objects.get(pk=data['old_variation']))
|
||||
old_item += ' - ' + object_id_to_string(ItemVariation, pk=data['old_variation'])
|
||||
return _('Position #{posid} ({old_item}, {old_price}) canceled.').format(
|
||||
posid=data.get('positionid', '?'),
|
||||
old_item=old_item,
|
||||
@@ -219,7 +229,7 @@ class OrderPositionAdded(OrderChangeLogEntryType):
|
||||
def display_prefixed(self, event: Event, logentry: LogEntry, data):
|
||||
item = str(event.items.get(pk=data['item']))
|
||||
if data['variation']:
|
||||
item += ' - ' + str(ItemVariation.objects.get(item__event=event, pk=data['variation']))
|
||||
item += ' - ' + object_id_to_string(ItemVariation, item__event_id=event.pk, pk=data['variation'])
|
||||
if data['addon_to']:
|
||||
addon_to = OrderPosition.objects.get(order__event=event, pk=data['addon_to'])
|
||||
return _('Position #{posid} created: {item} ({price}) as an add-on to position #{addon_to}.').format(
|
||||
@@ -283,7 +293,7 @@ class OrderChangedSplit(OrderChangeLogEntryType):
|
||||
def display_prefixed(self, event: Event, logentry: LogEntry, data):
|
||||
old_item = str(event.items.get(pk=data['old_item']))
|
||||
if data['old_variation']:
|
||||
old_item += ' - ' + str(ItemVariation.objects.get(pk=data['old_variation']))
|
||||
old_item += ' - ' + object_id_to_string(ItemVariation, pk=data['old_variation'])
|
||||
url = reverse('control:event.order', kwargs={
|
||||
'event': event.slug,
|
||||
'organizer': event.organizer.slug,
|
||||
@@ -339,6 +349,7 @@ class OrderChangedSplitFrom(OrderLogEntryType):
|
||||
'pretix.event.checkin.reverted': _('The check-in of position #{posid} on list "{list}" has been reverted.'),
|
||||
})
|
||||
class CheckinErrorLogEntryType(OrderLogEntryType):
|
||||
|
||||
def display(self, logentry: LogEntry, data):
|
||||
return self.display_plain(self.plain, logentry, data)
|
||||
|
||||
@@ -353,10 +364,7 @@ class CheckinErrorLogEntryType(OrderLogEntryType):
|
||||
event = logentry.event
|
||||
|
||||
if 'list' in data and event:
|
||||
try:
|
||||
data['list'] = event.checkin_lists.get(pk=data.get('list')).name
|
||||
except CheckinList.DoesNotExist:
|
||||
data['list'] = _("(unknown)")
|
||||
data['list'] = object_id_to_string(CheckinList, event_id=event.id, pk=data['list'])
|
||||
else:
|
||||
data['list'] = _("(unknown)")
|
||||
|
||||
@@ -853,6 +861,9 @@ class OrganizerPluginStateLogEntryType(LogEntryType):
|
||||
'pretix.event.question.option.added': _('An answer option has been added to the question.'),
|
||||
'pretix.event.question.option.deleted': _('An answer option has been removed from the question.'),
|
||||
'pretix.event.question.option.changed': _('An answer option has been changed.'),
|
||||
'pretix.event.questionnaire.added': _('A questionnaire has been created.'),
|
||||
'pretix.event.questionnaire.deleted': _('A questionnaire has been deleted.'),
|
||||
'pretix.event.questionnaire.changed': _('A questionnaire has been changed.'),
|
||||
'pretix.event.permissions.added': _('A user has been added to the event team.'),
|
||||
'pretix.event.permissions.invited': _('A user has been invited to the event team.'),
|
||||
'pretix.event.permissions.changed': _('A user\'s permissions have been changed.'),
|
||||
|
||||
@@ -182,12 +182,12 @@ def get_event_navigation(request: HttpRequest):
|
||||
'active': 'event.items.categories' in url.url_name,
|
||||
},
|
||||
{
|
||||
'label': _('Questions'),
|
||||
'url': reverse('control:event.items.questions', kwargs={
|
||||
'label': _('Questionnaires'),
|
||||
'url': reverse('control:event.items.questionnaires', kwargs={
|
||||
'event': request.event.slug,
|
||||
'organizer': request.event.organizer.slug,
|
||||
}),
|
||||
'active': 'event.items.questions' in url.url_name,
|
||||
'active': 'event.items.questionnaires' in url.url_name or 'event.items.questions' in url.url_name,
|
||||
},
|
||||
{
|
||||
'label': _('Discounts'),
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
{% load i18n %}
|
||||
{% if has_overpaid_orders %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>overpaid orders</strong>, for example due to duplicate payment attempts.
|
||||
You should review the cases and consider refunding the overpaid amount to the user.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=overpaid"
|
||||
class="btn btn-primary">{% trans "Show overpaid orders" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_refunds %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>pending refunds</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders.refunds" event=request.event.slug organizer=request.event.organizer.slug %}"
|
||||
class="btn btn-primary">{% trans "Show pending refunds" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_cancellation_requests %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>requested cancellations</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=rc"
|
||||
class="btn btn-primary">{% trans "Show orders requesting cancellation" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_approvals %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>pending approvals</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=pa"
|
||||
class="btn btn-primary">{% trans "Show orders pending approval" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_orders_with_full_payment %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>fully paid orders</strong> that are not marked as paid, probably
|
||||
because no quota was left at the time their payment arrived. You should review the cases and consider
|
||||
either refunding the customer or creating more space.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=pendingpaid"
|
||||
class="btn btn-primary">{% trans "Show affected orders" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_sync_problems %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
Orders in this event could not be <strong>synced to an external system</strong> as configured.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.datasync.failedjobs" event=request.event.slug organizer=request.event.organizer.slug %}"
|
||||
class="btn btn-primary">{% trans "Show sync problems" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -14,6 +14,7 @@
|
||||
{% else %}
|
||||
{{ request.event.get_date_range_display }}
|
||||
{% endif %}
|
||||
<span id="warnings_loading" class="fa fa-cog fa-spin"></span>
|
||||
</small>
|
||||
</h1>
|
||||
<div class="helper-space-below">
|
||||
@@ -31,63 +32,7 @@
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
{% if has_overpaid_orders %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>overpaid orders</strong>, for example due to duplicate payment attempts.
|
||||
You should review the cases and consider refunding the overpaid amount to the user.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=overpaid"
|
||||
class="btn btn-primary">{% trans "Show overpaid orders" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_refunds %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>pending refunds</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders.refunds" event=request.event.slug organizer=request.event.organizer.slug %}"
|
||||
class="btn btn-primary">{% trans "Show pending refunds" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_cancellation_requests %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>requested cancellations</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=rc"
|
||||
class="btn btn-primary">{% trans "Show orders requesting cancellation" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_approvals %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>pending approvals</strong> that you should take care of.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=pa"
|
||||
class="btn btn-primary">{% trans "Show orders pending approval" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_pending_orders_with_full_payment %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
This event contains <strong>fully paid orders</strong> that are not marked as paid, probably
|
||||
because no quota was left at the time their payment arrived. You should review the cases and consider
|
||||
either refunding the customer or creating more space.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.orders" event=request.event.slug organizer=request.event.organizer.slug %}?status=pendingpaid"
|
||||
class="btn btn-primary">{% trans "Show affected orders" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if has_sync_problems %}
|
||||
<div class="alert alert-warning">
|
||||
{% blocktrans trimmed %}
|
||||
Orders in this event could not be <strong>synced to an external system</strong> as configured.
|
||||
{% endblocktrans %}
|
||||
<a href="{% url "control:event.datasync.failedjobs" event=request.event.slug organizer=request.event.organizer.slug %}"
|
||||
class="btn btn-primary">{% trans "Show sync problems" %}</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div id="warnings_target"></div>
|
||||
{% eventsignal request.event "pretix.control.signals.event_dashboard_top" request=request %}
|
||||
|
||||
{% if request.event.has_subevents %}
|
||||
|
||||
@@ -1,41 +1,12 @@
|
||||
{% extends "pretixcontrol/items/base.html" %}
|
||||
{% load i18n %}
|
||||
{% load static %}
|
||||
{% load bootstrap3 %}
|
||||
{% load icon %}
|
||||
{% block title %}{% trans "Event logs" %}{% endblock %}
|
||||
{% block inside %}
|
||||
<h1>{% trans "Event logs" %}</h1>
|
||||
<form class="form-inline helper-display-inline" action="" method="get">
|
||||
<input type="hidden" name="content_type" value="{{ request.GET.content_type }}">
|
||||
<input type="hidden" name="object" value="{{ request.GET.object }}">
|
||||
<p>
|
||||
<select name="user" class="form-control">
|
||||
<option value="">{% trans "All actions" %}</option>
|
||||
<option value="yes" {% if request.GET.user == "yes" %}selected="selected"{% endif %}>
|
||||
{% trans "Team actions" %}
|
||||
</option>
|
||||
<option value="no" {% if request.GET.user == "no" %}selected="selected"{% endif %}>
|
||||
{% trans "Customer actions" %}
|
||||
</option>
|
||||
{% for up in userlist %}
|
||||
{% if up.user__id %}
|
||||
<option value="{{ up.user__id }}"
|
||||
{% if request.GET.user == up.user__id %}selected="selected"{% endif %}>
|
||||
{{ up.user__email }}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% for d in devicelist %}
|
||||
{% if d.device__id %}
|
||||
<option value="d-{{ d.device__id }}"
|
||||
{% if "d-" in request.GET.user and request.GET.user|slice:"2:" == d.device__id|slugify %}selected="selected"{% endif %}>
|
||||
{{ d.device__name }}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-primary" type="submit">{% trans "Filter" %}</button>
|
||||
</p>
|
||||
</form>
|
||||
{% include "pretixcontrol/fragment_log_filter_form.html" %}
|
||||
<ul class="list-group">
|
||||
{% for log in logs %}
|
||||
<li class="list-group-item logentry">
|
||||
@@ -95,5 +66,5 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% include "pretixcontrol/pagination.html" %}
|
||||
{% include "pretixcontrol/pagination_huge.html" %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{% load i18n %}
|
||||
{% load bootstrap3 %}
|
||||
{% load icon %}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">
|
||||
{% trans "Filter" %}
|
||||
</h3>
|
||||
</div>
|
||||
<form class="panel-body filter-form" action="" method="get">
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-xs-6">
|
||||
{% bootstrap_field filter_form.source %}
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-6">
|
||||
{% bootstrap_field filter_form.device %}
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-6">
|
||||
{% bootstrap_field filter_form.user_email %}
|
||||
</div>
|
||||
</div>
|
||||
{{ filter_form.action_type }}
|
||||
{{ filter_form.content_type }}
|
||||
{{ filter_form.object }}
|
||||
{% if filter_form.is_valid and filter_form.cleaned_data.action_type %}
|
||||
{% icon "filter" %} <code>{{ filter_form.cleaned_data.action_type }}</code>
|
||||
{% endif %}
|
||||
{% if filter_form.is_valid and filter_form.cleaned_data.content_type and filter_form.cleaned_data.object %}
|
||||
{% icon "filter" %} {% trans "Specific object selected" %}
|
||||
{% endif %}
|
||||
<div class="text-right flip">
|
||||
<button class="btn btn-primary btn-lg" type="submit">
|
||||
<span class="fa fa-filter"></span>
|
||||
{% trans "Filter" %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@@ -12,142 +12,113 @@
|
||||
{% endblock %}
|
||||
{% block inside %}
|
||||
{% if question %}
|
||||
<h1>{% blocktrans with name=question.question %}Question: {{ name }}{% endblocktrans %}</h1>
|
||||
<h1>{% blocktrans with name=question.question %}Data field: {{ name }}{% endblocktrans %}</h1>
|
||||
{% else %}
|
||||
<h1>{% trans "Question" %}</h1>
|
||||
<h1>{% trans "Data field" %}</h1>
|
||||
{% endif %}
|
||||
<form action="" method="post" class="form-horizontal">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form_errors form %}
|
||||
<div class="tabbed-form">
|
||||
<fieldset>
|
||||
<legend>{% trans "General" %}</legend>
|
||||
{% bootstrap_field form.question layout="control" %}
|
||||
{% bootstrap_field form.type layout="control" %}
|
||||
{% bootstrap_field form.items layout="control" %}
|
||||
{% bootstrap_field form.required layout="control" %}
|
||||
<div class="alert alert-info alert-required-boolean">
|
||||
{% blocktrans trimmed %}
|
||||
If you mark a Yes/No question as required, it means that the user has to select Yes and No is not
|
||||
accepted. If you want to allow both options, do not make this field required.
|
||||
{% endblocktrans %}
|
||||
</div>
|
||||
<div id="valid-number">
|
||||
{% bootstrap_field form.valid_number_min layout="control" %}
|
||||
{% bootstrap_field form.valid_number_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-date">
|
||||
{% bootstrap_field form.valid_date_min layout="control" %}
|
||||
{% bootstrap_field form.valid_date_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-datetime">
|
||||
{% bootstrap_field form.valid_datetime_min layout="control" %}
|
||||
{% bootstrap_field form.valid_datetime_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-string">
|
||||
{% bootstrap_field form.valid_string_length_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-file">
|
||||
{% bootstrap_field form.valid_file_portrait layout="control" %}
|
||||
</div>
|
||||
<div id="answer-options">
|
||||
<h3>{% trans "Answer options" %}</h3>
|
||||
<noscript>
|
||||
<p>{% trans "Only applicable if you choose 'Choose one/multiple from a list' above." %}</p>
|
||||
</noscript>
|
||||
<div class="formset" data-formset data-formset-prefix="{{ formset.prefix }}" data-formset-delete-confirm-text="{% trans "If you delete an answer option, you will no longer be able to see statistical data on customers who previously selected this option, and when such customers edit their answers, they need to select a different option." %}">
|
||||
{{ formset.management_form }}
|
||||
{% bootstrap_formset_errors formset %}
|
||||
<div data-formset-body>
|
||||
{% for form in formset %}
|
||||
<div data-formset-form>
|
||||
<div class="sr-only">
|
||||
{{ form.id }}
|
||||
{% bootstrap_field form.DELETE form_group_class="" layout="inline" %}
|
||||
{% bootstrap_field form.ORDER form_group_class="" layout="inline" %}
|
||||
</div>
|
||||
<div class="row question-option-row">
|
||||
<div class="col-xs-10">
|
||||
<span class="text-muted">
|
||||
{% blocktrans trimmed with id=form.instance.identifier %}
|
||||
Answer option {{ id }}
|
||||
{% endblocktrans %}
|
||||
</span>
|
||||
{% bootstrap_form_errors form %}
|
||||
{% bootstrap_field form.answer layout='inline' form_group_class="" %}
|
||||
</div>
|
||||
<div class="col-xs-2 text-right flip">
|
||||
<span> </span><br>
|
||||
<button type="button" class="btn btn-default" data-formset-move-up-button>
|
||||
<i class="fa fa-arrow-up"></i></button>
|
||||
<button type="button" class="btn btn-default" data-formset-move-down-button>
|
||||
<i class="fa fa-arrow-down"></i></button>
|
||||
<button type="button" class="btn btn-danger" data-formset-delete-button>
|
||||
<i class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<script type="form-template" data-formset-empty-form>
|
||||
{% escapescript %}
|
||||
<div data-formset-form>
|
||||
<div class="sr-only">
|
||||
{{ formset.empty_form.id }}
|
||||
{% bootstrap_field formset.empty_form.DELETE form_group_class="" layout="inline" %}
|
||||
{% bootstrap_field formset.empty_form.ORDER form_group_class="" layout="inline" %}
|
||||
</div>
|
||||
<div class="row question-option-row">
|
||||
<div class="col-xs-10">
|
||||
<span class="text-muted">
|
||||
{% trans "New answer option" %}
|
||||
</span>
|
||||
{% bootstrap_field formset.empty_form.answer layout='inline' form_group_class="" %}
|
||||
</div>
|
||||
<div class="col-xs-2 text-right flip">
|
||||
<span> </span><br>
|
||||
<button type="button" class="btn btn-default" data-formset-move-up-button>
|
||||
<i class="fa fa-arrow-up"></i></button>
|
||||
<button type="button" class="btn btn-default" data-formset-move-down-button>
|
||||
<i class="fa fa-arrow-down"></i></button>
|
||||
<button type="button" class="btn btn-danger" data-formset-delete-button>
|
||||
<i class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endescapescript %}
|
||||
</script>
|
||||
<p>
|
||||
<button type="button" class="btn btn-default" data-formset-add>
|
||||
<i class="fa fa-plus"></i> {% trans "Add a new option" %}</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{% trans "Advanced" %}</legend>
|
||||
{% bootstrap_field form.help_text layout="control" %}
|
||||
{% bootstrap_field form.identifier layout="control" %}
|
||||
{% bootstrap_field form.ask_during_checkin layout="control" %}
|
||||
{% bootstrap_field form.show_during_checkin layout="control" %}
|
||||
{% bootstrap_field form.hidden layout="control" %}
|
||||
{% bootstrap_field form.print_on_invoice layout="control" %}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label" for="id_dependency_question">
|
||||
{% trans "Question dependency" %}
|
||||
<br><span class="optional">{% trans "Optional" context "form" %}</span>
|
||||
</label>
|
||||
<div class="col-md-4">
|
||||
{% bootstrap_field form.dependency_question layout="inline" form_group_class="inner" %}
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<script type="text/plain" id="dependency_value_val">{{ form.instance.dependency_values|escapejson_dumps }}</script>
|
||||
{% bootstrap_field form.dependency_values layout="inline" form_group_class="inner" %}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
{% bootstrap_field form.question layout="control" %}
|
||||
{% bootstrap_field form.type layout="control" %}
|
||||
<div id="valid-number">
|
||||
{% bootstrap_field form.valid_number_min layout="control" %}
|
||||
{% bootstrap_field form.valid_number_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-date">
|
||||
{% bootstrap_field form.valid_date_min layout="control" %}
|
||||
{% bootstrap_field form.valid_date_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-datetime">
|
||||
{% bootstrap_field form.valid_datetime_min layout="control" %}
|
||||
{% bootstrap_field form.valid_datetime_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-string">
|
||||
{% bootstrap_field form.valid_string_length_max layout="control" %}
|
||||
</div>
|
||||
<div id="valid-file">
|
||||
{% bootstrap_field form.valid_file_portrait layout="control" %}
|
||||
</div>
|
||||
<div id="answer-options">
|
||||
<h3>{% trans "Answer options" %}</h3>
|
||||
<noscript>
|
||||
<p>{% trans "Only applicable if you choose 'Choose one/multiple from a list' above." %}</p>
|
||||
</noscript>
|
||||
<div class="formset" data-formset data-formset-prefix="{{ formset.prefix }}" data-formset-delete-confirm-text="{% trans "If you delete an answer option, you will no longer be able to see statistical data on customers who previously selected this option, and when such customers edit their answers, they need to select a different option." %}">
|
||||
{{ formset.management_form }}
|
||||
{% bootstrap_formset_errors formset %}
|
||||
<div data-formset-body>
|
||||
{% for form in formset %}
|
||||
<div data-formset-form>
|
||||
<div class="sr-only">
|
||||
{{ form.id }}
|
||||
{% bootstrap_field form.DELETE form_group_class="" layout="inline" %}
|
||||
{% bootstrap_field form.ORDER form_group_class="" layout="inline" %}
|
||||
</div>
|
||||
<div class="row question-option-row">
|
||||
<div class="col-xs-10">
|
||||
<span class="text-muted">
|
||||
{% blocktrans trimmed with id=form.instance.identifier %}
|
||||
Answer option {{ id }}
|
||||
{% endblocktrans %}
|
||||
</span>
|
||||
{% bootstrap_form_errors form %}
|
||||
{% bootstrap_field form.answer layout='inline' form_group_class="" %}
|
||||
</div>
|
||||
<div class="col-xs-2 text-right flip">
|
||||
<span> </span><br>
|
||||
<button type="button" class="btn btn-default" data-formset-move-up-button>
|
||||
<i class="fa fa-arrow-up"></i></button>
|
||||
<button type="button" class="btn btn-default" data-formset-move-down-button>
|
||||
<i class="fa fa-arrow-down"></i></button>
|
||||
<button type="button" class="btn btn-danger" data-formset-delete-button>
|
||||
<i class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<script type="form-template" data-formset-empty-form>
|
||||
{% escapescript %}
|
||||
<div data-formset-form>
|
||||
<div class="sr-only">
|
||||
{{ formset.empty_form.id }}
|
||||
{% bootstrap_field formset.empty_form.DELETE form_group_class="" layout="inline" %}
|
||||
{% bootstrap_field formset.empty_form.ORDER form_group_class="" layout="inline" %}
|
||||
</div>
|
||||
<div class="row question-option-row">
|
||||
<div class="col-xs-10">
|
||||
<span class="text-muted">
|
||||
{% trans "New answer option" %}
|
||||
</span>
|
||||
{% bootstrap_field formset.empty_form.answer layout='inline' form_group_class="" %}
|
||||
</div>
|
||||
<div class="col-xs-2 text-right flip">
|
||||
<span> </span><br>
|
||||
<button type="button" class="btn btn-default" data-formset-move-up-button>
|
||||
<i class="fa fa-arrow-up"></i></button>
|
||||
<button type="button" class="btn btn-default" data-formset-move-down-button>
|
||||
<i class="fa fa-arrow-down"></i></button>
|
||||
<button type="button" class="btn btn-danger" data-formset-delete-button>
|
||||
<i class="fa fa-trash"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endescapescript %}
|
||||
</script>
|
||||
<p>
|
||||
<button type="button" class="btn btn-default" data-formset-add>
|
||||
<i class="fa fa-plus"></i> {% trans "Add a new option" %}</button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{% bootstrap_field form.identifier layout="control" %}
|
||||
{% bootstrap_field form.ask_during_checkin layout="control" %}
|
||||
{% bootstrap_field form.show_during_checkin layout="control" %}
|
||||
{% bootstrap_field form.hidden layout="control" %}
|
||||
{% bootstrap_field form.print_on_invoice layout="control" %}
|
||||
|
||||
|
||||
<div class="form-group submit-group">
|
||||
<button type="submit" class="btn btn-primary btn-save">
|
||||
{% trans "Save" %}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
{% extends "pretixcontrol/items/base.html" %}
|
||||
{% load i18n %}
|
||||
{% load bootstrap3 %}
|
||||
{% load static %}
|
||||
{% load icon %}
|
||||
{% load compress %}
|
||||
{% load vite %}
|
||||
|
||||
{% block title %}
|
||||
{% trans "Questionnaires" %}
|
||||
{% endblock %}
|
||||
{% block inside %}
|
||||
<h1>
|
||||
{% trans "Questionnaires" %}
|
||||
<a href="{% url "control:event.items.questions" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default pull-right">
|
||||
{% icon "wrench" %} {% trans "Manage data fields" %}
|
||||
</a>
|
||||
</h1>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Questionaires allow your attendees to fill in additional data about their ticket. If you provide food, one
|
||||
example might be to ask your users about dietary requirements.
|
||||
{% endblocktrans %}
|
||||
</p>
|
||||
<p>
|
||||
TODO: add more specific explanation of the questionnaire concept.
|
||||
</p>
|
||||
|
||||
{{ request.event.settings.locales|json_script:"event_locales" }}
|
||||
{{ questionnaire_type_choices|json_script:"questionnaire_type_choices" }}
|
||||
|
||||
{% url "control:event.items.questions.edit" organizer=request.event.organizer.slug event=request.event.slug question=0 as datafield_edit_url %}
|
||||
{{ datafield_edit_url|json_script:"datafield_edit_url" }}
|
||||
|
||||
<div id="questionnaires-editor">
|
||||
<!-- Vue app mount point -->
|
||||
</div>
|
||||
|
||||
{% vite_hmr %}
|
||||
{% vite_asset "src/pretix/static/pretixcontrol/js/ui/questionnaires/index.ts" %}
|
||||
{% endblock %}
|
||||
@@ -1,8 +1,8 @@
|
||||
{% extends "pretixcontrol/items/base.html" %}
|
||||
{% load i18n %}
|
||||
{% block title %}{% trans "Questions" %}{% endblock %}
|
||||
{% block title %}{% trans "Data fields" %}{% endblock %}
|
||||
{% block inside %}
|
||||
<h1>{% trans "Questions" %}</h1>
|
||||
<h1>{% trans "Data fields" %}</h1>
|
||||
<p>
|
||||
{% blocktrans trimmed %}
|
||||
Questions allow your attendees to fill in additional data about their ticket. If you provide food, one
|
||||
@@ -12,7 +12,7 @@
|
||||
{% csrf_token %}
|
||||
{% if 'event.items:write' in request.eventpermset %}
|
||||
<p>
|
||||
<a href="{% url "control:event.items.questions.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create a new question" %}
|
||||
<a href="{% url "control:event.items.questions.add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Create a new data field" %}
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
@@ -20,39 +20,27 @@
|
||||
<table class="table table-hover table-quotas">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% trans "Question" %}</th>
|
||||
<th>{% trans "Internal name" %}</th>
|
||||
<th>{% trans "Type" %}</th>
|
||||
<th class="iconcol"></th>
|
||||
<th class="iconcol"></th>
|
||||
<th class="iconcol"></th>
|
||||
<th>{% trans "Products" %}</th>
|
||||
{% if 'event.items:write' in request.eventpermset %}
|
||||
<th class="action-col-2"></th>
|
||||
{% endif %}
|
||||
<th class="action-col-2"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-dnd-url="{% url "control:event.items.questions.reorder" organizer=request.event.organizer.slug event=request.event.slug %}">
|
||||
<tbody>
|
||||
{% for q in questions %}
|
||||
<tr data-dnd-id="{{ q.id }}">
|
||||
<tr>
|
||||
<td>
|
||||
<strong>
|
||||
{% if q.pk %}
|
||||
<a href="{% url "control:event.items.questions.show" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}">
|
||||
{% endif %}
|
||||
{{ q.question }}
|
||||
{% if q.pk %}
|
||||
</a>
|
||||
{% endif %}
|
||||
<a href="{% url "control:event.items.questions.show" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}">
|
||||
{{ q.question }}
|
||||
</a>
|
||||
</strong><br>
|
||||
<small class="text-muted">{{ q.identifier }}</small>
|
||||
</td>
|
||||
<td>
|
||||
{% if q.pk %}
|
||||
{{ q.get_type_display }}
|
||||
{% else %}
|
||||
{% trans "System question" %}
|
||||
{% endif %}
|
||||
{{ q.get_type_display }}
|
||||
</td>
|
||||
<td>
|
||||
{% if q.required %}
|
||||
@@ -63,42 +51,17 @@
|
||||
{% if q.pk and q.ask_during_checkin %}
|
||||
<span class="fa fa-check-square text-muted" data-toggle="tooltip" title="{% trans "Ask during check-in" %}"></span>
|
||||
{% endif %}
|
||||
|
||||
</td>
|
||||
<td>
|
||||
{% if q.pk and q.hidden %}
|
||||
<span class="fa fa-eye-slash text-muted" data-toggle="tooltip" title="{% trans "Hidden question" %}"></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if q.pk %}
|
||||
<ul>
|
||||
{% for item in q.items.all %}
|
||||
<li>
|
||||
<a href="{% url "control:event.item" organizer=request.event.organizer.slug event=request.event.slug item=item.id %}">{{ item }}</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<small>{% trans "All personalized products" %}</small>
|
||||
{% endif %}
|
||||
</td>
|
||||
{% if 'event.items:write' in request.eventpermset %}
|
||||
<td class="dnd-container">
|
||||
</td>
|
||||
{% endif %}
|
||||
<td class="text-right flip">
|
||||
{% if q.pk %}
|
||||
<a href="{% url "control:event.items.questions.show" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-default btn-sm"><i class="fa fa-bar-chart"></i></a>
|
||||
{% if 'event.items:write' in request.eventpermset %}
|
||||
<a href="{% url "control:event.items.questions.edit" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-default btn-sm"><i class="fa fa-edit"></i></a>
|
||||
<a href="{% url "control:event.items.questions.delete" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></a>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% if 'event.settings.general:write' in request.eventpermset %}
|
||||
<a href="{% url "control:event.settings" organizer=request.event.organizer.slug event=request.event.slug %}#tab-0-2-open"
|
||||
class="btn btn-default btn-sm"><i class="fa fa-wrench"></i></a>
|
||||
{% endif %}
|
||||
<a href="{% url "control:event.items.questions.show" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-default btn-sm"><i class="fa fa-bar-chart"></i></a>
|
||||
{% if 'event.items:write' in request.eventpermset %}
|
||||
<a href="{% url "control:event.items.questions.edit" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-default btn-sm"><i class="fa fa-edit"></i></a>
|
||||
<a href="{% url "control:event.items.questions.delete" organizer=request.event.organizer.slug event=request.event.slug question=q.id %}" class="btn btn-danger btn-sm"><i class="fa fa-trash"></i></a>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -602,60 +602,9 @@
|
||||
{% endif %}
|
||||
{% if line.has_questions %}
|
||||
<dl>
|
||||
{% if line.item.ask_attendee_data and event.settings.attendee_names_asked %}
|
||||
<dt>{% trans "Attendee name" %}</dt>
|
||||
<dd>{% if line.attendee_name %}{{ line.attendee_name_all_components }}{% else %}
|
||||
<em>{% trans "not answered" %}</em>{% endif %}</dd>
|
||||
{% endif %}
|
||||
{% if line.item.ask_attendee_data and event.settings.attendee_emails_asked %}
|
||||
<dt>{% trans "Attendee email" %}</dt>
|
||||
<dd>
|
||||
{% if line.attendee_email %}
|
||||
{{ line.attendee_email }}
|
||||
{% if not line.addon_to %}
|
||||
<form class="form-inline helper-display-inline" method="post"
|
||||
action="{% url "control:event.order.resendlink" event=request.event.slug organizer=request.event.organizer.slug code=order.code position=line.pk %}">
|
||||
{% csrf_token %}
|
||||
<a href="{% url "control:event.order.position.sendmail" event=request.event.slug organizer=request.event.organizer.slug code=order.code position=line.pk %}"
|
||||
class="btn btn-default btn-xs">
|
||||
<span class="fa fa-envelope-o"></span>
|
||||
</a>
|
||||
<button class="btn btn-default btn-xs">
|
||||
{% trans "Resend link" %}
|
||||
</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<em>{% trans "not answered" %}</em>
|
||||
{% endif %}
|
||||
</dd>
|
||||
{% endif %}
|
||||
{% if line.item.ask_attendee_data and event.settings.attendee_company_asked %}
|
||||
<dt>
|
||||
{% trans "Attendee company" %}
|
||||
</dt>
|
||||
<dd>
|
||||
{% if line.company %}{{ line.company }}{% else %}<em>{% trans "not answered" %}</em>{% endif %}
|
||||
</dd>
|
||||
{% endif %}
|
||||
{% if line.item.ask_attendee_data and event.settings.attendee_addresses_asked %}
|
||||
<dt>
|
||||
{% trans "Attendee address" %}
|
||||
</dt>
|
||||
<dd>
|
||||
{% if line.street or line.zipcode or line.city or line.country %}
|
||||
{{ line.street|default_if_none:""|linebreaksbr }}<br>
|
||||
{{ line.zipcode|default_if_none:"" }} {{ line.city|default_if_none:"" }}<br>
|
||||
{% if line.state %}{{ line.state_for_address }}<br>{% endif %}
|
||||
{{ line.country.name|default_if_none:"" }}
|
||||
{% else %}
|
||||
<em>{% trans "not answered" %}</em>
|
||||
{% endif %}
|
||||
</dd>
|
||||
{% endif %}
|
||||
{% for q in line.questions %}
|
||||
<dt>
|
||||
{{ q.question }}
|
||||
{{ q.label }}
|
||||
{% if q.ask_during_checkin %}
|
||||
<span class="fa fa-qrcode text-muted"
|
||||
data-toggle="tooltip"
|
||||
@@ -683,12 +632,27 @@
|
||||
{% endif %}
|
||||
{% elif q.type == "M" %}
|
||||
{{ q.answer.to_string_i18n|rich_text_snippet }}
|
||||
{% else %}
|
||||
{% elif q.type %}
|
||||
{{ q.answer.to_string_i18n|linebreaksbr }}
|
||||
{% else %}{# TODO: proper separation of QuestionAnswer objects and system answers...... #}
|
||||
{{ q.answer|linebreaksbr }}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<em>{% trans "not answered" %}</em>
|
||||
{% endif %}
|
||||
{% if q.system_question == "attendee_email" and not line.addon_to %}
|
||||
<form class="form-inline helper-display-inline" method="post"
|
||||
action="{% url "control:event.order.resendlink" event=request.event.slug organizer=request.event.organizer.slug code=order.code position=line.pk %}">
|
||||
{% csrf_token %}
|
||||
<a href="{% url "control:event.order.position.sendmail" event=request.event.slug organizer=request.event.organizer.slug code=order.code position=line.pk %}"
|
||||
class="btn btn-default btn-xs">
|
||||
<span class="fa fa-envelope-o"></span>
|
||||
</a>
|
||||
<button class="btn btn-default btn-xs">
|
||||
{% trans "Resend link" %}
|
||||
</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
</dd>
|
||||
{% endfor %}
|
||||
{% for q in line.additional_fields %}
|
||||
@@ -833,7 +797,7 @@
|
||||
<strong>{% trans "Pending total" %}</strong>
|
||||
</div>
|
||||
<div class="col-md-3 col-xs-6 col-md-offset-5 price">
|
||||
<strong>{{ order.pending_sum|money:event.currency }}</strong>
|
||||
<strong>{{ pending_sum|money:event.currency }}</strong>
|
||||
</div>
|
||||
<div class="clearfix"></div>
|
||||
</div>
|
||||
|
||||
@@ -118,6 +118,10 @@
|
||||
</td>
|
||||
{% endif %}
|
||||
<td>
|
||||
<span class="fa fa-fw {% if d.last_seen and d.last_seen.is_recent %}fa-check-circle text-success{% else %}fa-circle text-danger{% endif %}"
|
||||
data-toggle="tooltip"
|
||||
title="{% if d.last_seen %}{% blocktrans with time=d.last_seen.last_seen|date:"SHORT_DATETIME_FORMAT" %}Last seen: {{ time }}{% endblocktrans %}{% else %}{% trans "No recent contact" %}{% endif %}"
|
||||
></span>
|
||||
{{ d.device_id }}
|
||||
</td>
|
||||
<td>
|
||||
@@ -125,6 +129,7 @@
|
||||
<del>{% endif %}
|
||||
{{ d.name }}
|
||||
{% if d.revoked %}</del>{% endif %}
|
||||
|
||||
{% if d.gate %}
|
||||
<br>
|
||||
<small class="text-muted">{{ d.gate.name }}</small>
|
||||
|
||||
@@ -4,24 +4,7 @@
|
||||
{% block title %}{% trans "Organizer logs" %}{% endblock %}
|
||||
{% block inside %}
|
||||
<h1>{% trans "Organizer logs" %}</h1>
|
||||
<form class="form-inline helper-display-inline" action="" method="get">
|
||||
<input type="hidden" name="content_type" value="{{ request.GET.content_type }}">
|
||||
<input type="hidden" name="object" value="{{ request.GET.object }}">
|
||||
<p>
|
||||
<select name="user" class="form-control">
|
||||
<option value="">{% trans "All actions" %}</option>
|
||||
{% for up in userlist %}
|
||||
{% if up.user__id %}
|
||||
<option value="{{ up.user__id }}"
|
||||
{% if request.GET.user == up.user__id %}selected="selected"{% endif %}>
|
||||
{{ up.user__email }}
|
||||
</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
<button class="btn btn-primary" type="submit">{% trans "Filter" %}</button>
|
||||
</p>
|
||||
</form>
|
||||
{% include "pretixcontrol/fragment_log_filter_form.html" %}
|
||||
<ul class="list-group">
|
||||
{% for log in logs %}
|
||||
<li class="list-group-item logentry">
|
||||
@@ -81,5 +64,5 @@
|
||||
</div>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% include "pretixcontrol/pagination.html" %}
|
||||
{% include "pretixcontrol/pagination_huge.html" %}
|
||||
{% endblock %}
|
||||
|
||||
@@ -251,7 +251,7 @@
|
||||
</td>
|
||||
<td>
|
||||
{% if e.voucher %}
|
||||
<a href="{% url "control:event.voucher" organizer=request.event.organizer.slug event=request.event.slug voucher=e.voucher.pk %}">
|
||||
<a href="{% url "control:event.voucher" organizer=request.event.organizer.slug event=request.event.slug voucher=e.voucher.pk %}?next={{ request.get_full_path|urlencode }}">
|
||||
{{ e.voucher }}
|
||||
</a>
|
||||
{% elif not e.voucher and e.availability.0 == 100 and e.availability.1|default_if_none:"none" != "none" %}
|
||||
|
||||
@@ -273,7 +273,8 @@ urlpatterns = [
|
||||
re_path(r'^$', dashboards.event_index, name='event.index'),
|
||||
re_path(r'^qrcode.(?P<filetype>(png|jpeg|gif|svg))$', event.EventQRCode.as_view(), name='event.qrcode'),
|
||||
re_path(r'^widgets.json$', dashboards.event_index_widgets_lazy, name='event.index.widgets'),
|
||||
re_path(r'^logs/embed$', dashboards.event_index_log_lazy, name='event.index.logs'),
|
||||
re_path(r'^dashboard/partials/logs$', dashboards.event_index_log_lazy, name='event.index.logs'),
|
||||
re_path(r'^dashboard/partials/warnings$', dashboards.event_index_warnings_lazy, name='event.index.warnings'),
|
||||
re_path(r'^live/$', event.EventLive.as_view(), name='event.live'),
|
||||
re_path(r'^transfer_session/$', event.EventTransferSession.as_view(), name='event.transfer_session'),
|
||||
re_path(r'^logs/$', event.EventLog.as_view(), name='event.log'),
|
||||
@@ -349,6 +350,7 @@ urlpatterns = [
|
||||
re_path(r'^questions/(?P<question>\d+)/change$', item.QuestionUpdate.as_view(),
|
||||
name='event.items.questions.edit'),
|
||||
re_path(r'^questions/add$', item.QuestionCreate.as_view(), name='event.items.questions.add'),
|
||||
re_path(r'^questionnaires/$', item.QuestionnairesEditor.as_view(), name='event.items.questionnaires'),
|
||||
re_path(r'^quotas/$', item.QuotaList.as_view(), name='event.items.quotas'),
|
||||
re_path(r'^quotas/bulk_action$', item.QuotaBulkAction.as_view(), name='event.items.quotas.bulkaction'),
|
||||
re_path(r'^quotas/bulk_edit$', item.QuotaBulkUpdateView.as_view(), name='event.items.quotas.bulkedit'),
|
||||
|
||||
@@ -484,10 +484,17 @@ class CheckinListView(EventPermissionRequiredMixin, PaginationMixin, ListView):
|
||||
|
||||
def get_queryset(self):
|
||||
qs = Checkin.all.filter(
|
||||
list__event=self.request.event,
|
||||
).select_related(
|
||||
'position', 'position__order', 'position__item', 'position__variation', 'position__subevent'
|
||||
list_id__in=self.request.event.checkin_lists.values_list('id', flat=True),
|
||||
).prefetch_related(
|
||||
# For events with huge numbers of check-ins, prefetch_related is a lot more efficient than
|
||||
# select_related, since it just needs to query one page size of positions instead of joining
|
||||
# multiple huge tables during result computation
|
||||
Prefetch(
|
||||
'position',
|
||||
queryset=OrderPosition.all.select_related(
|
||||
'order', 'item', 'variation', 'subevent',
|
||||
)
|
||||
),
|
||||
'list', 'gate', 'device'
|
||||
)
|
||||
if self.filter_form.is_valid():
|
||||
|
||||
@@ -379,6 +379,42 @@ def event_index(request, organizer, event):
|
||||
'comment_form': CommentForm(initial={'comment': request.event.comment}, readonly=not can_change_event_settings),
|
||||
}
|
||||
|
||||
ctx['timeline'] = [
|
||||
{
|
||||
'date': t.datetime.astimezone(request.event.timezone).date(),
|
||||
'entry': t,
|
||||
'time': t.datetime.astimezone(request.event.timezone)
|
||||
}
|
||||
for t in timeline_for_event(request.event, subevent)
|
||||
]
|
||||
ctx['today'] = now().astimezone(request.event.timezone).date()
|
||||
ctx['nearly_now'] = now().astimezone(request.event.timezone) - timedelta(seconds=20)
|
||||
resp = render(request, 'pretixcontrol/event/index.html', ctx)
|
||||
return resp
|
||||
|
||||
|
||||
def event_index_widgets_lazy(request, organizer, event):
|
||||
subevent = None
|
||||
if request.GET.get("subevent", "") != "" and request.event.has_subevents:
|
||||
i = request.GET.get("subevent", "")
|
||||
try:
|
||||
subevent = request.event.subevents.get(pk=i)
|
||||
except SubEvent.DoesNotExist:
|
||||
pass
|
||||
|
||||
widgets = []
|
||||
for r, result in event_dashboard_widgets.send(sender=request.event, subevent=subevent, lazy=False):
|
||||
widgets.extend(result)
|
||||
|
||||
return build_json_response(widgets)
|
||||
|
||||
|
||||
def event_index_warnings_lazy(request, organizer, event):
|
||||
can_view_orders = request.user.has_event_permission(request.organizer, request.event, 'event.orders:read',
|
||||
request=request)
|
||||
can_change_event_settings = request.user.has_event_permission(request.organizer, request.event,
|
||||
'event.settings.general:write', request=request)
|
||||
ctx = {}
|
||||
ctx['has_overpaid_orders'] = can_view_orders and Order.annotate_overpayments(request.event.orders).filter(
|
||||
Q(~Q(status=Order.STATUS_CANCELED) & Q(pending_sum_t__lt=0))
|
||||
| Q(Q(status=Order.STATUS_CANCELED) & Q(pending_sum_rc__lt=0))
|
||||
@@ -402,35 +438,11 @@ def event_index(request, organizer, event):
|
||||
| Q(failed_attempts__gt=0)
|
||||
).exists()
|
||||
|
||||
ctx['timeline'] = [
|
||||
{
|
||||
'date': t.datetime.astimezone(request.event.timezone).date(),
|
||||
'entry': t,
|
||||
'time': t.datetime.astimezone(request.event.timezone)
|
||||
}
|
||||
for t in timeline_for_event(request.event, subevent)
|
||||
]
|
||||
ctx['today'] = now().astimezone(request.event.timezone).date()
|
||||
ctx['nearly_now'] = now().astimezone(request.event.timezone) - timedelta(seconds=20)
|
||||
resp = render(request, 'pretixcontrol/event/index.html', ctx)
|
||||
# resp['Content-Security-Policy'] = "style-src 'unsafe-inline'"
|
||||
return resp
|
||||
|
||||
|
||||
def event_index_widgets_lazy(request, organizer, event):
|
||||
subevent = None
|
||||
if request.GET.get("subevent", "") != "" and request.event.has_subevents:
|
||||
i = request.GET.get("subevent", "")
|
||||
try:
|
||||
subevent = request.event.subevents.get(pk=i)
|
||||
except SubEvent.DoesNotExist:
|
||||
pass
|
||||
|
||||
widgets = []
|
||||
for r, result in event_dashboard_widgets.send(sender=request.event, subevent=subevent, lazy=False):
|
||||
widgets.extend(result)
|
||||
|
||||
return build_json_response(widgets)
|
||||
return render(
|
||||
request,
|
||||
'pretixcontrol/event/dashboard_partial_warnings.html',
|
||||
ctx
|
||||
)
|
||||
|
||||
|
||||
def event_index_log_lazy(request, organizer, event):
|
||||
@@ -465,7 +477,7 @@ def event_index_log_lazy(request, organizer, event):
|
||||
|
||||
return render(
|
||||
request,
|
||||
'pretixcontrol/event/logs_embed.html',
|
||||
'pretixcontrol/event/dashboard_partial_logs.html',
|
||||
{
|
||||
'logs': qs[:5]
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ from django.http import (
|
||||
Http404, HttpResponse, HttpResponseBadRequest, HttpResponseNotAllowed,
|
||||
JsonResponse,
|
||||
)
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import NoReverseMatch, reverse
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.html import conditional_escape, format_html
|
||||
@@ -119,8 +119,9 @@ from ...helpers.compat import CompatDeleteView
|
||||
from ...helpers.format import (
|
||||
PlainHtmlAlternativeString, SafeFormatter, format_map,
|
||||
)
|
||||
from ..forms.filter import LogFilterForm
|
||||
from ..logdisplay import OVERVIEW_BANLIST
|
||||
from . import CreateView, PaginationMixin, UpdateView
|
||||
from . import CreateView, LargeResultSetPaginator, PaginationMixin, UpdateView
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -1253,6 +1254,7 @@ class EventDelete(RecentAuthenticationRequiredMixin, EventPermissionRequiredMixi
|
||||
class EventLog(EventPermissionRequiredMixin, PaginationMixin, ListView):
|
||||
template_name = 'pretixcontrol/event/logs.html'
|
||||
model = LogEntry
|
||||
paginator_class = LargeResultSetPaginator
|
||||
context_object_name = 'logs'
|
||||
|
||||
def get_queryset(self):
|
||||
@@ -1282,32 +1284,20 @@ class EventLog(EventPermissionRequiredMixin, PaginationMixin, ListView):
|
||||
]
|
||||
qs = qs.filter(content_type__in=allowed_types)
|
||||
|
||||
if self.request.GET.get('user') == 'yes':
|
||||
qs = qs.filter(user__isnull=False)
|
||||
elif self.request.GET.get('user') == 'no':
|
||||
qs = qs.filter(user__isnull=True)
|
||||
elif self.request.GET.get('user', '').startswith('d-'):
|
||||
qs = qs.filter(device_id=self.request.GET.get('user')[2:])
|
||||
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')))
|
||||
|
||||
if self.request.GET.get('object'):
|
||||
qs = qs.filter(object_id=self.request.GET.get('object'))
|
||||
if self.filter_form.is_valid():
|
||||
qs = self.filter_form.filter_qs(qs)
|
||||
|
||||
return qs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super().get_context_data()
|
||||
ctx['userlist'] = self.request.event.logentry_set.order_by().distinct().values('user__id', 'user__email')
|
||||
ctx['devicelist'] = self.request.event.logentry_set.order_by('device__name').distinct().values('device__id', 'device__name')
|
||||
ctx['filter_form'] = self.filter_form
|
||||
return ctx
|
||||
|
||||
@cached_property
|
||||
def filter_form(self):
|
||||
return LogFilterForm(data=self.request.GET, organizer=self.request.organizer)
|
||||
|
||||
|
||||
class EventComment(EventPermissionRequiredMixin, View):
|
||||
permission = 'event.settings.general:write'
|
||||
@@ -1578,7 +1568,7 @@ class WidgetSettings(EventSettingsViewMixin, EventPermissionRequiredMixin, FormV
|
||||
return ctx
|
||||
|
||||
|
||||
class QuickSetupView(FormView):
|
||||
class QuickSetupView(EventPermissionRequiredMixin, FormView):
|
||||
template_name = 'pretixcontrol/event/quick_setup.html'
|
||||
permission = 'event.settings.general:write'
|
||||
form_class = QuickSetupForm
|
||||
|
||||
@@ -56,7 +56,7 @@ from django.utils.functional import cached_property
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext, gettext_lazy as _
|
||||
from django.views.decorators.http import require_http_methods
|
||||
from django.views.generic import FormView, ListView, View
|
||||
from django.views.generic import FormView, ListView, TemplateView, View
|
||||
from django.views.generic.detail import DetailView, SingleObjectMixin
|
||||
from django_countries.fields import Country
|
||||
|
||||
@@ -440,87 +440,7 @@ class QuestionList(ListView):
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super().get_context_data(**kwargs)
|
||||
questions = []
|
||||
|
||||
if self.request.event.settings.attendee_names_asked:
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='attendee_name_parts',
|
||||
question=_('Attendee name'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'attendee_name_parts', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_names_required,
|
||||
)
|
||||
)
|
||||
|
||||
if self.request.event.settings.attendee_emails_asked:
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='attendee_email',
|
||||
question=_('Attendee email'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'attendee_email', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_emails_required,
|
||||
)
|
||||
)
|
||||
|
||||
if self.request.event.settings.attendee_company_asked:
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='company',
|
||||
question=_('Company'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'company', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_company_required,
|
||||
)
|
||||
)
|
||||
|
||||
if self.request.event.settings.attendee_addresses_asked:
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='street',
|
||||
question=_('Street'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'street', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_addresses_required,
|
||||
)
|
||||
)
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='zipcode',
|
||||
question=_('ZIP code'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'zipcode', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_addresses_required,
|
||||
)
|
||||
)
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='city',
|
||||
question=_('City'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'city', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_addresses_required,
|
||||
)
|
||||
)
|
||||
questions.append(
|
||||
FakeQuestion(
|
||||
id='country',
|
||||
question=_('Country'),
|
||||
position=self.request.event.settings.system_question_order.get(
|
||||
'country', 0
|
||||
),
|
||||
required=self.request.event.settings.attendee_addresses_required,
|
||||
)
|
||||
)
|
||||
|
||||
questions += list(ctx['questions'])
|
||||
questions = list(ctx['questions'])
|
||||
questions.sort(key=lambda q: q.position)
|
||||
ctx['questions'] = questions
|
||||
return ctx
|
||||
@@ -836,6 +756,11 @@ class QuestionCreate(EventPermissionRequiredMixin, QuestionMixin, CreateView):
|
||||
return ret
|
||||
|
||||
|
||||
class QuestionnairesEditor(EventPermissionRequiredMixin, TemplateView):
|
||||
permission = 'can_change_items'
|
||||
template_name = 'pretixcontrol/items/questionnaires.html'
|
||||
|
||||
|
||||
class QuotaQueryMixin:
|
||||
|
||||
@cached_property
|
||||
@@ -861,7 +786,7 @@ class QuotaQueryMixin:
|
||||
return QuotaFilterForm(data=self.request_data, prefix='filter', event=self.request.event)
|
||||
|
||||
|
||||
class QuotaList(PaginationMixin, QuotaQueryMixin, ListView):
|
||||
class QuotaList(PaginationMixin, ListView):
|
||||
model = Quota
|
||||
context_object_name = 'quotas'
|
||||
template_name = 'pretixcontrol/items/quotas.html'
|
||||
|
||||
@@ -35,7 +35,7 @@ from django.utils.translation import ngettext
|
||||
from django.views import View
|
||||
from django.views.generic import DetailView, ListView
|
||||
|
||||
from pretix.base.middleware import _merge_csp, _parse_csp, _render_csp
|
||||
from pretix.base.middleware import add_to_response_csp
|
||||
from pretix.base.models import OutgoingMail
|
||||
from pretix.base.services.mail import mail_send_task
|
||||
from pretix.control.forms.filter import OutgoingMailFilterForm
|
||||
@@ -108,18 +108,12 @@ class OutgoingMailDetailView(OrganizerDetailViewMixin, OrganizerPermissionRequir
|
||||
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
response = super().dispatch(request, *args, **kwargs)
|
||||
if 'Content-Security-Policy' in response:
|
||||
h = _parse_csp(response['Content-Security-Policy'])
|
||||
else:
|
||||
h = {}
|
||||
csps = {
|
||||
add_to_response_csp(response, {
|
||||
'frame-src': ['data:'],
|
||||
# Unfortuantely, we can't avoid unsafe-inline for style here.
|
||||
# See outgoingmail.js for the protection measures we take.
|
||||
'style-src': ["'unsafe-inline'"],
|
||||
}
|
||||
_merge_csp(h, csps)
|
||||
response['Content-Security-Policy'] = _render_csp(h)
|
||||
})
|
||||
return response
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
||||
@@ -269,8 +269,8 @@ class MailSettingsSetupView(TemplateView):
|
||||
if settings.MAIL_CUSTOM_SENDER_DMARC_REQUIRED:
|
||||
dmarc_record = get_dmarc_record(hostname)
|
||||
if not dmarc_record:
|
||||
spf_warning = _(
|
||||
'We did not find DMARC record for your domain. This means that there is a very high chance '
|
||||
dmarc_warning = _(
|
||||
'We did not find a DMARC record for your domain. This means that there is a very high chance '
|
||||
'most of the emails will be rejected or marked as spam. You should update the DNS settings '
|
||||
'of your domain.'
|
||||
)
|
||||
|
||||
@@ -81,7 +81,7 @@ from pretix.base.i18n import language
|
||||
from pretix.base.models import (
|
||||
CachedFile, CachedTicket, Checkin, GiftCard, Invoice, InvoiceAddress, Item,
|
||||
ItemVariation, LogEntry, Order, QuestionAnswer, Quota,
|
||||
ScheduledEventExport, generate_secret,
|
||||
ScheduledEventExport, SeatCategoryMapping, generate_secret,
|
||||
)
|
||||
from pretix.base.models.orders import (
|
||||
CancellationRequest, OrderFee, OrderPayment, OrderPosition, OrderRefund,
|
||||
@@ -382,7 +382,7 @@ class OrderOverpaidRefundBulkActionView(BaseOrderBulkActionView):
|
||||
'provider': refund.provider,
|
||||
}, user=self.request.user)
|
||||
payment.payment_provider.execute_refund(refund)
|
||||
return True
|
||||
return bool(proposals)
|
||||
except (ValueError, PaymentException):
|
||||
return False
|
||||
|
||||
@@ -564,10 +564,11 @@ class OrderDetail(OrderView):
|
||||
})
|
||||
ctx['display_locale'] = dict(settings.LANGUAGES)[self.object.locale or self.request.event.settings.locale]
|
||||
|
||||
ctx['overpaid'] = self.order.pending_sum * -1
|
||||
pending_sum = self.order.pending_sum
|
||||
ctx['overpaid'] = pending_sum * -1
|
||||
ctx['download_buttons'] = self.download_buttons
|
||||
ctx['payment_refund_sum'] = self.order.payment_refund_sum
|
||||
ctx['pending_sum'] = self.order.pending_sum
|
||||
ctx['pending_sum'] = pending_sum
|
||||
ctx['uncancelled_invoice'] = self.order.invoices.exclude(
|
||||
Exists(self.order.invoices.filter(refers=OuterRef('pk'), is_cancellation=True))
|
||||
).exclude(is_cancellation=True).first()
|
||||
@@ -601,8 +602,9 @@ class OrderDetail(OrderView):
|
||||
).prefetch_related(
|
||||
'item__questions', 'issued_gift_cards', 'owned_gift_cards', 'linked_media',
|
||||
Prefetch('answers', queryset=QuestionAnswer.objects.prefetch_related('options').select_related('question')),
|
||||
Prefetch('all_checkins', queryset=Checkin.all.select_related('list').order_by('datetime')),
|
||||
Prefetch('all_checkins', queryset=Checkin.all.select_related('list', 'gate').order_by('datetime')),
|
||||
Prefetch('print_logs', queryset=PrintLog.objects.select_related('device').order_by('datetime')),
|
||||
Prefetch('subevent', queryset=self.request.event.subevents.all()),
|
||||
).order_by('positionid')
|
||||
|
||||
positions = []
|
||||
@@ -1985,20 +1987,37 @@ class OrderChange(OrderView):
|
||||
def fees(self):
|
||||
fees = list(self.order.fees.all())
|
||||
for f in fees:
|
||||
f.form = OrderFeeChangeForm(prefix='of-{}'.format(f.pk), instance=f,
|
||||
data=self.request.POST if self.request.method == "POST" else None)
|
||||
f.form = OrderFeeChangeForm(
|
||||
prefix='of-{}'.format(f.pk),
|
||||
instance=f,
|
||||
data=self.request.POST if self.request.method == "POST" else None
|
||||
)
|
||||
return fees
|
||||
|
||||
@cached_property
|
||||
def positions(self):
|
||||
positions = list(self.order.positions.select_related(
|
||||
'item', 'item__tax_rule', 'used_membership', 'used_membership__membership_type', 'tax_rule',
|
||||
'seat', 'subevent',
|
||||
).prefetch_related('granted_memberships', 'issued_gift_cards'))
|
||||
'seat',
|
||||
).prefetch_related(
|
||||
Prefetch(
|
||||
'subevent',
|
||||
queryset=self.request.event.subevents.all(),
|
||||
),
|
||||
'granted_memberships',
|
||||
'issued_gift_cards',
|
||||
'addons',
|
||||
).annotate(
|
||||
_seat_allowed=Exists(SeatCategoryMapping.objects.filter(subevent=OuterRef("subevent"), product=OuterRef("item")))
|
||||
))
|
||||
for p in positions:
|
||||
p.form = OrderPositionChangeForm(prefix='op-{}'.format(p.pk), instance=p, items=self.items,
|
||||
initial={'seat': p.seat.seat_guid if p.seat else None},
|
||||
data=self.request.POST if self.request.method == "POST" else None)
|
||||
p.form = OrderPositionChangeForm(
|
||||
prefix='op-{}'.format(p.pk),
|
||||
instance=p,
|
||||
items=self.items,
|
||||
initial={'seat': p.seat.seat_guid if p.seat else None},
|
||||
data=self.request.POST if self.request.method == "POST" else None
|
||||
)
|
||||
return positions
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
|
||||
@@ -108,12 +108,16 @@ from pretix.base.services.export import (
|
||||
init_organizer_exporters, multiexport, scheduled_organizer_export,
|
||||
)
|
||||
from pretix.base.services.mail import mail, prefix_subject
|
||||
from pretix.base.services.placeholders import (
|
||||
prepare_sample_context_for_preview,
|
||||
)
|
||||
from pretix.base.templatetags.rich_text import markdown_compile_email
|
||||
from pretix.base.views.tasks import AsyncAction
|
||||
from pretix.control.forms.exports import ScheduledOrganizerExportForm
|
||||
from pretix.control.forms.filter import (
|
||||
CustomerFilterForm, DeviceFilterForm, EventFilterForm, GiftCardFilterForm,
|
||||
OrganizerFilterForm, ReusableMediaFilterForm, TeamFilterForm,
|
||||
LogFilterForm, OrganizerFilterForm, ReusableMediaFilterForm,
|
||||
TeamFilterForm,
|
||||
)
|
||||
from pretix.control.forms.orders import ExporterForm
|
||||
from pretix.control.forms.organizer import (
|
||||
@@ -133,7 +137,7 @@ from pretix.control.permissions import (
|
||||
organizer_permission_required,
|
||||
)
|
||||
from pretix.control.signals import nav_organizer
|
||||
from pretix.control.views import PaginationMixin
|
||||
from pretix.control.views import LargeResultSetPaginator, PaginationMixin
|
||||
from pretix.control.views.mailsetup import MailSettingsSetupView
|
||||
from pretix.helpers import OF_SELF, GroupConcat
|
||||
from pretix.helpers.compat import CompatDeleteView
|
||||
@@ -344,16 +348,11 @@ class MailSettingsPreview(OrganizerPermissionRequiredMixin, View):
|
||||
|
||||
# get all supported placeholders with dummy values
|
||||
def placeholders(self, item):
|
||||
ctx = {}
|
||||
for p, s in MailSettingsForm(obj=self.request.organizer)._get_sample_context(
|
||||
MailSettingsForm.base_context[item]).items():
|
||||
if s.strip().startswith('*'):
|
||||
ctx[p] = s
|
||||
else:
|
||||
ctx[p] = '<span class="placeholder" title="{}">{}</span>'.format(
|
||||
_('This value will be replaced based on dynamic parameters.'),
|
||||
s
|
||||
)
|
||||
ctx = prepare_sample_context_for_preview(
|
||||
MailSettingsForm(obj=self.request.organizer)._get_sample_context(
|
||||
MailSettingsForm.base_context[item]
|
||||
)
|
||||
)
|
||||
return self.SafeDict(ctx)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
@@ -1209,7 +1208,7 @@ class DeviceQueryMixin:
|
||||
def get_queryset(self):
|
||||
qs = self.request.organizer.devices.prefetch_related(
|
||||
'limit_events', 'gate',
|
||||
).order_by('revoked', '-device_id')
|
||||
).select_related('last_seen').order_by('revoked', '-device_id')
|
||||
|
||||
if 'device' in self.request_data and '__ALL' not in self.request_data:
|
||||
qs = qs.filter(
|
||||
@@ -2663,6 +2662,7 @@ class LogView(OrganizerPermissionRequiredMixin, PaginationMixin, ListView):
|
||||
template_name = 'pretixcontrol/organizers/logs.html'
|
||||
permission = 'organizer.settings.general:write'
|
||||
model = LogEntry
|
||||
paginator_class = LargeResultSetPaginator
|
||||
context_object_name = 'logs'
|
||||
|
||||
def get_queryset(self):
|
||||
@@ -2672,16 +2672,21 @@ 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'))
|
||||
|
||||
if self.filter_form.is_valid():
|
||||
qs = self.filter_form.filter_qs(qs)
|
||||
|
||||
return qs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
ctx = super().get_context_data()
|
||||
ctx['filter_form'] = self.filter_form
|
||||
return ctx
|
||||
|
||||
@cached_property
|
||||
def filter_form(self):
|
||||
return LogFilterForm(data=self.request.GET, organizer=self.request.organizer)
|
||||
|
||||
|
||||
class MembershipTypeListView(OrganizerDetailViewMixin, OrganizerPermissionRequiredMixin, ListView):
|
||||
model = MembershipType
|
||||
|
||||
@@ -46,6 +46,7 @@ from django.contrib.auth import update_session_auth_hash
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.core.exceptions import BadRequest, PermissionDenied
|
||||
from django.db import transaction
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import get_object_or_404, redirect
|
||||
from django.urls import reverse
|
||||
from django.utils.crypto import get_random_string
|
||||
@@ -95,6 +96,20 @@ class RecentAuthenticationRequiredMixin:
|
||||
def dispatch(self, request, *args, **kwargs):
|
||||
tdelta = time.time() - request.session.get('pretix_auth_login_time', 0)
|
||||
if tdelta > self.max_time:
|
||||
|
||||
if request.headers.get("X-Requested-With") == "XMLHttpRequest":
|
||||
# It's not useful to return a 302 redirect on a XMLHttpRequest request, because
|
||||
# the XMLHttpRequest is unable to detect redirects.
|
||||
return HttpResponse(
|
||||
"Authentication required",
|
||||
status=401,
|
||||
headers={
|
||||
# Appending ?next= is handled by client, because it should be the top-level context url,
|
||||
# not the URL called in the background
|
||||
"X-Login-Url": reverse('control:user.reauth')
|
||||
}
|
||||
)
|
||||
|
||||
return redirect(reverse('control:user.reauth') + '?next=' + quote(request.get_full_path()))
|
||||
return super().dispatch(request, *args, **kwargs)
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ from django.shortcuts import redirect, render
|
||||
from django.urls import resolve, reverse
|
||||
from django.utils.functional import cached_property
|
||||
from django.utils.html import format_html
|
||||
from django.utils.http import url_has_allowed_host_and_scheme
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
@@ -350,6 +351,8 @@ class VoucherUpdate(EventPermissionRequiredMixin, UpdateView):
|
||||
return super().post(request, *args, **kwargs)
|
||||
|
||||
def get_success_url(self) -> str:
|
||||
if "next" in self.request.GET and url_has_allowed_host_and_scheme(self.request.GET.get("next"), allowed_hosts=None):
|
||||
return self.request.GET.get("next")
|
||||
return reverse('control:event.vouchers', kwargs={
|
||||
'organizer': self.request.event.organizer.slug,
|
||||
'event': self.request.event.slug,
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
import contextlib
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.postgres.indexes import BrinIndex
|
||||
from django.core.exceptions import FieldDoesNotExist, ImproperlyConfigured
|
||||
from django.db import connection, transaction
|
||||
from django.db.models import (
|
||||
@@ -285,3 +286,30 @@ def get_deterministic_ordering(model, ordering):
|
||||
# on the primary key to provide total ordering.
|
||||
ordering.append("-pk")
|
||||
return ordering
|
||||
|
||||
|
||||
@contextlib.contextmanager
|
||||
def conditional_atomic(do_atomic, **kwargs):
|
||||
if do_atomic:
|
||||
with transaction.atomic(**kwargs):
|
||||
yield
|
||||
else:
|
||||
yield
|
||||
|
||||
|
||||
class IgnoreOnSQLiteMixin:
|
||||
# Mixin to allow defining PostgreSQL-specific indexes that will just not be created
|
||||
# on SQLite. SQLite is supported for testing only anyways!
|
||||
def create_sql(self, model, schema_editor, *args, **kwargs):
|
||||
if "sqlite" in settings.DATABASES["default"]["ENGINE"]:
|
||||
return ""
|
||||
return super().create_sql(model, schema_editor, *args, **kwargs)
|
||||
|
||||
def remove_sql(self, model, schema_editor, **kwargs):
|
||||
if "sqlite" in settings.DATABASES["default"]["ENGINE"]:
|
||||
return ""
|
||||
return super().remove_sql(model, schema_editor, **kwargs)
|
||||
|
||||
|
||||
class BrinIndexIgnoredOnSQLite(IgnoreOnSQLiteMixin, BrinIndex):
|
||||
pass
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
# 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 ipaddress
|
||||
import socket
|
||||
import sys
|
||||
import types
|
||||
@@ -42,8 +41,7 @@ from urllib3.util.connection import (
|
||||
from urllib3.util.timeout import _DEFAULT_TIMEOUT
|
||||
|
||||
from pretix.helpers.reportlab import ThumbnailingImageReader
|
||||
|
||||
_cgnat_net = ipaddress.ip_network('100.64.0.0/10')
|
||||
from pretix.helpers.ssrf import should_block_access
|
||||
|
||||
|
||||
def monkeypatch_vobject_performance():
|
||||
@@ -150,16 +148,9 @@ def monkeypatch_urllib3_ssrf_protection():
|
||||
af, socktype, proto, canonname, sa = res
|
||||
|
||||
if not getattr(settings, "ALLOW_HTTP_TO_PRIVATE_NETWORKS", False):
|
||||
ip_addr = ipaddress.ip_address(sa[0])
|
||||
check_ip4 = ip_addr.ipv4_mapped if getattr(ip_addr, "ipv4_mapped", None) else ip_addr
|
||||
if ip_addr.is_multicast:
|
||||
raise HTTPError(f"Request to multicast address {sa[0]} blocked")
|
||||
if ip_addr.is_loopback or ip_addr.is_link_local:
|
||||
raise HTTPError(f"Request to local address {sa[0]} blocked")
|
||||
if ip_addr.is_private:
|
||||
raise HTTPError(f"Request to private address {sa[0]} blocked")
|
||||
if check_ip4 in _cgnat_net:
|
||||
raise HTTPError(f"Request to RFC 6598 address {sa[0]} blocked")
|
||||
is_private, msg = should_block_access(sa)
|
||||
if is_private:
|
||||
raise HTTPError(msg)
|
||||
|
||||
sock = None
|
||||
try:
|
||||
|
||||
@@ -28,7 +28,7 @@ from django.contrib.auth import login as auth_login
|
||||
from django.contrib.gis import geoip2
|
||||
from django.core.cache import cache
|
||||
from django.utils.formats import date_format
|
||||
from django.utils.timezone import now
|
||||
from django.utils.timezone import localtime, now, override
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django_countries.fields import Country
|
||||
from geoip2.errors import AddressNotFoundError
|
||||
@@ -167,13 +167,13 @@ def handle_login_source(user, request):
|
||||
})
|
||||
if user.known_login_sources.count() > 1:
|
||||
# Do not send on first login or first login after introduction of this feature:
|
||||
with language(user.locale):
|
||||
with language(user.locale), override(user.timezone):
|
||||
mail(
|
||||
user.email,
|
||||
_('New sign-in to your account'),
|
||||
'pretixcontrol/email/login_notice.txt',
|
||||
{
|
||||
'when': date_format(src.last_seen, 'DATETIME_FORMAT'),
|
||||
'when': date_format(localtime(src.last_seen), 'DATETIME_FORMAT'),
|
||||
'agent': src.agent_type,
|
||||
'os': src.os_type,
|
||||
# ua-parser returns "Other" for unidentified desktop devices.
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# This file is part of pretix (Community Edition).
|
||||
#
|
||||
# Copyright (C) 2014-2020 Raphael Michel and contributors
|
||||
# Copyright (C) 2020-today pretix GmbH and contributors
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General
|
||||
# Public License as published by the Free Software Foundation in version 3 of the License.
|
||||
#
|
||||
# ADDITIONAL TERMS APPLY: Pursuant to Section 7 of the GNU Affero General Public License, additional terms are
|
||||
# applicable granting you additional permissions and placing additional restrictions on your usage of this software.
|
||||
# Please refer to the pretix LICENSE file to obtain the full terms applicable to this work. If you did not receive
|
||||
# this file, see <https://pretix.eu/about/en/license>.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
||||
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
||||
# details.
|
||||
#
|
||||
# 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 ipaddress
|
||||
|
||||
_cgnat_net = ipaddress.ip_network('100.64.0.0/10')
|
||||
|
||||
|
||||
def should_block_access(sa):
|
||||
ip_addr = ipaddress.ip_address(sa[0])
|
||||
check_ip4 = ip_addr.ipv4_mapped if getattr(ip_addr, "ipv4_mapped", None) else ip_addr
|
||||
if ip_addr.is_multicast:
|
||||
return True, f"Request to multicast address {sa[0]} blocked"
|
||||
if ip_addr.is_loopback or ip_addr.is_link_local:
|
||||
return True, f"Request to local address {sa[0]} blocked"
|
||||
if ip_addr.is_private:
|
||||
return True, f"Request to private address {sa[0]} blocked"
|
||||
if check_ip4 in _cgnat_net:
|
||||
return True, f"Request to RFC 6598 address {sa[0]} blocked"
|
||||
|
||||
return False, None
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2026-07-15 14:20+0000\n"
|
||||
"Last-Translator: Llewelyn Barkhuizen <llewelyn@akademia.ac.za>\n"
|
||||
"Language-Team: Afrikaans <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2026.7.1\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Engels"
|
||||
@@ -1201,6 +1169,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1333,6 +1314,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2160,30 +2201,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2575,12 +2592,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2694,7 +2705,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2860,7 +2871,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3783,6 +3794,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4400,8 +4412,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5696,23 +5708,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6491,7 +6486,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6510,7 +6505,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6979,6 +6974,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7535,11 +7536,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8665,6 +8661,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10197,11 +10199,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11682,6 +11684,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12877,7 +12880,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12901,7 +12904,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13076,6 +13079,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13113,13 +13132,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13347,6 +13359,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14524,6 +14566,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14637,6 +14680,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16342,10 +16432,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16614,6 +16700,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17031,8 +17118,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17043,7 +17130,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17178,6 +17264,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17733,6 +17820,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17893,6 +17996,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18007,69 +18198,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18244,44 +18372,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19180,6 +19270,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19190,6 +19294,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20204,6 +20312,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20290,6 +20399,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20586,6 +20696,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20998,11 +21115,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22079,6 +22191,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24235,11 +24348,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24247,6 +24362,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24586,7 +24705,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25189,6 +25309,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26246,6 +26390,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27433,11 +27578,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28072,8 +28212,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -17,38 +17,6 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
@@ -1199,6 +1167,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1331,6 +1312,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2158,30 +2199,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2573,12 +2590,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2692,7 +2703,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2858,7 +2869,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3781,6 +3792,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4398,8 +4410,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5694,23 +5706,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6489,7 +6484,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6508,7 +6503,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6977,6 +6972,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7533,11 +7534,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8663,6 +8659,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10195,11 +10197,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11680,6 +11682,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12875,7 +12878,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12899,7 +12902,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13074,6 +13077,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13111,13 +13130,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13345,6 +13357,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14522,6 +14564,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14635,6 +14678,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16340,10 +16430,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16612,6 +16698,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17029,8 +17116,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17041,7 +17128,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17176,6 +17262,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17731,6 +17818,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17891,6 +17994,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18005,69 +18196,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18242,44 +18370,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19178,6 +19268,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19188,6 +19292,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20202,6 +20310,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20288,6 +20397,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20584,6 +20694,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20996,11 +21113,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22077,6 +22189,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24233,11 +24346,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24245,6 +24360,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24584,7 +24703,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25187,6 +25307,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26244,6 +26388,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27431,11 +27576,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28070,8 +28210,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
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: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2024-12-11 01:00+0000\n"
|
||||
"Last-Translator: Neriman Memmedli <nerim4n@pm.me>\n"
|
||||
"Language-Team: Azerbaijani <https://translate.pretix.eu/projects/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.8.4\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "İngiliscə"
|
||||
@@ -1201,6 +1169,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1333,6 +1314,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2160,30 +2201,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2575,12 +2592,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2694,7 +2705,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2860,7 +2871,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3783,6 +3794,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4400,8 +4412,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5696,23 +5708,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6491,7 +6486,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6510,7 +6505,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6979,6 +6974,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7535,11 +7536,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8665,6 +8661,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10197,11 +10199,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11682,6 +11684,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12877,7 +12880,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12901,7 +12904,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13076,6 +13079,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13113,13 +13132,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13347,6 +13359,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14524,6 +14566,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14637,6 +14680,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16342,10 +16432,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16614,6 +16700,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17031,8 +17118,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17043,7 +17130,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17178,6 +17264,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17733,6 +17820,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17893,6 +17996,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18007,69 +18198,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18244,44 +18372,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19180,6 +19270,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19190,6 +19294,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20204,6 +20312,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20290,6 +20399,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20586,6 +20696,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20998,11 +21115,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22079,6 +22191,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24235,11 +24348,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24247,6 +24362,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24586,7 +24705,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25189,6 +25309,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26248,6 +26392,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27435,11 +27580,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28074,8 +28214,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2026-06-25 14:00+0000\n"
|
||||
"Last-Translator: Kim Lozano <joaquim.lozano@upc.edu>\n"
|
||||
"Language-Team: Catalan <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 2026.6.1\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Botiga desactivada"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "S'ha acabat la prevenda"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "No ha començat la prevenda"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "En venda"
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Anglès"
|
||||
@@ -1374,6 +1342,24 @@ msgstr "Compte de Stripe"
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#, fuzzy
|
||||
#| msgctxt "refund_source"
|
||||
#| msgid "Customer"
|
||||
msgid "Customers"
|
||||
msgstr "Client"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
#, fuzzy
|
||||
#| msgid "Members"
|
||||
msgid "Memberships"
|
||||
msgstr "Membres"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1513,6 +1499,74 @@ msgstr "Si"
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Mode de prova"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Cancel·lat"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#, fuzzy
|
||||
#| msgid "Members"
|
||||
msgid "Membership type"
|
||||
msgstr "Membres"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Purchased"
|
||||
msgid "Purchase ticket"
|
||||
msgstr "Comprat"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Data d'inici"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Date"
|
||||
msgid "Start time"
|
||||
msgstr "Data"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Data de finalització"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "End: %(time)s"
|
||||
msgid "End time"
|
||||
msgstr "Final: %(time)s"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
#, fuzzy
|
||||
#| msgid "Invoices"
|
||||
@@ -2390,30 +2444,6 @@ msgstr "cancel·lat"
|
||||
msgid "Position ID"
|
||||
msgstr "Identificador de la posició"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Data d'inici"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Data de finalització"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2854,12 +2884,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr "Codi del val regal"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Mode de prova"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2973,7 +2997,7 @@ msgstr "Expirat i amb valor"
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -3159,7 +3183,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr "El sistema no reconeix aquesta combinació de credencials."
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
"Per raons de seguretat, si us plau espereu 5 minuts abans de tornar-ho a "
|
||||
@@ -4186,6 +4210,7 @@ msgstr "Permet traspassar la quota"
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4909,8 +4934,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -6448,25 +6473,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr "Número de vegades que es pot utilitzar aquest val."
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Cancel·lat"
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#, fuzzy
|
||||
#| msgid "Members"
|
||||
msgid "Membership type"
|
||||
msgstr "Membres"
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr "pendent"
|
||||
@@ -7327,7 +7333,7 @@ msgstr "Aquesta variació no pertany a aquest producte."
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr "Actualment no es poden crear vals per a complements de productes."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -7355,7 +7361,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"El número màxim per comanda no pot ser menor que el número mínim per comanda."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7899,6 +7905,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr "Aquesta targeta regal ja s'ha fet servir. Si us plau torneu a provar."
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr "Codi de tiquet (contingut del codi de barres)"
|
||||
@@ -8549,14 +8561,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#, fuzzy
|
||||
#| msgctxt "refund_source"
|
||||
#| msgid "Customer"
|
||||
msgid "Customers"
|
||||
msgstr "Client"
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -9949,6 +9953,14 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, fuzzy
|
||||
#| msgid "You cannot select a quota that belongs to a different event."
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr "No podeu seleccionar una quota que pertany a un esdeveniment diferent."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -11822,13 +11834,13 @@ msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
"Això es mostrarà públicament per permetre que els assistents us contactin."
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
#, fuzzy
|
||||
#| msgid "Contact address"
|
||||
msgid "Contact URL"
|
||||
msgstr "Adreça de contacte"
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -13864,6 +13876,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -15303,7 +15316,7 @@ msgstr "Totes les comandes"
|
||||
msgid "Valid orders"
|
||||
msgstr "Comandes pagades"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr "Paga (o cancel·lat amb tarifa de pagament)"
|
||||
|
||||
@@ -15332,7 +15345,7 @@ msgstr "Pendent o pagat"
|
||||
msgid "Cancellations"
|
||||
msgstr "Cancel·lació"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
#, fuzzy
|
||||
#| msgid "Canceled (paid fee)"
|
||||
msgid "Canceled (fully)"
|
||||
@@ -15546,6 +15559,22 @@ msgstr "La tenda està activa i la pre-venda en marxa"
|
||||
msgid "Inactive"
|
||||
msgstr "Inactiu"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "No ha començat la prevenda"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "S'ha acabat la prevenda"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
#, fuzzy
|
||||
@@ -15595,15 +15624,6 @@ msgstr "Inactiu"
|
||||
msgid "not yet activated"
|
||||
msgstr "Inactiu"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
#, fuzzy
|
||||
#| msgid "Members"
|
||||
msgid "Memberships"
|
||||
msgstr "Membres"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Event end"
|
||||
@@ -15877,6 +15897,42 @@ msgstr "Revocar l'accés"
|
||||
msgid "Search email address or subject"
|
||||
msgstr "Requereix adreces de correu per tiquet"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "All orders"
|
||||
msgid "All sources"
|
||||
msgstr "Totes les comandes"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Device name"
|
||||
msgid "Device actions"
|
||||
msgstr "Nom del dispositiu"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order details"
|
||||
msgid "User email"
|
||||
msgstr "Detalls de la comanda"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -17206,6 +17262,7 @@ msgstr "Opcional"
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Save changes"
|
||||
msgctxt "form_bulk"
|
||||
@@ -17327,6 +17384,65 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot create a voucher that blocks quota as the selected product or "
|
||||
#| "quota is currently sold out or completely reserved."
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
"No podeu crear un val que bloca la quota ja que el producte o quota "
|
||||
"seleccionats s'han venut o reservat completament."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid "The selected product does not allow to select a seat."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "El producte seleccionat no permet triar un seient."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr "No hi ha prou quota disponible a \"{}\" per realitzar l'operació."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -19274,10 +19390,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -19563,6 +19675,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -20016,8 +20129,8 @@ msgstr "Esborrar"
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -20028,7 +20141,6 @@ msgstr "Esborrar"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -20180,6 +20292,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -20823,6 +20936,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid "Verification failed"
|
||||
@@ -20997,6 +21126,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -21115,69 +21332,6 @@ msgstr "URL de sistema:"
|
||||
msgid "Create QR code"
|
||||
msgstr "Codi de comanda"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -21369,44 +21523,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -22419,6 +22535,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Botiga desactivada"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "En venda"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -22429,6 +22559,12 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#, fuzzy
|
||||
#| msgid "Specific seat"
|
||||
msgid "Specific object selected"
|
||||
msgstr "Seient específic"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -23546,6 +23682,7 @@ msgstr "Pot canviar les comandes"
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -23636,6 +23773,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -23941,6 +24079,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
@@ -24401,11 +24546,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -25630,6 +25770,7 @@ msgstr "Pot canviar les comandes"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr "Configuració avançada"
|
||||
@@ -27998,11 +28139,13 @@ msgid "Copy codes"
|
||||
msgstr "Copiar codis"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr "Detalls del val"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -28010,6 +28153,12 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Create multiple vouchers"
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr "Crear múltiples vals"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -28373,7 +28522,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -29013,6 +29163,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
#, fuzzy
|
||||
#| msgid "This gift card was used in the meantime. Please try again."
|
||||
@@ -30200,6 +30374,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -31539,11 +31714,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -32269,8 +32439,13 @@ msgstr "URL base de la redirecció"
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
@@ -38287,13 +38462,6 @@ msgstr "Kosovo"
|
||||
#~ msgid "Full access"
|
||||
#~ msgstr "Nom complet"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "You cannot select a quota that belongs to a different event."
|
||||
#~ msgid ""
|
||||
#~ "You cannot cancel a position that has been used to issue a gift card."
|
||||
#~ msgstr ""
|
||||
#~ "No podeu seleccionar una quota que pertany a un esdeveniment diferent."
|
||||
|
||||
#~ msgid "Automatically on payment"
|
||||
#~ msgstr "Automàticament durant el pagament"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2026-01-29 19:42+0000\n"
|
||||
"Last-Translator: Jiří Pastrňák <jiri@pastrnak.email>\n"
|
||||
"Language-Team: Czech <https://translate.pretix.eu/projects/pretix/pretix/cs/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.15.2\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Obchod vypnut"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Předprodej ukončen"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Předprodej zatím nezačal"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "V prodeji"
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Angličtina"
|
||||
@@ -1302,6 +1270,19 @@ msgstr "Zákaznické účty"
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr "Stažení tabulky všech aktuálně registrovaných zákaznických účtů."
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Zákazníci"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr "Členství"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1434,6 +1415,71 @@ msgstr "Ano"
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testovací režím"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Zrušeno"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Druh členství"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
msgid "Purchase ticket"
|
||||
msgstr "Zakoupeno"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Datum začátku"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Start time from"
|
||||
msgid "Start time"
|
||||
msgstr "Čas začátku od"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Datum konce"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "End: %(time)s"
|
||||
msgid "End time"
|
||||
msgstr "Konec: %(time)s"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2289,30 +2335,6 @@ msgstr "zrušeno"
|
||||
msgid "Position ID"
|
||||
msgstr "ID pozice"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Datum začátku"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Datum konce"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2717,12 +2739,6 @@ msgstr "Stáhněte si tabulku všech transakcí s dárkovými poukazy."
|
||||
msgid "Gift card code"
|
||||
msgstr "kód dárkové poukázky"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testovací režím"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2839,7 +2855,7 @@ msgstr "Expirované a s hodnotou"
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -3007,7 +3023,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr "Zadané přihlašovací údaje nejsou platné."
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
"Z bezpečnostních důvodů, prosím, počkejte pět minut a potom to zkuste znovu."
|
||||
@@ -3979,6 +3995,7 @@ msgstr "Ignorování kvóty"
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4670,8 +4687,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -6138,23 +6155,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr "Maximální počet využití."
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Zrušeno"
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Druh členství"
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr "chybějící"
|
||||
@@ -6990,7 +6990,7 @@ msgstr "Tato varianta nepatří k tomuto produktu."
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr "V současné době není možné vytvářet poukazy na doplňkové produkty."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -7013,7 +7013,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr "Maximální počet použití nesmí být nižší než minimální počet použití."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7536,6 +7536,15 @@ msgstr "Tato dárková karta není organizátorem akce akceptována."
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr "Tato dárková karta byla mezitím použita. Zkuste to prosím znovu."
|
||||
|
||||
#: pretix/base/payment.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "This payment provider does not exist or the respective plugin is disabled."
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr "Tento poskytovatel plateb neexistuje nebo příslušný plugin je vypnutý."
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr "Kód vstupenky (obsah čárkového kódu)"
|
||||
@@ -8141,11 +8150,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Zákazníci"
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr "Zařízení"
|
||||
@@ -9473,6 +9477,16 @@ msgid ""
|
||||
"card."
|
||||
msgstr "Cenu pozice, která byla použita k vydání dárkové karty, nelze změnit."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot change the price of a position that has been used to issue a "
|
||||
#| "gift card."
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr "Cenu pozice, která byla použita k vydání dárkové karty, nelze změnit."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -11288,13 +11302,13 @@ msgstr "Kontaktní e-mail"
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr "Tento údaj zobrazíme veřejně, aby vás účastníci mohli kontaktovat."
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
#, fuzzy
|
||||
#| msgid "Contact"
|
||||
msgid "Contact URL"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -13287,6 +13301,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -14596,7 +14611,7 @@ msgstr "Všechny objednávky"
|
||||
msgid "Valid orders"
|
||||
msgstr "Platné objednávky"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr "Zaplaceno (nebo zrušeno se zaplaceným poplatkem)"
|
||||
|
||||
@@ -14620,7 +14635,7 @@ msgstr "Probíhající nebo zaplacené"
|
||||
msgid "Cancellations"
|
||||
msgstr "Storna"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr "Zrušeno (kompletní)"
|
||||
|
||||
@@ -14800,6 +14815,22 @@ msgstr "Obchod naživo a předprodej běží"
|
||||
msgid "Inactive"
|
||||
msgstr "Neaktivní"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Předprodej zatím nezačal"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Předprodej ukončen"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -14837,13 +14868,6 @@ msgstr "aktivní"
|
||||
msgid "not yet activated"
|
||||
msgstr "zatím neaktivováno"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr "Členství"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr "Nemá žádné členství"
|
||||
@@ -15073,6 +15097,42 @@ msgstr "Odvolaná zařízení"
|
||||
msgid "Search email address or subject"
|
||||
msgstr "Vyžadovat e-mailové adresy na lístek"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Zdroj"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "All vouchers"
|
||||
msgid "All sources"
|
||||
msgstr "Všechny poukázky"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr "Týmové akce"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr "Zákaznické akce"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Device status"
|
||||
msgid "Device actions"
|
||||
msgstr "Stav zařízení"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order details"
|
||||
msgid "User email"
|
||||
msgstr "Podrobnosti o objednávce"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr "Všechny uživatelé"
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr "Další text v zápatí"
|
||||
@@ -16440,6 +16500,7 @@ msgstr "Volitelné"
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr "změnit"
|
||||
@@ -16555,6 +16616,65 @@ msgstr ""
|
||||
"Poukázka odpovídá pouze skrytým produktům, ale nezvolili jste, že je mají "
|
||||
"zobrazit."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot create a voucher that blocks quota as the selected product or "
|
||||
#| "quota is currently sold out or completely reserved."
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
"Nelze vytvořit poukaz, který blokuje kvótu, protože vybraný produkt nebo "
|
||||
"kvóta jsou aktuálně vyprodány nebo zcela rezervovány."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid "The selected product does not allow to select a seat."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "Vybraný produkt neumožňuje výběr místa."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr "Na kvótu „{}“ není k dispozici dostatek kvóty k provedení operace."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr "Kupónové kódy"
|
||||
@@ -18413,10 +18533,6 @@ msgstr "Autorizované aplikace"
|
||||
msgid "Account history"
|
||||
msgstr "Historie účtu"
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr "Všechny uživatelé"
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -18695,6 +18811,7 @@ msgstr "Nastavit nové heslo"
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -19150,8 +19267,8 @@ msgstr "Smazat"
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -19162,7 +19279,6 @@ msgstr "Smazat"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -19297,6 +19413,7 @@ msgstr "Čas"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr "Vybrat všechny výsledky i na dalších stránkách"
|
||||
@@ -20012,6 +20129,34 @@ msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
"Našli jsme záznam SPF na vaší doméně, který obsahuje tento systém. Skvělé!"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid "Your new SPF record could look like this:"
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr "Váš nový záznam SPF může vypadat takto:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
"Našli jsme záznam SPF na vaší doméně, který obsahuje tento systém. Skvělé!"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid "Your new SPF record could look like this:"
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr "Váš nový záznam SPF může vypadat takto:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
"Našli jsme záznam SPF na vaší doméně, který obsahuje tento systém. Skvělé!"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr "Ověřování"
|
||||
@@ -20211,6 +20356,103 @@ msgstr ""
|
||||
"nesmazatelná data, například objednávky, které nebyly provedeny v testovacím "
|
||||
"režimu."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>přeplacené objednávky</strong>, například z "
|
||||
"důvodu duplicitních pokusů o platbu. Měli byste tyto případy zkontrolovat a "
|
||||
"uvažovat možnost vrácení přeplacené částky uživateli."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr "Zobrazit přeplacené objednávky"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>nevyřízené náhrady</strong>, o které byste se "
|
||||
"měli postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr "Zobrazit čekající náhrady"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>vyžádaná zrušení</strong>, o které byste se měli "
|
||||
"postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr "Zobrazit objednávky s požadavkem na zrušení"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>nevyřízená schválení</strong>, o která byste se "
|
||||
"měli postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr "Zobrazit objednávky čekající na schválení"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -20335,78 +20577,6 @@ msgstr "Adresa obchodu:"
|
||||
msgid "Create QR code"
|
||||
msgstr "Vytvořit kód QR"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>přeplacené objednávky</strong>, například z "
|
||||
"důvodu duplicitních pokusů o platbu. Měli byste tyto případy zkontrolovat a "
|
||||
"uvažovat možnost vrácení přeplacené částky uživateli."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr "Zobrazit přeplacené objednávky"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>nevyřízené náhrady</strong>, o které byste se "
|
||||
"měli postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr "Zobrazit čekající náhrady"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>vyžádaná zrušení</strong>, o které byste se měli "
|
||||
"postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr "Zobrazit objednávky s požadavkem na zrušení"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
"Tato akce obsahuje <strong>nevyřízená schválení</strong>, o která byste se "
|
||||
"měli postarat."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr "Zobrazit objednávky čekající na schválení"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -20588,44 +20758,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr "Všechny akce"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr "Týmové akce"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr "Zákaznické akce"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -21588,6 +21720,20 @@ msgstr "Žádné termíny"
|
||||
msgid "More quotas"
|
||||
msgstr "Další kvóty"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Obchod vypnut"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "V prodeji"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -21598,6 +21744,12 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#, fuzzy
|
||||
#| msgid "Specific seat"
|
||||
msgid "Specific object selected"
|
||||
msgstr "Přidělené místo"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -22654,6 +22806,7 @@ msgstr "Změnit více zařízení"
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr "%(number)s vybráno"
|
||||
@@ -22750,6 +22903,7 @@ msgstr "Smazat vybrané"
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr "Upravit vybrané"
|
||||
|
||||
@@ -23051,6 +23205,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -23487,11 +23648,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Zdroj"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -24639,6 +24795,7 @@ msgstr "Změnit více zařízení"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr "Rozšířená nastavení"
|
||||
@@ -26969,11 +27126,13 @@ msgid "Copy codes"
|
||||
msgstr "Kopírovat kódy"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr "Podrobnosti o poukázce"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -26981,6 +27140,12 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Change multiple devices"
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr "Změnit více zařízení"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -27337,7 +27502,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -27971,6 +28137,66 @@ msgstr ""
|
||||
"Měli byste aktualizovat nastavení DNS své domény tak, aby zahrnovalo tento "
|
||||
"systém v záznamu SPF."
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "We could not find an SPF record set for the domain you are trying to use. "
|
||||
#| "This means that there is a very high change most of the emails will be "
|
||||
#| "rejected or marked as spam. We strongly recommend setting an SPF record "
|
||||
#| "on the domain. You can do so through the DNS settings at the provider you "
|
||||
#| "registered your domain with."
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
"Nepodařilo se nám najít záznam SPF nastavený pro doménu, kterou se snažíte "
|
||||
"použít. To znamená, že je velmi vysoká pravděpodobnost, že většina e-mailů "
|
||||
"bude odmítnuta nebo označena jako spam. Důrazně doporučujeme nastavit záznam "
|
||||
"SPF pro danou doménu. Můžete tak učinit prostřednictvím nastavení DNS u "
|
||||
"poskytovatele, u kterého jste doménu zaregistrovali."
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "We found an SPF record set for the domain you are trying to use, but it "
|
||||
#| "does not include this system's email server. This means that there is a "
|
||||
#| "very high chance most of the emails will be rejected or marked as spam. "
|
||||
#| "You should update the DNS settings of your domain to include this system "
|
||||
#| "in the SPF record."
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
"Našli jsme záznam SPF nastavený pro doménu, kterou se snažíte použít, ale "
|
||||
"neobsahuje e-mailový server tohoto systému. To znamená, že je velmi vysoká "
|
||||
"pravděpodobnost, že většina e-mailů bude odmítnuta nebo označena jako spam. "
|
||||
"Měli byste aktualizovat nastavení DNS své domény tak, aby zahrnovalo tento "
|
||||
"systém v záznamu SPF."
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "We found an SPF record set for the domain you are trying to use, but it "
|
||||
#| "does not include this system's email server. This means that there is a "
|
||||
#| "very high chance most of the emails will be rejected or marked as spam. "
|
||||
#| "You should update the DNS settings of your domain to include this system "
|
||||
#| "in the SPF record."
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
"Našli jsme záznam SPF nastavený pro doménu, kterou se snažíte použít, ale "
|
||||
"neobsahuje e-mailový server tohoto systému. To znamená, že je velmi vysoká "
|
||||
"pravděpodobnost, že většina e-mailů bude odmítnuta nebo označena jako spam. "
|
||||
"Měli byste aktualizovat nastavení DNS své domény tak, aby zahrnovalo tento "
|
||||
"systém v záznamu SPF."
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -29073,6 +29299,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -30335,11 +30562,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -31025,8 +31247,13 @@ msgstr "Přesměrování URL"
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
@@ -35923,6 +36150,9 @@ msgstr "Přístup k zápisu"
|
||||
msgid "Kosovo"
|
||||
msgstr "Kosovo"
|
||||
|
||||
#~ msgid "All actions"
|
||||
#~ msgstr "Všechny akce"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Account information"
|
||||
#~ msgid "Account invitation"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2023-11-14 11:00+0000\n"
|
||||
"Last-Translator: Charliecoleg <DM229135@colegsirgar.ac.uk>\n"
|
||||
"Language-Team: Welsh <https://translate.pretix.eu/projects/pretix/pretix/cy/"
|
||||
@@ -20,38 +20,6 @@ msgstr ""
|
||||
"(n==3) ? 3 :(n==6) ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 5.1.1\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Saesneg"
|
||||
@@ -1223,6 +1191,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1355,6 +1336,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2182,30 +2223,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2597,12 +2614,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2716,7 +2727,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2882,7 +2893,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3811,6 +3822,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4428,8 +4440,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5724,23 +5736,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6526,7 +6521,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6545,7 +6540,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7014,6 +7009,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7577,11 +7578,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8721,6 +8717,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10258,13 +10260,13 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
#, fuzzy
|
||||
#| msgid "Content"
|
||||
msgid "Contact URL"
|
||||
msgstr "Cynnwys"
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11751,6 +11753,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12948,7 +12951,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12972,7 +12975,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr "Dileadau"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13147,6 +13150,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13184,13 +13203,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13418,6 +13430,38 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Tarddiad"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Redirection"
|
||||
msgid "Device actions"
|
||||
msgstr "Ailgyfeiriad"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14605,6 +14649,7 @@ msgstr "Dewisol"
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr "newid"
|
||||
@@ -14718,6 +14763,55 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid "The subevent does not belong to this event."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "Nid yw'r digwyddiad yn perthyn i'r digwyddiad hwn."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16424,10 +16518,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16696,6 +16786,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17119,8 +17210,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17131,7 +17222,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17266,6 +17356,7 @@ msgstr "Stamp amser"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17836,6 +17927,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17996,6 +18103,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18110,69 +18305,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18347,44 +18479,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19302,6 +19396,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19312,6 +19420,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20342,6 +20454,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20432,6 +20545,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20728,6 +20842,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -21142,11 +21263,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Tarddiad"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22237,6 +22353,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24417,11 +24534,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24429,6 +24548,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24770,7 +24893,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25381,6 +25505,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26444,6 +26592,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27640,11 +27789,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28281,8 +28425,13 @@ msgstr "Ailgyfeirio URIs"
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-06 15:52+0000\n"
|
||||
"PO-Revision-Date: 2026-04-22 18:00+0000\n"
|
||||
"PO-Revision-Date: 2026-07-31 18:00+0000\n"
|
||||
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n"
|
||||
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||
"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 5.17\n"
|
||||
"X-Generator: Weblate 2026.7.1\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js
|
||||
msgid "Marked as paid"
|
||||
@@ -1306,62 +1306,62 @@ msgstr ""
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "January"
|
||||
msgstr "Januar"
|
||||
msgstr "januar"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "February"
|
||||
msgstr "Februar"
|
||||
msgstr "februar"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "March"
|
||||
msgstr "Marts"
|
||||
msgstr "marts"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "April"
|
||||
msgstr "April"
|
||||
msgstr "april"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "May"
|
||||
msgstr "Maj"
|
||||
msgstr "maj"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "June"
|
||||
msgstr "Juni"
|
||||
msgstr "juni"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "July"
|
||||
msgstr "Juli"
|
||||
msgstr "juli"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "August"
|
||||
msgstr "August"
|
||||
msgstr "august"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "September"
|
||||
msgstr "September"
|
||||
msgstr "september"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "October"
|
||||
msgstr "Oktober"
|
||||
msgstr "oktober"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "November"
|
||||
msgstr "November"
|
||||
msgstr "november"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js
|
||||
#: pretix/static/pretixpresale/widget/src/i18n.ts
|
||||
msgid "December"
|
||||
msgstr "December"
|
||||
msgstr "december"
|
||||
|
||||
#~ msgid "iDEAL"
|
||||
#~ msgstr "iDEAL"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -94,6 +94,8 @@ Checkout
|
||||
Chrome
|
||||
Client-ID
|
||||
Client-Secret
|
||||
CNAME
|
||||
CNAME-Eintrag
|
||||
CODE.txt
|
||||
Community-Übersetzungen
|
||||
CONFIRM
|
||||
@@ -123,6 +125,11 @@ Debug-Modus
|
||||
dekodi
|
||||
Desktop-Apps
|
||||
Di
|
||||
DKIM
|
||||
DKIM-Eintrag
|
||||
DKIM-Schlüssel
|
||||
DMARC
|
||||
DMARC-Eintrag
|
||||
Do
|
||||
Downloadformat
|
||||
Dr
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -94,6 +94,8 @@ Checkout
|
||||
Chrome
|
||||
Client-ID
|
||||
Client-Secret
|
||||
CNAME
|
||||
CNAME-Eintrag
|
||||
CODE.txt
|
||||
Community-Übersetzungen
|
||||
CONFIRM
|
||||
@@ -123,6 +125,11 @@ Debug-Modus
|
||||
dekodi
|
||||
Desktop-Apps
|
||||
Di
|
||||
DKIM
|
||||
DKIM-Eintrag
|
||||
DKIM-Schlüssel
|
||||
DMARC
|
||||
DMARC-Eintrag
|
||||
Do
|
||||
Downloadformat
|
||||
Dr
|
||||
|
||||
+367
-222
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+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"
|
||||
@@ -18,38 +18,6 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
@@ -1200,6 +1168,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1332,6 +1313,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2159,30 +2200,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2574,12 +2591,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2693,7 +2704,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2859,7 +2870,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3782,6 +3793,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4399,8 +4411,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5695,23 +5707,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6490,7 +6485,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6509,7 +6504,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6978,6 +6973,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7534,11 +7535,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8664,6 +8660,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10196,11 +10198,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11681,6 +11683,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12876,7 +12879,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12900,7 +12903,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13075,6 +13078,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13112,13 +13131,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13346,6 +13358,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14523,6 +14565,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14636,6 +14679,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16341,10 +16431,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16613,6 +16699,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17030,8 +17117,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17042,7 +17129,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17177,6 +17263,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17732,6 +17819,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17892,6 +17995,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18006,69 +18197,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18243,44 +18371,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19179,6 +19269,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19189,6 +19293,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20203,6 +20311,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20289,6 +20398,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20585,6 +20695,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20997,11 +21114,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22078,6 +22190,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24234,11 +24347,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24246,6 +24361,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24585,7 +24704,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25188,6 +25308,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26245,6 +26389,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27432,11 +27577,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28071,8 +28211,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:33+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+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"
|
||||
|
||||
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: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: Automatically generated\n"
|
||||
"Language-Team: none\n"
|
||||
@@ -17,38 +17,6 @@ msgstr ""
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr ""
|
||||
@@ -1199,6 +1167,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1331,6 +1312,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2158,30 +2199,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2573,12 +2590,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2692,7 +2703,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2858,7 +2869,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3781,6 +3792,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4398,8 +4410,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5694,23 +5706,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6489,7 +6484,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6508,7 +6503,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6977,6 +6972,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7533,11 +7534,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8663,6 +8659,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10195,11 +10197,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11680,6 +11682,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12875,7 +12878,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12899,7 +12902,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13074,6 +13077,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13111,13 +13130,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13345,6 +13357,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14522,6 +14564,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14635,6 +14678,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16340,10 +16430,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16612,6 +16698,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17029,8 +17116,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17041,7 +17128,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17176,6 +17262,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17731,6 +17818,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17891,6 +17994,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18005,69 +18196,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18242,44 +18370,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19178,6 +19268,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19188,6 +19292,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20202,6 +20310,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20288,6 +20397,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20584,6 +20694,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20996,11 +21113,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22077,6 +22189,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24233,11 +24346,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24245,6 +24360,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24584,7 +24703,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25187,6 +25307,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26244,6 +26388,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27431,11 +27576,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28070,8 +28210,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
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: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2025-07-18 01:00+0000\n"
|
||||
"Last-Translator: Zona Vip <contacto@zonavip.mx>\n"
|
||||
"Language-Team: Spanish (Latin America) <https://translate.pretix.eu/projects/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Inglés"
|
||||
@@ -1296,6 +1264,19 @@ msgstr ""
|
||||
"Descargue una hoja de cálculo de todas las cuentas de clientes registradas "
|
||||
"actualmente."
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1428,6 +1409,72 @@ msgstr "Sí"
|
||||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Personalized ticket"
|
||||
msgid "Purchase ticket"
|
||||
msgstr "Boleto personalizado"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Event start time"
|
||||
msgid "Start time"
|
||||
msgstr "Hora de inicio del evento"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Event end time"
|
||||
msgid "End time"
|
||||
msgstr "Hora de finalización del evento"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2285,30 +2332,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2704,12 +2727,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2823,7 +2840,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2989,7 +3006,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3927,6 +3944,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4552,8 +4570,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5854,23 +5872,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6651,7 +6652,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6670,7 +6671,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7139,6 +7140,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7712,11 +7719,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8848,6 +8850,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10382,11 +10390,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11872,6 +11880,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -13075,7 +13084,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13099,7 +13108,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13274,6 +13283,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13311,13 +13336,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13547,6 +13565,42 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr "Dirección de correo electrónico"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "All invoices"
|
||||
msgid "All sources"
|
||||
msgstr "Todas las facturas"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Redirection URIs"
|
||||
msgid "Device actions"
|
||||
msgstr "URI de redirección"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order total"
|
||||
msgid "User email"
|
||||
msgstr "Pedido total"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14724,6 +14778,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14837,6 +14892,64 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "One of the selected products is not available in the selected country."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
"Uno de los productos seleccionados no está disponible en el país "
|
||||
"seleccionado."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
"No hay suficiente cuota disponible en la cuota \"{}\" para realizar la "
|
||||
"operación."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16550,10 +16663,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16822,6 +16931,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17239,8 +17349,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17251,7 +17361,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17386,6 +17495,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17947,6 +18057,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -18109,6 +18235,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18223,69 +18437,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18468,44 +18619,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19404,6 +19517,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19414,6 +19541,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20432,6 +20563,7 @@ msgstr "Dirección de correo electrónico"
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20518,6 +20650,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20814,6 +20947,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -21226,11 +21366,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22307,6 +22442,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24482,11 +24618,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24494,6 +24632,12 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Email address"
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr "Dirección de correo electrónico"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24833,7 +24977,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25436,6 +25581,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26506,6 +26675,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27693,11 +27863,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28332,8 +28497,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2025-12-24 00:00+0000\n"
|
||||
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
|
||||
"Language-Team: Estonian <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Inglise"
|
||||
@@ -1201,6 +1169,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1333,6 +1314,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2160,30 +2201,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2575,12 +2592,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2694,7 +2705,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2860,7 +2871,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3783,6 +3794,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4400,8 +4412,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5696,23 +5708,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6491,7 +6486,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6510,7 +6505,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -6979,6 +6974,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7535,11 +7536,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8665,6 +8661,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10197,11 +10199,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11682,6 +11684,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12877,7 +12880,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12901,7 +12904,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13076,6 +13079,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13113,13 +13132,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13347,6 +13359,36 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Device actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "User email"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14524,6 +14566,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14637,6 +14680,53 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16342,10 +16432,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16614,6 +16700,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17031,8 +17118,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17043,7 +17130,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17178,6 +17264,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17733,6 +17820,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17893,6 +17996,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18007,69 +18198,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18244,44 +18372,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19180,6 +19270,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19190,6 +19294,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20204,6 +20312,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20290,6 +20399,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20586,6 +20696,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -20998,11 +21115,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22079,6 +22191,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24237,11 +24350,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24249,6 +24364,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24588,7 +24707,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25191,6 +25311,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26248,6 +26392,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27435,11 +27580,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28074,8 +28214,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-06 15:52+0000\n"
|
||||
"PO-Revision-Date: 2024-09-06 08:47+0000\n"
|
||||
"PO-Revision-Date: 2026-07-29 11:04+0000\n"
|
||||
"Last-Translator: Albizuri <oier@puntu.eus>\n"
|
||||
"Language-Team: Basque <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||
"eu/>\n"
|
||||
@@ -17,7 +17,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 5.7\n"
|
||||
"X-Generator: Weblate 2026.7.1\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js
|
||||
msgid "Marked as paid"
|
||||
@@ -619,7 +619,7 @@ msgstr ""
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js
|
||||
msgid "Powered by pretix"
|
||||
msgstr ""
|
||||
msgstr "pretix-ek sustatua"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/editor.js
|
||||
msgid "Object"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2025-10-04 10:10+0000\n"
|
||||
"Last-Translator: Sebastian Bożek <sebastian@log-mar.pl>\n"
|
||||
"Language-Team: Finnish <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.13.3\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Kauppa on suljettu"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Ennakkomyynti on päättynyt"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Ennakkomyynti ei ole alkanut"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "Myynnissä"
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "englanti"
|
||||
@@ -1316,6 +1284,19 @@ msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
"Lataa taulukko kaikista tällä hetkellä rekisteröidyistä asiakastileistä."
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Asiakkaat"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1448,6 +1429,72 @@ msgstr "Kyllä"
|
||||
msgid "No"
|
||||
msgstr "Ei"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testitila"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Peruttu"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Jäsenyystyyppi"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Purchase time"
|
||||
msgid "Purchase ticket"
|
||||
msgstr "Oston kellonaika"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Alkupäivämäärä"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Start time from"
|
||||
msgid "Start time"
|
||||
msgstr "Alkuaika"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Loppupäivämäärä"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "End: %(time)s"
|
||||
msgid "End time"
|
||||
msgstr "Päättyy: %(time)s"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2302,30 +2349,6 @@ msgstr "peruutettu"
|
||||
msgid "Position ID"
|
||||
msgstr "Paikkatunniste"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Alkupäivämäärä"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Loppupäivämäärä"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2734,12 +2757,6 @@ msgstr "Lataa laskentaohjelmataulukko kaikista lahjakorttitapahtumista."
|
||||
msgid "Gift card code"
|
||||
msgstr "Lahjakortin koodi"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testitila"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2855,7 +2872,7 @@ msgstr "Vanhentunut ja arvolla varustettu"
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -3026,7 +3043,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr "Tämä käyttäjätunnuksen ja salasanan yhdistelmä ei ole tiedossamme."
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr "Tietoturvasyistä, odota 5 minuuttia ennen kuin yrität uudelleen."
|
||||
|
||||
@@ -4009,6 +4026,7 @@ msgstr "Salli kiintiön ohittaminen"
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4711,8 +4729,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -6243,23 +6261,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr "Montako kertaa tätä jäsenyyttä voidaan käyttää oston yhteydessä."
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Peruttu"
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Jäsenyystyyppi"
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr "odottaa"
|
||||
@@ -7126,7 +7127,7 @@ msgstr "Tämä variaatio ei kuulu tähän tuotteeseen."
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr "Tällä hetkellä ei ole mahdollista luoda arvoseteleitä lisätuotteille."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -7151,7 +7152,7 @@ msgstr ""
|
||||
"Käyttökertojen enimmäismäärä ei saa olla pienempi kuin käyttökertojen "
|
||||
"vähimmäismäärä."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7674,6 +7675,12 @@ msgstr "Tapahtuman järjestäjä ei hyväksy tätä lahjakorttia."
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr "Tämä lahjakortti käytettiin sillä välin. Yritä uudelleen."
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr "Lipun koodi (viivakoodin sisältö)"
|
||||
@@ -8274,11 +8281,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Asiakkaat"
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr "Laitteet"
|
||||
@@ -9585,6 +9587,18 @@ msgstr ""
|
||||
"Et voi muuttaa sellaisen position hintaa, jota on käytetty lahjakortin "
|
||||
"myöntämiseen."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot change the price of a position that has been used to issue a "
|
||||
#| "gift card."
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
"Et voi muuttaa sellaisen position hintaa, jota on käytetty lahjakortin "
|
||||
"myöntämiseen."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -11450,13 +11464,13 @@ msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
"Näytämme tämän julkisesti, jotta osallistujat voivat ottaa sinuun yhteyttä."
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
#, fuzzy
|
||||
#| msgid "Contact:"
|
||||
msgid "Contact URL"
|
||||
msgstr "Kontakti:"
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -13470,6 +13484,7 @@ msgstr "Saat tämän sähköpostiviestin, koska olet tehnyt {event}tilauksen."
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -14755,7 +14770,7 @@ msgstr "Kaikki tilaukset"
|
||||
msgid "Valid orders"
|
||||
msgstr "Voimassaolevat tilaukset"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -14779,7 +14794,7 @@ msgstr "Odottaa tai maksettu"
|
||||
msgid "Cancellations"
|
||||
msgstr "Peruutukset"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr "Peruttu (kokonaan)"
|
||||
|
||||
@@ -14954,6 +14969,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr "Epäaktiivinen"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Ennakkomyynti ei ole alkanut"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Ennakkomyynti on päättynyt"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -14991,13 +15022,6 @@ msgstr "aktiivinen"
|
||||
msgid "not yet activated"
|
||||
msgstr "ei vielä aktivoitu"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr "Ei jäseniä"
|
||||
@@ -15227,6 +15251,42 @@ msgstr "Peruutetut laitteet"
|
||||
msgid "Search email address or subject"
|
||||
msgstr "Vaadi sähköpostiosoitteet per lippu"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Lähde"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "All orders"
|
||||
msgid "All sources"
|
||||
msgstr "Kaikki tilaukset"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Device status"
|
||||
msgid "Device actions"
|
||||
msgstr "Laitteen status"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order total"
|
||||
msgid "User email"
|
||||
msgstr "Tilauksen summa"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -16434,6 +16494,7 @@ msgstr "Valinnainen"
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr "muuta"
|
||||
@@ -16547,6 +16608,65 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot create a voucher that blocks quota as the selected product or "
|
||||
#| "quota is currently sold out or completely reserved."
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
"Et voi luoda kuponkia, joka varaa kiintiön, koska valittu tuote tai kiintiö "
|
||||
"on tällä hetkellä loppuunmyyty tai kokonaan varattu."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid "The selected product does not allow to select a seat."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "Valittu tuote ei salli paikan valitsemista."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr "Kiintiössä \"{}\" ei ole tarpeaksi tilaa operaation suorittamiseksi."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr "Koodit"
|
||||
@@ -18303,10 +18423,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -18575,6 +18691,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -19002,8 +19119,8 @@ msgstr "Poista"
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -19014,7 +19131,6 @@ msgstr "Poista"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -19149,6 +19265,7 @@ msgstr "Aikaleima"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -19734,6 +19851,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr "Vahvistus"
|
||||
@@ -19900,6 +20033,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -20020,69 +20241,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr "Luo QR koodi"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -20269,44 +20427,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -21221,6 +21341,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Kauppa on suljettu"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "Myynnissä"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -21231,6 +21365,12 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#, fuzzy
|
||||
#| msgid "Specific seat"
|
||||
msgid "Specific object selected"
|
||||
msgstr "Erityinen istuin"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -22254,6 +22394,7 @@ msgstr "Vaihda useita laitteita"
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -22343,6 +22484,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -22639,6 +22781,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -23068,11 +23217,6 @@ msgstr "Vahvista maksu"
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Lähde"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -24172,6 +24316,7 @@ msgstr "Vaihda useita laitteita"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -26384,11 +26529,13 @@ msgid "Copy codes"
|
||||
msgstr "Kopioi koodit"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr "Kupongin yksityiskohdat"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -26396,6 +26543,12 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Create multiple vouchers"
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr "Luo monta kuponkia"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -26742,7 +26895,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -27363,6 +27517,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -28457,6 +28635,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -29760,11 +29939,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr "PayPal-tili"
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr "Klikkaa tästä saadaksesi ohjeet tarvittavien avainten hankkimiseen"
|
||||
@@ -30492,15 +30666,25 @@ msgid "Base redirection URLs"
|
||||
msgstr "Perusuudelleenohjauksen URL-osoitteet"
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Redirection will only be allowed to URLs that start with one of these "
|
||||
#| "prefixes. Enter one or more allowed URL prefix per line. URL prefixes "
|
||||
#| "must include a slash after the hostname."
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
"Uudelleenohjaus sallitaan vain URL-osoitteisiin, jotka alkavat jollakin "
|
||||
"näistä etuliitteistä. Kirjoita yksi tai useampi sallittu URL-etuliite riviä "
|
||||
"kohti. URL-etuliitteissä on oltava isäntänimen jälkeen vinoviiva."
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
msgid "Send out emails to all your customers or specific groups of customers."
|
||||
msgstr ""
|
||||
@@ -35502,6 +35686,11 @@ msgstr "Kirjoita käyttöoikeudet"
|
||||
msgid "Kosovo"
|
||||
msgstr "Kosovo"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
#~ msgstr ""
|
||||
#~ "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Account information"
|
||||
#~ msgid "Account invitation"
|
||||
|
||||
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2025-02-13 22:00+0000\n"
|
||||
"Last-Translator: Andrias Magnussen <andrias.magnussen@om.org>\n"
|
||||
"Language-Team: Faroese <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -19,38 +19,6 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.9.2\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Enskt"
|
||||
@@ -1250,6 +1218,19 @@ msgstr ""
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1382,6 +1363,66 @@ msgstr ""
|
||||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Purchase ticket"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "Start time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
msgid "End time"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2209,30 +2250,6 @@ msgstr ""
|
||||
msgid "Position ID"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2628,12 +2645,6 @@ msgstr ""
|
||||
msgid "Gift card code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2747,7 +2758,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -2913,7 +2924,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
|
||||
@@ -3836,6 +3847,7 @@ msgstr ""
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4457,8 +4469,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -5753,23 +5765,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr ""
|
||||
@@ -6548,7 +6543,7 @@ msgstr ""
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -6567,7 +6562,7 @@ msgid ""
|
||||
"usages."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7036,6 +7031,12 @@ msgstr ""
|
||||
msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr ""
|
||||
@@ -7601,11 +7602,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr ""
|
||||
@@ -8733,6 +8729,12 @@ msgid ""
|
||||
"card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -10265,11 +10267,11 @@ msgstr ""
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid "Contact URL"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -11752,6 +11754,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -12947,7 +12950,7 @@ msgstr ""
|
||||
msgid "Valid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr ""
|
||||
|
||||
@@ -12971,7 +12974,7 @@ msgstr ""
|
||||
msgid "Cancellations"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr ""
|
||||
|
||||
@@ -13146,6 +13149,22 @@ msgstr ""
|
||||
msgid "Inactive"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -13183,13 +13202,6 @@ msgstr ""
|
||||
msgid "not yet activated"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr ""
|
||||
@@ -13417,6 +13429,40 @@ msgstr ""
|
||||
msgid "Search email address or subject"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "All sources"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Redirection URIs"
|
||||
msgid "Device actions"
|
||||
msgstr "URL til víðarstilling"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order denied"
|
||||
msgid "User email"
|
||||
msgstr "Bílegging avvíst"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr ""
|
||||
@@ -14596,6 +14642,7 @@ msgstr ""
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr ""
|
||||
@@ -14709,6 +14756,62 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "One of the selected products is not available in the selected country."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "Eitt av produktunum, sum tú hevur valt, er ikki tøkt í valda landinum."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr ""
|
||||
"Tað eru ikki nóg nógvar eindir eftir á kvotuni \"{}\" til at gjøgnumføra "
|
||||
"hesi boð."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr ""
|
||||
@@ -16422,10 +16525,6 @@ msgstr ""
|
||||
msgid "Account history"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -16694,6 +16793,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -17111,8 +17211,8 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -17123,7 +17223,6 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -17258,6 +17357,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr ""
|
||||
@@ -17817,6 +17917,22 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr ""
|
||||
@@ -17977,6 +18093,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -18091,69 +18295,6 @@ msgstr ""
|
||||
msgid "Create QR code"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -18330,44 +18471,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -19266,6 +19369,20 @@ msgstr ""
|
||||
msgid "More quotas"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -19276,6 +19393,10 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
msgid "Specific object selected"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -20290,6 +20411,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr ""
|
||||
@@ -20376,6 +20498,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr ""
|
||||
|
||||
@@ -20672,6 +20795,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -21084,11 +21214,6 @@ msgstr ""
|
||||
msgid "Create a refund"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr ""
|
||||
@@ -22165,6 +22290,7 @@ msgstr ""
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr ""
|
||||
@@ -24327,11 +24453,13 @@ msgid "Copy codes"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -24339,6 +24467,10 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -24678,7 +24810,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -25281,6 +25414,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr ""
|
||||
@@ -26350,6 +26507,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -27537,11 +27695,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr ""
|
||||
@@ -28176,8 +28329,13 @@ msgstr ""
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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: 2026-07-07 09:30+0000\n"
|
||||
"POT-Creation-Date: 2026-07-30 13:52+0000\n"
|
||||
"PO-Revision-Date: 2025-03-04 16:16+0000\n"
|
||||
"Last-Translator: Martin Gross <gross@rami.io>\n"
|
||||
"Language-Team: Croatian <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
@@ -20,38 +20,6 @@ msgstr ""
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.10.2\n"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Trgovina onemogućena"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Pretprodaja završena"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Pretprodaja nije započela"
|
||||
|
||||
#: htmlcov/d_daa1541d0cbf5e2b_dashboards_py.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "U prodaji"
|
||||
|
||||
#: pretix/_base_settings.py
|
||||
msgid "English"
|
||||
msgstr "Engleski"
|
||||
@@ -1319,6 +1287,19 @@ msgstr "Korisnički profili"
|
||||
msgid "Download a spreadsheet of all currently registered customer accounts."
|
||||
msgstr "Preuzmite tablicu svih trenutno registriranih korisničkih računa."
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/permissions.py
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Kupci"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr "Članstva"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/customers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
@@ -1451,6 +1432,72 @@ msgstr "Da"
|
||||
msgid "No"
|
||||
msgstr "Ne"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testni mod"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Otkazano"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Vrsta članstva"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Purchase time"
|
||||
msgid "Purchase ticket"
|
||||
msgstr "Vrijeme kupnje"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/forms/questions.py
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Datum početka"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "Start time from"
|
||||
msgid "Start time"
|
||||
msgstr "Vrijeme početka od"
|
||||
|
||||
#: pretix/base/exporters/customers.py pretix/base/exporters/orderlist.py
|
||||
#: pretix/base/exporters/waitinglist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#: pretix/base/exporters/customers.py
|
||||
#, fuzzy
|
||||
#| msgid "End: %(time)s"
|
||||
msgid "End time"
|
||||
msgstr "Kraj: %(time)s"
|
||||
|
||||
#: pretix/base/exporters/dekodi.py pretix/base/exporters/invoices.py
|
||||
msgctxt "export_category"
|
||||
msgid "Invoices"
|
||||
@@ -2305,30 +2352,6 @@ msgstr "Otkazano"
|
||||
msgid "Position ID"
|
||||
msgstr "ID pozicije"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/forms/questions.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/rrule.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "Start date"
|
||||
msgstr "Datum početka"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
#: pretix/plugins/checkinlists/exporters.py
|
||||
msgid "End date"
|
||||
msgstr "Datum završetka"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/exporters/waitinglist.py
|
||||
#: pretix/base/modelimport_orders.py pretix/base/modelimport_vouchers.py
|
||||
#: pretix/base/models/items.py pretix/base/models/vouchers.py
|
||||
@@ -2737,12 +2760,6 @@ msgstr "Preuzmite proračunsku tablicu svih transakcija poklon kartica."
|
||||
msgid "Gift card code"
|
||||
msgstr "Kod poklon kartice"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/memberships.py
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/event/live.html
|
||||
msgid "Test mode"
|
||||
msgstr "Testni mod"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py pretix/base/models/organizer.py
|
||||
#: pretix/control/forms/event.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/email_setup.html
|
||||
@@ -2859,7 +2876,7 @@ msgstr "Isteklo i s vrijednošću"
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/plugins/reports/exporters.py pretix/plugins/sendmail/forms.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_giftcards.html
|
||||
msgid "Expired"
|
||||
@@ -3029,7 +3046,7 @@ msgid "This combination of credentials is not known to our system."
|
||||
msgstr "Ova kombinacija vjerodajnica nije poznata našem sustavu."
|
||||
|
||||
#: pretix/base/forms/auth.py pretix/base/forms/user.py
|
||||
#: pretix/presale/forms/customer.py
|
||||
#: pretix/control/views/user.py pretix/presale/forms/customer.py
|
||||
msgid "For security reasons, please wait 5 minutes before you try again."
|
||||
msgstr ""
|
||||
"Iz sigurnosnih razloga, pričekajte 5 minuta prije nego što pokušate ponovno."
|
||||
@@ -4022,6 +4039,7 @@ msgstr "Dozvoli zaobilaženje kvote"
|
||||
|
||||
#: pretix/base/modelimport_vouchers.py pretix/base/models/vouchers.py
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/views/vouchers.py
|
||||
msgid "Price effect"
|
||||
@@ -4727,8 +4745,8 @@ msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
"This will be used to let users know if the event is in a different timezone, "
|
||||
"and to let us calculate the local time of a user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/models/event.py pretix/base/models/organizer.py
|
||||
@@ -6229,23 +6247,6 @@ msgstr ""
|
||||
msgid "Number of times this membership can be used in a purchase."
|
||||
msgstr "Broj puta koliko se ovo članstvo može koristiti u kupnji."
|
||||
|
||||
#: pretix/base/models/memberships.py pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/orders/fragment_order_status.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/overview.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/plugins/reports/exporters.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_order_status.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
msgid "Canceled"
|
||||
msgstr "Otkazano"
|
||||
|
||||
#: pretix/base/models/memberships.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_membership.html
|
||||
msgid "Membership type"
|
||||
msgstr "Vrsta članstva"
|
||||
|
||||
#: pretix/base/models/orders.py
|
||||
msgid "pending"
|
||||
msgstr "na čekanju"
|
||||
@@ -7060,7 +7061,7 @@ msgstr "Ova varijacija ne pripada ovom proizvodu."
|
||||
msgid "It is currently not possible to create vouchers for add-on products."
|
||||
msgstr "Trenutno nije moguće kreirati vaučere za dodatne proizvode."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You need to select a specific product or quota if this voucher should "
|
||||
"reserve tickets."
|
||||
@@ -7083,7 +7084,7 @@ msgstr ""
|
||||
"Maksimalni broj korištenja ne smije biti manji od minimalnog broja "
|
||||
"korištenja."
|
||||
|
||||
#: pretix/base/models/vouchers.py
|
||||
#: pretix/base/models/vouchers.py pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"If you want this voucher to block quota, you need to select a specific date."
|
||||
msgstr ""
|
||||
@@ -7574,6 +7575,12 @@ msgid "This gift card was used in the meantime. Please try again."
|
||||
msgstr ""
|
||||
"Ova poklon kartica je u međuvremenu iskorištena. Molimo pokušajte ponovno."
|
||||
|
||||
#: pretix/base/payment.py
|
||||
msgid ""
|
||||
"This payment provider exists for historical purposes only and is no longer "
|
||||
"usable."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/pdf.py
|
||||
msgid "Ticket code (barcode content)"
|
||||
msgstr "Kod ulaznice (sadržaj barkoda)"
|
||||
@@ -8180,11 +8187,6 @@ msgid ""
|
||||
"permissions."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
msgid "Customers"
|
||||
msgstr "Kupci"
|
||||
|
||||
#: pretix/base/permissions.py pretix/control/navigation.py
|
||||
msgid "Devices"
|
||||
msgstr "Uređaji"
|
||||
@@ -9404,6 +9406,18 @@ msgstr ""
|
||||
"Ne možete promijeniti cijenu pozicije koja je korištena za izdavanje poklon "
|
||||
"kartice."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "You cannot change the price of a position that has been used to issue a "
|
||||
#| "gift card."
|
||||
msgid ""
|
||||
"You cannot change the ticket secret of a position that has been used to "
|
||||
"issue a gift card."
|
||||
msgstr ""
|
||||
"Ne možete promijeniti cijenu pozicije koja je korištena za izdavanje poklon "
|
||||
"kartice."
|
||||
|
||||
#: pretix/base/services/orders.py
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
@@ -11033,13 +11047,13 @@ msgstr "Kontakt adresa"
|
||||
msgid "We'll show this publicly to allow attendees to contact you."
|
||||
msgstr "Prikazat ćemo ovo javno kako bi sudionici mogli kontaktirati vas."
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
#, fuzzy
|
||||
#| msgid "Contact:"
|
||||
msgid "Contact URL"
|
||||
msgstr "Kontakt:"
|
||||
|
||||
#: pretix/base/settings.py pretix/control/forms/event.py
|
||||
#: pretix/base/settings.py
|
||||
msgid ""
|
||||
"If you set this, the footer contact link will point here instead of using "
|
||||
"the email address above. Please note that you still need to add a contact "
|
||||
@@ -12587,6 +12601,7 @@ msgstr "Primili ste ovu e-poštu jer ste naručili za {event}."
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer_membership.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customers.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcard.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
@@ -13814,7 +13829,7 @@ msgstr "Sve narudžbe"
|
||||
msgid "Valid orders"
|
||||
msgstr "Valjane narudžbe"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Paid (or canceled with paid fee)"
|
||||
msgstr "Plaćeno (ili otkazano s plaćenom naknadom)"
|
||||
|
||||
@@ -13838,7 +13853,7 @@ msgstr "Na čekanju ili plaćeno"
|
||||
msgid "Cancellations"
|
||||
msgstr "Otkazivanja"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/forms/filter.py pretix/plugins/sendmail/forms.py
|
||||
msgid "Canceled (fully)"
|
||||
msgstr "Otkazano (potpuno)"
|
||||
|
||||
@@ -14015,6 +14030,22 @@ msgstr "Trgovina uživo i predprodaja u tijeku"
|
||||
msgid "Inactive"
|
||||
msgstr "Neaktivno"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale not started"
|
||||
msgstr "Pretprodaja nije započela"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
msgid "Presale over"
|
||||
msgstr "Pretprodaja završena"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html
|
||||
msgid "Date from"
|
||||
@@ -14052,13 +14083,6 @@ msgstr "aktivan"
|
||||
msgid "not yet activated"
|
||||
msgstr "još nije aktivirano"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/customer.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/customer_memberships.html
|
||||
#: pretix/presale/views/customer.py
|
||||
msgid "Memberships"
|
||||
msgstr "Članstva"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Has no memberships"
|
||||
msgstr "Nema članstava"
|
||||
@@ -14288,6 +14312,42 @@ msgstr "Opozvani uređaji"
|
||||
msgid "Search email address or subject"
|
||||
msgstr "Zahtijevajte e-mail adrese po ulaznici"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Izvor"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "All vouchers"
|
||||
msgid "All sources"
|
||||
msgstr "Svi vaučeri"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Team actions"
|
||||
msgstr "Radnje tima"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
msgid "Customer actions"
|
||||
msgstr "Radnje kupaca"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Device status"
|
||||
msgid "Device actions"
|
||||
msgstr "Status uređaja"
|
||||
|
||||
#: pretix/control/forms/filter.py
|
||||
#, fuzzy
|
||||
#| msgid "Order details"
|
||||
msgid "User email"
|
||||
msgstr "Detalji narudžbe"
|
||||
|
||||
#: pretix/control/forms/filter.py pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr "Svi korisnici"
|
||||
|
||||
#: pretix/control/forms/global_settings.py
|
||||
msgid "Additional footer text"
|
||||
msgstr "Dodatni tekst u podnožju"
|
||||
@@ -15499,6 +15559,7 @@ msgstr "Neobavezno"
|
||||
#: pretix/control/forms/renderers.py
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
msgctxt "form_bulk"
|
||||
msgid "change"
|
||||
msgstr "promjena"
|
||||
@@ -15613,6 +15674,59 @@ msgid ""
|
||||
"should show them."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You cannot reduce the maximum number of redemptions to %(max_usages)s, "
|
||||
"because at least one of the selected vouchers has already been redeemed "
|
||||
"%(max_redeemed)s times."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"You cannot create a voucher that allows selection of a quota but has no date "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid "The selected product does not allow to select a seat."
|
||||
msgid "The selected quota does not match the selected subevent."
|
||||
msgstr "Odabrani proizvod ne dopušta odabir sjedala."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "There is not enough quota available on quota \"{}\" to perform the "
|
||||
#| "operation."
|
||||
msgid "There is no sufficient quota available to perform this change."
|
||||
msgstr "Nema dovoljno kvote na kvoti \"{}\" za izvršenje operacije."
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the maximum number of usages in bulk is not supported if any of the "
|
||||
"selected vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgctxt "subevent"
|
||||
msgid ""
|
||||
"Changing the date in bulk is not supported if any of the selected vouchers "
|
||||
"is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"Changing the product to a quota is not supported if any of the selected "
|
||||
"vouchers is assigned a seat."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid ""
|
||||
"This change cannot be completed because not all assigned seats of the "
|
||||
"vouchers are still available"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/forms/vouchers.py
|
||||
msgid "Codes"
|
||||
msgstr "Kodovi"
|
||||
@@ -17380,10 +17494,6 @@ msgstr "Autorizirane aplikacije"
|
||||
msgid "Account history"
|
||||
msgstr "Povijest profila"
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
msgid "All users"
|
||||
msgstr "Svi korisnici"
|
||||
|
||||
#: pretix/control/navigation.py
|
||||
#: pretix/control/templates/pretixcontrol/user/staff_session_list.html
|
||||
msgid "Admin sessions"
|
||||
@@ -17652,6 +17762,7 @@ msgstr "Postavi novu lozinku"
|
||||
#: pretix/control/templates/pretixcontrol/users/create.html
|
||||
#: pretix/control/templates/pretixcontrol/users/form.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/edit.html
|
||||
#: pretix/plugins/autocheckin/templates/pretixplugins/autocheckin/add.html
|
||||
@@ -18075,8 +18186,8 @@ msgstr "Izbriši"
|
||||
#: pretix/control/templates/pretixcontrol/checkin/checkins.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/index.html
|
||||
#: pretix/control/templates/pretixcontrol/checkin/lists.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/index.html
|
||||
@@ -18087,7 +18198,6 @@ msgstr "Izbriši"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/giftcards.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/reusable_media.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/teams.html
|
||||
@@ -18222,6 +18332,7 @@ msgstr "Vremenska oznaka"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/outgoing_mails.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
#: pretix/control/templates/pretixcontrol/waitinglist/index.html
|
||||
msgid "Select all results on other pages as well"
|
||||
msgstr "Odaberi sve rezultate na drugim stranicama"
|
||||
@@ -18810,6 +18921,26 @@ msgstr ""
|
||||
msgid "We found an SPF record on your domain that includes this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid "Your new SPF record could look like this:"
|
||||
msgid "Your new DKIM record should be set up as a CNAME record like this:"
|
||||
msgstr "Vaš novi SPF zapis bi mogao izgledati ovako:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DKIM record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
#, fuzzy
|
||||
#| msgid "Your new SPF record could look like this:"
|
||||
msgid "Your new DMARC record could look like this:"
|
||||
msgstr "Vaš novi SPF zapis bi mogao izgledati ovako:"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "We found a DMARC record on your domain for this system. Great!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/email_setup_simple.html
|
||||
msgid "Verification"
|
||||
msgstr "Provjera"
|
||||
@@ -18972,6 +19103,94 @@ msgid ""
|
||||
"undeletable data, such as orders not performed in test mode."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr "Osobni podaci su uklonjeni iz ovog zapisa dnevnika."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr "Ovu promjenu izvršio je pretix administrator."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr "Pregledaj"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr "Prikaži preplaćene narudžbe"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr "Prikaži povrate na čekanju"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr "Prikaži narudžbe koje traže otkazivanje"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr "Prikaži narudžbe na čekanju za odobrenje"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show affected orders"
|
||||
msgstr "Prikaži pogođene narudžbe"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/dashboard_partial_warnings.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/delete.html
|
||||
msgid ""
|
||||
"This operation will destroy your event including all configuration, "
|
||||
@@ -19086,69 +19305,6 @@ msgstr "URL trgovine:"
|
||||
msgid "Create QR code"
|
||||
msgstr "Kreiraj QR kod"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>overpaid orders</strong>, for example due to "
|
||||
"duplicate payment attempts. You should review the cases and consider "
|
||||
"refunding the overpaid amount to the user."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show overpaid orders"
|
||||
msgstr "Prikaži preplaćene narudžbe"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending refunds</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show pending refunds"
|
||||
msgstr "Prikaži povrate na čekanju"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>requested cancellations</strong> that you should "
|
||||
"take care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders requesting cancellation"
|
||||
msgstr "Prikaži narudžbe koje traže otkazivanje"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>pending approvals</strong> that you should take "
|
||||
"care of."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show orders pending approval"
|
||||
msgstr "Prikaži narudžbe na čekanju za odobrenje"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"This event contains <strong>fully paid orders</strong> that are not marked "
|
||||
"as paid, probably because no quota was left at the time their payment "
|
||||
"arrived. You should review the cases and consider either refunding the "
|
||||
"customer or creating more space."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show affected orders"
|
||||
msgstr "Prikaži pogođene narudžbe"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid ""
|
||||
"Orders in this event could not be <strong>synced to an external system</"
|
||||
"strong> as configured."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
msgid "Show sync problems"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/index.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Update comment"
|
||||
@@ -19333,44 +19489,6 @@ msgstr ""
|
||||
msgid "Enable test mode"
|
||||
msgstr "Omogući testni način"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "All actions"
|
||||
msgstr "Sve radnje"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Team actions"
|
||||
msgstr "Radnje tima"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
msgid "Customer actions"
|
||||
msgstr "Radnje kupaca"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "Personal data was cleared from this log entry."
|
||||
msgstr "Osobni podaci su uklonjeni iz ovog zapisa dnevnika."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
msgid "This change was performed by a pretix administrator."
|
||||
msgstr "Ovu promjenu izvršio je pretix administrator."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/event/logs_embed.html
|
||||
#: pretix/control/templates/pretixcontrol/includes/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/search/payments.html
|
||||
msgid "Inspect"
|
||||
msgstr "Pregledaj"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/event/logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_logs.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/logs.html
|
||||
@@ -20290,6 +20408,20 @@ msgstr "Nema datuma"
|
||||
msgid "More quotas"
|
||||
msgstr "Više kvota"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "Shop disabled"
|
||||
msgstr "Trgovina onemogućena"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/detail.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/views/dashboards.py
|
||||
msgid "On sale"
|
||||
msgstr "U prodaji"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/events/index.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/detail.html
|
||||
msgid "Open event dashboard"
|
||||
@@ -20300,6 +20432,12 @@ msgctxt "typography"
|
||||
msgid "The quick brown fox jumps over the lazy dog."
|
||||
msgstr "Brza smeđa lisica skače preko lijenog psa."
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_log_filter_form.html
|
||||
#, fuzzy
|
||||
#| msgid "Specific seat"
|
||||
msgid "Specific object selected"
|
||||
msgstr "Specifično sjedalo"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box.html
|
||||
#: pretix/control/templates/pretixcontrol/fragment_quota_box_paid.html
|
||||
msgid "Quota:"
|
||||
@@ -21327,6 +21465,7 @@ msgstr "Promijeni više datuma"
|
||||
#: pretix/control/templates/pretixcontrol/items/quota_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, python-format
|
||||
msgid "%(number)s selected"
|
||||
msgstr "%(number)s odabrano"
|
||||
@@ -21417,6 +21556,7 @@ msgstr "Izbriši odabrano"
|
||||
#: pretix/control/templates/pretixcontrol/items/quotas.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/devices.html
|
||||
#: pretix/control/templates/pretixcontrol/subevents/index.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/index.html
|
||||
msgid "Edit selected"
|
||||
msgstr "Uredi odabrano"
|
||||
|
||||
@@ -21713,6 +21853,13 @@ msgid ""
|
||||
"the customer account."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
#: pretix/control/views/orders.py
|
||||
msgid ""
|
||||
"Ticket secrets of order positions that have been used to issue a gift card "
|
||||
"can not be changed. Only the link will be changed in this case."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/change.html
|
||||
msgid ""
|
||||
"Removing or splitting this position will also remove or split all add-ons to "
|
||||
@@ -22146,11 +22293,6 @@ msgstr "Potvrdi kao plaćeno"
|
||||
msgid "Create a refund"
|
||||
msgstr "Kreiraj povrat"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
#: pretix/control/templates/pretixcontrol/orders/refunds.html
|
||||
msgid "Source"
|
||||
msgstr "Izvor"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html
|
||||
msgid "Cancel transfer"
|
||||
msgstr "Otkaži prijenos"
|
||||
@@ -23250,6 +23392,7 @@ msgstr "Promijeni više uređaja"
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/organizers/device_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Advanced settings"
|
||||
msgstr "Napredne postavke"
|
||||
@@ -25478,11 +25621,13 @@ msgid "Copy codes"
|
||||
msgstr "Kopiraj kodove"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Voucher details"
|
||||
msgstr "Detalji vaučera"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid ""
|
||||
"If you choose \"any product\" for a specific quota and choose to reserve "
|
||||
@@ -25490,6 +25635,12 @@ msgid ""
|
||||
"voucher holder if another quota associated with the product is sold out!"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/bulk_edit.html
|
||||
#, fuzzy
|
||||
#| msgid "Create multiple vouchers"
|
||||
msgid "Change multiple vouchers"
|
||||
msgstr "Kreiraj više vaučera"
|
||||
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/delete.html
|
||||
#: pretix/control/templates/pretixcontrol/vouchers/detail.html
|
||||
msgid "Delete voucher"
|
||||
@@ -25831,7 +25982,8 @@ msgstr ""
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"You cannot accept the invitation for \"{}\" as you already are part of this "
|
||||
"team."
|
||||
"team. If you want to add a different user or create a new account, log out "
|
||||
"and click the invitation link again."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/auth.py
|
||||
@@ -26460,6 +26612,30 @@ msgid ""
|
||||
"record."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We could not find a CNAME record pointing to our DKIM key for domain you are "
|
||||
"trying to use. This means that there is a very high change most of the "
|
||||
"emails will be rejected or marked as spam. We strongly recommend setting up "
|
||||
"DKIM through a CNAME record. You can do so through the DNS settings at the "
|
||||
"provider you registered your domain with."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We found a CNAME record for a DKIM key, but it is not pointing to the right "
|
||||
"location. This means that there is a very high chance most of the emails "
|
||||
"will be rejected or marked as spam. You should update the DNS settings of "
|
||||
"your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid ""
|
||||
"We did not find DMARC record for your domain. This means that there is a "
|
||||
"very high chance most of the emails will be rejected or marked as spam. You "
|
||||
"should update the DNS settings of your domain."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/control/views/mailsetup.py
|
||||
msgid "The verification code was incorrect, please try again."
|
||||
msgstr "Kôd za provjeru je bio netočan, pokušajte ponovno."
|
||||
@@ -27556,6 +27732,7 @@ msgid "Macao"
|
||||
msgstr ""
|
||||
|
||||
#: pretix/helpers/daterange.py
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html
|
||||
#: pretix/presale/templates/pretixpresale/organizers/index.html
|
||||
@@ -28805,11 +28982,6 @@ msgstr ""
|
||||
msgid "PayPal account"
|
||||
msgstr "PayPal račun"
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
#, python-brace-format
|
||||
msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
msgstr "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
|
||||
#: pretix/plugins/paypal/payment.py pretix/plugins/paypal2/payment.py
|
||||
msgid "Click here for a tutorial on how to obtain the required keys"
|
||||
msgstr "Kliknite ovdje za tutorial o tome kako dobiti potrebne ključeve"
|
||||
@@ -29492,8 +29664,13 @@ msgstr "Osnovni URL-ovi za preusmjeravanje"
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"Redirection will only be allowed to URLs that start with one of these "
|
||||
"prefixes. Enter one or more allowed URL prefix per line. URL prefixes must "
|
||||
"include a slash after the hostname."
|
||||
"prefixes. Enter one allowed URL prefix per line. URL prefixes must include a "
|
||||
"slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/returnurl/views.py
|
||||
msgid ""
|
||||
"All values must be URLs that include at last one slash after the hostname."
|
||||
msgstr ""
|
||||
|
||||
#: pretix/plugins/sendmail/apps.py
|
||||
@@ -34293,6 +34470,14 @@ msgstr "Pravo pisanja"
|
||||
msgid "Kosovo"
|
||||
msgstr "Kosovo"
|
||||
|
||||
#~ msgid "All actions"
|
||||
#~ msgstr "Sve radnje"
|
||||
|
||||
#, python-brace-format
|
||||
#~ msgid "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
#~ msgstr ""
|
||||
#~ "<a target=\"_blank\" rel=\"noopener\" href=\"{docs_url}\">{text}</a>"
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Account information"
|
||||
#~ msgid "Account invitation"
|
||||
|
||||
+7946
-5070
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user