Commit Graph

920 Commits

Author SHA1 Message Date
Raphael Michel
f532853021 Memberships: Prefer valid_from over event date for .is_valid() (#4003)
* Memberships: Prefer valid_from over event date for .is_valid()

* Fix tests

* Add parameter description

* Use reasonable default for requested_valid_from if membership starts in the future

* Set datetimepicker viewDate to closest allowed date

* Keep current value on going back to QuestionsStep

* Fix min_date/max_date in SplitDateTimePickerWidget

* Remove unused import

* Update src/pretix/base/models/memberships.py

Co-authored-by: Mira <weller@rami.io>

* Respect variations

---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-03-27 12:11:20 +01:00
Raphael Michel
273c1ae0a6 Waiting list: Allow to set auto-disable date (Z#23141338) (#4004)
* Waiting list: Allow to set auto-disable date (Z#23141338)

* ADd warning on non-esries events
2024-03-22 11:17:02 +01:00
Raphael Michel
2d8fba7d7c Treat partially paid expired orders as overpaid orders (Z#23147757) (#3990)
* Treat partially paid expired orders as overpaid orders (Z#23147757)

* Use is_overpaid from annotate_overpayments in OrderFilterForm

* Revert change to pending sum

* Show warning on order page

---------

Co-authored-by: Mira Weller <weller@rami.io>
2024-03-22 10:17:51 +01:00
Raphael Michel
9f794290dc Memberships: Check valid_from/valid_until for parallel usage (#3975) 2024-03-15 16:40:41 +01:00
Richard Schreiber
50b5f760bb Presale: prefer event’s microdata from settings over generated microdata (#3943) 2024-03-01 09:56:55 +01:00
Raphael Michel
6bf23b0fdd Allow to create blocking vouchers for items with unspecified variation (#3932) 2024-02-29 16:45:41 +01:00
Raphael Michel
04ef097eb1 Fix #65 -- Disallow None value for product default prices (#3847)
* Fix #65 -- Disallow None value for product default prices

* Fix #65 -- Disallow None value for product default prices

* Rebase migration
2024-02-28 16:10:53 +01:00
Raphael Michel
57738f19bf Update webauthn requirement from ==0.4.* to ==2.0.* (#3880)
* Get rid of unmaintained dependency python-u2flib-server

* Update webauthn requirement from ==0.4.* to ==2.0.*

* Fix tests

* Update src/pretix/control/views/auth.py

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

* Update src/pretix/control/views/auth.py

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

* Update src/pretix/control/views/user.py

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

* Update src/pretix/control/views/user.py

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

* Update src/pretix/control/views/user.py

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2024-02-14 13:27:24 +01:00
Raphael Michel
86b28b9b53 Get rid of unmaintained dependency python-u2flib-server (#3879) 2024-02-12 13:03:56 +01:00
Raphael Michel
70d32ea1aa Voucher form: Add quota in help text 2024-02-07 09:59:32 +01:00
Mira
fa3265b1fb Let plugins prevent the download of individual tickets in an order (#3858)
* Let plugins allow/prevent the download of individual tickets in an order (#3836)

(extends the functionality of the allow_ticket_download signal)

(cherry picked from commit e20edab98f)

* fix bug where in some cases, only the first ticket could be downloaded
2024-02-06 17:35:59 +01:00
Mira
22f91f7aa2 Improve UI to configure unavailable items handling (Z#23131828) (#3739)
* start impl of unavailability modes ui

* add db migration

* use new widget for more fields

* improve contrast

* use new widget for hide_without_voucher field

* improved wording

* rebase migration

* undo changes to require_membership_hidden

* code formatting

* move unavail_reason logic around

* enforce consistent state of hide_without_voucher / require_voucher

* annotate unavailability info in get_grouped_items

* remove MSIE6 compat

* add unavailability reasons to widget

* remove test output

* Apply suggestions from code review

text improvements

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

* add css fix for jumping items due to tooltip

* dynamically retrieve unavailability reason message

* widget: simplify logic conditions

* add available_{from,until}_mode to api and api docs

* rebase migration

* rebase migration

* add unavailable_*_mode to ItemVariation

* add available_*_mode to API docs for items

* fix wrong reference

* fix test cases

* add available_*_mode to item variation form

* apply unavailability modes to subevents and variations (presale)

* /o\

* apply unavailability modes to subevents and variations (widget)

* display unavailability mode in subevent product settings

* fix widget test

* fix api item tests

* copy available_*_mode when copying an item

* Apply suggestions from code review

Co-authored-by: Raphael Michel <michel@rami.io>

* Add unavail mode indicator to bulk create and edit forms

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 12:27:19 +01:00
Mira
bac673f3ab Allow template syntax in event text (Z#23140046) (#3815)
* remove duplicate context generation

* allow text templates in frontpage_text

* refactor: move placeholder functionality to separate file

* fix wrong class name, code style

* update year in license header

* undo license header update

* use new function name

* render only the placeholders that are actually used in the message

* refactoring

* add str(...) call

* Update doc/development/api/placeholder.rst

Co-authored-by: Raphael Michel <michel@rami.io>

* rename register_mail_placeholders to register_template_placeholders
(deprecate old name)

* isort

* add signals to docs

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2024-02-06 11:32:03 +01:00
Martin Gross
9d115c30d7 Revert "Let plugins allow/prevent the download of individual tickets in an order (#3836)"
This reverts commit e20edab98f.
2024-02-02 16:09:42 +01:00
Mira
e20edab98f Let plugins allow/prevent the download of individual tickets in an order (#3836)
(extends the functionality of the allow_ticket_download signal)
2024-02-01 17:45:58 +01:00
Raphael Michel
4234a6440d Fix crash in discount computation when cloning series to single event 2024-01-19 15:40:22 +01:00
Raphael Michel
0220965ca9 Check-in: Add rule for number of days with entries since (#3808) 2024-01-12 17:09:51 +01:00
Raphael Michel
d5f2f0e3af Item editor: Make dynamic validity more self-explanatory 2024-01-03 10:51:27 +01:00
Raphael Michel
4a49519869 Rename LogEntry.organizer_link to LogEntry.organizer (#3762)
* Rename LogEntry.organizer_link to LogEntry.organizer

* isort fix
2023-12-20 13:52:20 +01:00
Raphael Michel
aa121b900e Payment providers: Ignore case when sorting by name 2023-12-20 13:51:19 +01:00
Raphael Michel
7f948bf263 Refunds in state "done" should always have an execution date 2023-12-12 14:20:59 +01:00
Raphael Michel
d6d6b73a38 API: Fix cloning events with meta data (PRETIXEU-9FZ) 2023-12-05 12:57:14 +01:00
Raphael Michel
b92feb382b Discounts: Fix scoping error with distinct subevents 2023-11-29 16:02:27 +01:00
Raphael Michel
8a3b313cb6 Check-in: Show more information (#3576)
* Check-in: Show more information

* Add change notes

* Rebase migration

* Add "expand" option to checkinrpc

* REmove accidental file

* Docs fixes

* REbase migration

* Rebase migration

* Fix typo

* REbase migration

* Make web-checkin look more like new android checkin
2023-11-28 14:52:12 +01:00
Raphael Michel
ab28086779 Copy event meta data when cloning events 2023-11-28 14:50:46 +01:00
Raphael Michel
965fcec9df Check-in: New error reason for unapproved orders (#3741)
* Check-in: New error reason for unapproved orders

* Fix documentation verbiage
2023-11-28 12:50:29 +01:00
Raphael Michel
b639ac850f LogEntry: Add a direct relationship to organizer (#3732)
* LogEntry: Add a direct relationship to organizer

* Update src/pretix/base/models/log.py

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

* Fix condition

* Fix query count

* REbase migration

* Fix tests

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-11-22 16:22:33 +01:00
Raphael Michel
2ef015015a Allow to postpone invoice creation on order changes (#3716)
* Allow to postpone invoice creation on order changes

* Add tests

* isort fix

* Fix failures

* More tests

* Update src/pretix/presale/views/order.py

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

* Update src/pretix/base/services/orders.py

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

* Update src/pretix/base/services/orders.py

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

* Update src/pretix/base/services/orders.py

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

* Update src/pretix/base/models/orders.py

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

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-11-22 15:45:27 +01:00
Raphael Michel
77da4052b9 Order list export: Expose same "extended status" as in backend (#3674)
* Order list export: Expose same "extended status" as in backend

* Review notes
2023-11-15 15:20:30 +01:00
Raphael Michel
3c46c461c0 Translate question options in backend and PDFs (Z#23134850) (#3693)
* Translate question options in backend and PDFs

* Extend to invoices
2023-11-13 15:48:45 +01:00
Raphael Michel
d7aa94d6ae Add public filters based on meta data (#3673)
* Add public filters based on meta data

* Fix licenseheaders

* ignore empty values

* Fix tests

* Full non-widget implementation

* Widget support

* Add a few tests

* Allow to reorder properties

* Fix isort

* Allow to opt-out for specific events

* Fix name clash between new and old field to make migration feasible
2023-11-10 12:10:01 +01:00
Raphael Michel
3566fc877a Optimize N+1 query found by Sentry in event creation (PRETIXEU-9AV) 2023-11-09 14:31:05 +01:00
Raphael Michel
3af2342d7b Replace Item.hidden_if_available with relationship to other Item (#3686)
* draft

* Implementation that is closer to old one

* Fix tests

* Add tests

* Update src/pretix/control/forms/item.py

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

* Review notes

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-11-06 13:26:32 +01:00
Raphael Michel
3b64e6046c API: Add endpoints for scheduled exports (#3659)
* API: Add endpoints for scheduled exports

* ADd note to docs
2023-10-27 17:15:53 +02:00
Raphael Michel
000c64755d Free price: Allow to suggest a different price than the minimum (#3666)
* Free price: Allow to suggest a different price than the minimum

* Full implementation

* Widget tests

* Add min values to titles
2023-10-27 13:36:01 +02:00
Raphael Michel
a0831890ad Check-in: New flags for check-in lists (#3577) 2023-10-23 15:52:06 +02:00
Raphael Michel
9299ac5813 API: Fix N+1 query in gift card list 2023-10-17 14:55:42 +02:00
Raphael Michel
dea7de4e6c Fix Order.can_modify_answers if only invoice name is required 2023-09-14 10:35:04 +02:00
Raphael Michel
babe0934a8 Fix incorrect usage of email subject setting 2023-09-12 16:58:51 +02:00
Raphael Michel
7545e92373 [SECURITY] Do not allow Pillow to parse EPS files 2023-09-12 11:50:01 +02:00
Raphael Michel
eb04fdf4d2 Check-in rules: New variables (#3521) 2023-09-12 09:43:57 +02:00
Raphael Michel
c842ea597c New locking mechanism (#2408)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-09-11 11:44:50 +02:00
robbi5
826c54bce7 Questions: Enable phonenumber type during checkin (#3557) 2023-08-31 13:46:19 +02:00
Raphael Michel
5d90a42acf Discounts: Allow "buy X to get Y" with different product sets for X and Y (#3543) 2023-08-28 16:21:52 +02:00
Mira
38173e3a54 Tax rules: add custom rules for country subdivision (e.g. state) (Z#23111850) (#3520) 2023-08-24 14:11:10 +02:00
Raphael Michel
0c96f758a8 Fix quota cache mixup (#3539)
Co-authored-by: Richard Schreiber <schreiber@rami.io>
2023-08-23 10:09:50 +02:00
Mira
6250ab2165 Bank transfer: Allow customer to send latest invoice via email (Z#207218) (#3511)
Co-authored-by: Raphael Michel <michel@rami.io>
2023-08-09 18:23:45 +02:00
Raphael Michel
b51c9f7552 Upgrade to Django 4.2 (#3497) 2023-08-09 14:47:41 +02:00
Raphael Michel
ef0024b2ef Payment deadline delay: Respect week days 2023-07-27 13:49:31 +02:00
Phin Wolkwitz
52ae7626b0 Send mail on payment failure [Z#23122835] (#3473)
Co-authored-by: Raphael Michel <michel@rami.io>
2023-07-21 14:17:51 +02:00