Commit Graph

31 Commits

Author SHA1 Message Date
rash
f04df7a6ee Migrate vue2 control components and widget to vue3 and vite (#5989)
* setup vite and integrate fully with django

- vite starts with `python manage.py runserver`
- add templatetags to simply load vite hmr and entry points
- add eslint (recheck rules)
- enable non-strict ts

* better syntax for cors header setting

* migrate checkin rules editor to vue3

- move constants to a module
- move reading from and writing to non-vue html to django interop module
- switch to composition api and script setup sfc with pug
- use optional chaining operators a lot to simplify code

* migrate webcheckin plugin to vite+vue3

- migrate vue sfcs to script setup and pug
- move fetch calls into a api.ts module
- move common formatting and i18n strings into module

* fix migration error

* first draft migrating widget to vue3/vite

* first couple widget e2e tests

courtesy of claude
most of the tests don't work yet

* test file is not actually used

* drop widget_ prefix from e2e test fixtures

* add test for complete widget journey for simple event

* switch timezone in e2e tests to Europe/Berlin

* make dates in e2e tests relative

* migrate widget bugfix #5886

* start testing event series widget

* working vite widget setup for prod (untested), local dev (with or without dev server) and pytests, with flags for running the old version or the vite version

* simplify e2e test iframe check

* less flaky e2e tests

* top level await in iife build mode is not supported, so let's do import.meta.glob instead (we just need the build step not to see await, the code doesn't actually ever get loaded because it's DEV only)

* fix inconsistencies from automatic migration

* Allow gradual rollout of new vite-based widget by adding urls to an allowlist that gets checked against the "Origin" http header of request fetching the widget js

* add e2e tests for widget button, testing empty cart, adding specific items, and subevents

* remove janky claude testts again

* resolve migration TODOs: properly refocus parent on navigations

* use `npm run dev:control` for the vite dev server for admin components

* upgrade npm dependencies

* fix js linter errors

* fix python linter errors

* build all control vue components

* add new js config files to check-manifest ignore

* working prod build

acutal serving of built assets not tested yet

* fix templatetag paths to match what's in the vite mantifest

* add missing quotes around 'unsafe-eval' cors value

* remove now unused old vue2 tooling

* try fixing e2e test ci

* fix flake8 error

* check if vite build artefacts are in the wheel

* add license headers

* remove dom manipilation code necessary for `div.pretix-widget-compat` to work. No longer needed for vue3

* remove superfluous `createElement` calls

They might have been there because of IE, which is no longer relevant

* make widget dev mode parametizable through query params and document the usage and those params

* fix rst syntax

* remove migration todos file

Co-authored-by: luelista <mira@teamwiki.de>

* rearrange dockerfile commands for smaller image, thanks @luelista

* Update .gitignore, adding .vite

Co-authored-by: luelista <mira@teamwiki.de>

* add eslint CI

* make vue dev work in plugins

* fix docker build

* rebuild vite setup to support static prod plugins and dynamic hmr plugin development

* use toml for vite plugin config instead of standalone json file

* Add widget changes from #6047, #6149

* Allow buttons to reuse cart (Z#23226853)

* Always keep cart of buttons with items set

* widget: handle cart if not same-site (#6149)

---------

Co-authored-by: luelista <mira@teamwiki.de>
Co-authored-by: Kara Engelhardt <engelhardt@pretix.eu>
2026-05-11 15:05:06 +02:00
Raphael Michel
177a7d07fc Update license header (#5540) 2025-10-10 15:32:46 +02:00
Raphael Michel
e2ae553c69 Add Spanish (LatAm) and improve how we count language coverage (Z#23200505) (#5308)
* Add Spanish (LatAm) and improve how we count language coverage

* Apply suggestions from code review

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Fix license header

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-07-17 17:06:25 +02:00
Raphael Michel
a836dc1588 Add Hebrew language 2025-05-21 12:52:53 +02:00
Tobias Kunze
d49141c05d Use he as language code for Hebrew (#5129) 2025-05-21 12:42:51 +02:00
Raphael Michel
8796b4359c Add CSS for right-to-left language input fields (#5021) 2025-04-25 09:13:58 +02:00
Mira
012eda66bd Blocklist USN currency (#4879) 2025-02-28 10:18:39 +01:00
Raphael Michel
78fbda2311 Add Croatian as a language 2025-02-21 11:15:06 +01:00
Raphael Michel
86120d0296 Enable Finish language 2025-02-10 10:59:35 +01:00
Raphael Michel
a6d1af01d2 Fix missing language info for nb-NO (default is just nb) (Z#23177041) 2025-01-22 15:57:47 +01:00
Raphael Michel
d727d58bc9 Allow to attach .ics files to manual emails (Z#23179129) (#4753) 2025-01-16 13:30:47 +01:00
Mira
c8d4815c9e LogEntryType registry (#4235)
Move display of LogEntry details from the `logentry_display` and 
`logentry_object_link` signals to a class hierarchy based approach. 
For each action_type, an instance of a subclass of `LogEntryType` 
is registered in the `log_entry_types` registry.

Analogous to EventPluginSignal, this registry is an `EventPluginRegistry`, 
so it keeps track of the plugin the LogEntryType is defined in.

---------

Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-01-16 13:05:57 +01:00
Raphael Michel
d545b15d0d Fix incorrect language code for Japanese 2025-01-07 15:12:26 +01:00
Raphael Michel
c1333d6edb Add Japanese to supported languages 2025-01-07 11:37:42 +01:00
Raphael Michel
04b9134e36 Add Basque to languages 2024-08-29 16:52:54 +02:00
Raphael Michel
cab360bdb6 Move auto check-in to plugin with more functionality (#4331)
* Move auto check-in to plugin with more functionality

* Rename field

* Add to MANIFEST.in
2024-07-29 09:46:53 +02:00
Martin Gross
9fcaa3d730 Languages: On second thought, make Swedish a regular community-language. 2024-06-28 12:45:52 +02:00
Martin Gross
22d92025c9 Languages: Adding Swedish to incubating languages 2024-06-28 12:33:32 +02:00
Raphael Michel
223f095611 Add Slovak and Catalan to selectable languages 2024-06-19 18:11:41 +02:00
Raphael Michel
0f696f42f6 Do not allow currency codes that to not represent money (#4056)
* Do not allow currency codes that to not represent money

* Rebase migration

* Fix blacklist
2024-04-22 16:22:30 +02:00
Mira
a946c10ab4 Build jsi18n for all supported languages (#4007) 2024-03-22 10:19:27 +01:00
Raphael Michel
4fb49820af Add upper limit on positions in an order (#3806)
* Add upper limit on positions in an order

* Fix form validation
2024-01-19 18:14:45 +01:00
Raphael Michel
40cdb0c507 Fix favicon loading 2023-12-08 15:48:57 +01:00
Raphael Michel
5181fb38c4 Add Polish to community languages 2023-11-21 11:56:30 +01:00
Raphael Michel
987b02d733 Add Norwegian Bokmål language 2023-11-02 10:14:58 +01:00
Raphael Michel
400967c9e2 Add Indonesian language 2023-09-18 17:43:00 +02:00
Raphael Michel
e884c9820f Move new settings to _base_settings 2023-09-12 11:56:49 +02:00
Raphael Michel
b51c9f7552 Upgrade to Django 4.2 (#3497) 2023-08-09 14:47:41 +02:00
Raphael Michel
bd32b33ba9 Bump Django to 4.1.* (#2989) 2023-06-05 09:56:31 +02:00
Martin Gross
f7816924b0 Add Chinese (Traditional) (zh_Hant) to list of available languages. 2023-05-31 13:06:31 +02:00
Raphael Michel
4ef96b7e94 Move build setup to pyproject.toml (#3240) 2023-04-25 10:02:52 +02:00