Compare commits

..
Author SHA1 Message Date
Lukas Bockstaller a050506072 styling 2026-02-23 16:09:55 +01:00
Lukas Bockstaller 1d3a9b0345 handle products with only inactive variations 2026-02-23 16:05:57 +01:00
Lukas Bockstaller 2b852e40d9 Merge branch 'master' into lbo-waitinglist-edit 2026-02-23 15:47:25 +01:00
Lukas Bockstaller 4f02b607e5 small review changes 2026-02-20 17:51:52 +01:00
Lukas Bockstaller 14b2c84627 add validation tests 2026-01-12 13:02:56 +01:00
Lukas Bockstaller ed1d86f411 cleanup 2026-01-12 10:51:04 +01:00
Lukas Bockstaller 3e18ee6311 propper use of WrappedPhoneNumberPrefixWidget 2026-01-12 10:50:52 +01:00
Lukas Bockstaller 784a48d28a add queryset to prefetch only active ItemVariations 2026-01-12 10:50:03 +01:00
Lukas Bockstaller f0ddebda6c add queryset to prefetch only active ItemVariations 2026-01-12 10:49:59 +01:00
Lukas Bockstaller 50f02f1ff8 add test for the different edit form variations 2026-01-12 10:48:32 +01:00
Lukas Bockstaller 551b286c31 add better assertions 2026-01-09 17:38:03 +01:00
Lukas Bockstaller 7ff286d2c2 implement small review items 2026-01-09 17:37:53 +01:00
Lukas Bockstaller 3255753222 replace widget 2026-01-09 17:37:11 +01:00
Lukas Bockstaller a400040f06 remove validations 2026-01-09 17:36:49 +01:00
Lukas Bockstaller a227037bb5 remove validations 2026-01-09 17:36:35 +01:00
87c2a958f0 Update src/pretix/control/views/waitinglist.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:57:46 +01:00
a39d57f2b8 Update src/pretix/control/views/waitinglist.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:56:46 +01:00
b5889e0b13 Update src/pretix/control/views/waitinglist.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:55:15 +01:00
d402e1d8f5 Update src/pretix/control/templates/pretixcontrol/waitinglist/index.html
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:50:44 +01:00
7db5669813 Update src/pretix/control/templates/pretixcontrol/waitinglist/edit.html
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:50:29 +01:00
fef4f3c5a7 Update src/pretix/control/urls.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:49:33 +01:00
3e92d509fd Update src/pretix/control/forms/waitinglist.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:48:48 +01:00
2f4fc10575 Update src/pretix/control/forms/waitinglist.py
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-19 13:48:32 +01:00
Lukas Bockstaller 125670537b code style 2025-12-18 12:42:50 +01:00
Lukas Bockstaller aa680391ec add tests 2025-12-18 12:34:58 +01:00
Lukas Bockstaller 730a60ba45 change transfer to edit 2025-12-18 12:33:52 +01:00
Lukas Bockstaller e226bfb8d5 combine edit.html and transfer.html 2025-12-17 17:14:08 +01:00
Lukas Bockstaller 1deb867734 include only products with an enabled waitinglist in the product field 2025-12-16 14:20:33 +01:00
Lukas Bockstaller 8fa492d82f change label from "Item and Variation" to "Product" 2025-12-16 12:52:08 +01:00
Lukas Bockstaller 7c21aed1a7 remove item and variation fields from form
rather set those values during clean
2025-12-16 12:51:36 +01:00
Lukas Bockstaller f26d260471 make name and phone field optional by removing them 2025-12-16 12:50:49 +01:00
308e0d83a6 repair settings check
Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2025-12-11 13:51:13 +01:00
Lukas Bockstaller 01f5872607 add search to the waitinglist view 2025-12-11 10:12:22 +01:00
Lukas Bockstaller 2962f41f13 fix linting 2025-12-10 18:49:34 +01:00
Lukas Bockstaller 4f61c4c889 fix test 2025-12-10 17:53:31 +01:00
Lukas Bockstaller ab250bcb19 add testcases for new edit view 2025-12-10 17:34:42 +01:00
Lukas Bockstaller cc57fab671 fix linting 2025-12-10 16:19:33 +01:00
Lukas Bockstaller 9663306c3f add test and fix behaviour when name isn't asked for 2025-12-10 16:17:13 +01:00
Lukas Bockstaller d5fda6d319 add edit view for waitinglist entry 2025-12-10 15:40:40 +01:00
63 changed files with 13685 additions and 16541 deletions
+1 -1
View File
@@ -19,4 +19,4 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
__version__ = "2026.2.2"
__version__ = "2026.2.0.dev0"
+1 -1
View File
@@ -1121,7 +1121,7 @@ class CheckinViewSet(viewsets.ReadOnlyModelViewSet):
permission = 'can_view_orders'
def get_queryset(self):
qs = Checkin.all.filter(list__event=self.request.event).select_related(
qs = Checkin.all.filter().select_related(
"position",
"device",
)
-2
View File
@@ -183,7 +183,6 @@ class ParametrizedGiftcardWebhookEvent(ParametrizedWebhookEvent):
return {
'notification_id': logentry.pk,
'issuer_id': logentry.organizer_id,
'issuer_slug': logentry.organizer.slug,
'giftcard': giftcard.pk,
'action': logentry.action_type,
}
@@ -198,7 +197,6 @@ class ParametrizedGiftcardTransactionWebhookEvent(ParametrizedWebhookEvent):
return {
'notification_id': logentry.pk,
'issuer_id': logentry.organizer_id,
'issuer_slug': logentry.organizer.slug,
'acceptor_id': logentry.parsed_data.get('acceptor_id'),
'acceptor_slug': logentry.parsed_data.get('acceptor_slug'),
'giftcard': giftcard.pk,
+4 -8
View File
@@ -870,15 +870,11 @@ class MailSettingsPreview(EventPermissionRequiredMixin, View):
)
except ValueError:
msgs[self.supported_locale[idx]] = format_html(
'<div class="alert alert-danger">{}</div>',
PlaceholderValidator.error_message
)
msgs[self.supported_locale[idx]] = '<div class="alert alert-danger">{}</div>'.format(
PlaceholderValidator.error_message)
except KeyError as e:
msgs[self.supported_locale[idx]] = format_html(
'<div class="alert alert-danger">{}</div>',
_('Invalid placeholder: {%(value)s}') % {'value': e.args[0]}
)
msgs[self.supported_locale[idx]] = '<div class="alert alert-danger">{}</div>'.format(
_('Invalid placeholder: {%(value)s}') % {'value': e.args[0]})
return JsonResponse({
'item': preview_item,
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
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
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
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-02-24 11:50+0000\n"
"POT-Creation-Date: 2026-02-20 13:01+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
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
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
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
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
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
+4 -4
View File
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-26 09:10+0000\n"
"PO-Revision-Date: 2026-02-23 10:00+0000\n"
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
"PO-Revision-Date: 2026-02-12 20:00+0000\n"
"Last-Translator: Yasunobu YesNo Kawaguchi <kawaguti@gmail.com>\n"
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix-"
"js/ja/>\n"
"Language: ja\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.16\n"
"X-Generator: Weblate 5.15.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -256,7 +256,7 @@ msgstr "承認保留中"
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:48
msgid "Redeemed"
msgstr "引き換え済み"
msgstr "使用済"
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:49
msgid "Cancel"
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
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
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
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
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
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
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
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
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
File diff suppressed because it is too large Load Diff
@@ -229,11 +229,6 @@ class TicketRendererViewSet(viewsets.ViewSet):
@action(detail=False, methods=['GET'], url_name='download', url_path='download/(?P<asyncid>[^/]+)/(?P<cfid>[^/]+)')
def download(self, *args, **kwargs):
cf = get_object_or_404(CachedFile, id=kwargs['cfid'])
if not cf.allowed_for_session(self.request, "ticketoutputpdf-api"):
return Response(
{'status': 'failed', 'message': 'Unknown file ID or export failed'},
status=status.HTTP_410_GONE
)
if cf.file:
resp = ChunkBasedFileResponse(cf.file.file, content_type=cf.type)
resp['Content-Disposition'] = 'attachment; filename="{}"'.format(cf.filename).encode("ascii", "ignore")
@@ -270,7 +265,6 @@ class TicketRendererViewSet(viewsets.ViewSet):
serializer.is_valid(raise_exception=True)
cf = CachedFile(web_download=False)
cf.bind_to_session(self.request, "ticketoutputpdf-api")
cf.date = now()
cf.expires = now() + timedelta(hours=24)
cf.save()
+1
View File
@@ -393,6 +393,7 @@ class TokenView(View):
if grant.code_challenge_method == "S256":
expected_challenge = base64.urlsafe_b64encode(hashlib.sha256(request.POST["code_verifier"].encode()).digest()).decode().rstrip("=")
print(grant.code_challenge, expected_challenge)
if expected_challenge != grant.code_challenge:
return JsonResponse({
"error": "invalid_grant",
-4
View File
@@ -211,10 +211,6 @@ USE_X_FORWARDED_HOST = config.getboolean('pretix', 'trust_x_forwarded_host', fal
REQUEST_ID_HEADER = config.get('pretix', 'request_id_header', fallback=False)
if REQUEST_ID_HEADER in config.cp.BOOLEAN_STATES:
raise ImproperlyConfigured(
"request_id_header should be set to a header name, not a boolean value."
)
if config.getboolean('pretix', 'trust_x_forwarded_proto', fallback=False):
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')