Due to a Safari bug, in some browser, two csrftoken cookies with different values
exist: one unpartitioned, one partitioned ("CHIPS"). This function generates an
additional Set-Cookie header to get rid of the unpartitioned one.
As Django usually only allows one Set-Cookie header per cookie name, we
need to manually create a cookie 'Morsel' for the deletion and store it
in the HttpResponse's cookie dictionary under a different name, so it is
not overwritten by the actual, correct Set-Cookie header. This works
because the code in django.core.handlers.wsgi/asgi, that generates the
actual Set-Cookie headers, only iterates over cookie.values(), ignoring
the keys.
* Allow to use custom domains for some but not all events
* Update src/pretix/multidomain/urlreverse.py
* Apply suggestions from code review
Co-authored-by: Mira <weller@rami.io>
* Logging for domain config changes
---------
Co-authored-by: Mira <weller@rami.io>
Allows organizers to test their shop as if it were a different date and time.
Implemented using a time_machine_now() function which is used instead of regular now(), which can overlay the real date time with a value from a ContextVar, assigned from a session value in EventMiddleware.
For more information, see doc/development/implementation/timemachine.rst
---------
Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
* Upgrade Django to 3.0 and other dependencies to recent versions
* Fix otp version contsraint
* Remove six dependency
* Resolve some warnings
* Fix failing tests
* Update django-countries
* Resolve all RemovedInDjango31Warnings in test suite
* Run isort
* Fix import
* Update PostgreSQL version on travis
* Drop support for maindomain_urls/subdomain_urls in plugins
* Allow to use a custom domain per event
* Fix bug when manually saving domains
* Fix custom domains in debugging
* Fix middleware
* Fix middleware again, update docs
* Upgrade django and stuff
* Update to Django 2.2 and recent versions of similar packages
* Provide explicit orderings to all models used in paginated queries
* Resolve naive datetime warnings in test suite
* Deal with deprecation warnings
* Fix sqlparse version
* Name the default URL
If metrics collection is enabled, the index page of the site will fail
to load: without a name, the metrics middleware throws a TypeError.
* Test for names on all URLs
This test passes if all URLs have names. Without names, URLs will cause
the optional metrics middleware to throw a TypeError.