summaryrefslogtreecommitdiff
path: root/postgresqleu/util/backendlookups.py
AgeCommit message (Collapse)Author
2020-03-12Replace datetime.now() with timezone.now()Magnus Hagander
As a step on the way to better timezone support, use the django function timezone.now() instead of datetime.now(). As long as we haven't enabled timezones globally this becomes a no-op and does exactly what it did before, but once timezones are enabled it will generate datetimes that are aware of this. No functionality change but gets a lot of boiler-plate out of the way making the verification of the rest of the timezone work easier.
2019-07-10Ensure email addresses are lowercase throughoutMagnus Hagander
At least all email addresses being input by end users should be confverted to lowercase to avoid duplicates. Update existing users, registrations and election candidates to be lowercase, and add constraints to them For things like conference contract addresses that are only set by superusers, we skip the constraints part and let the user take some more responsibility.
2019-03-28Make country optional and show most common countriesMagnus Hagander
With country mandatory we see people picking something from the top of the list, probably just because it's easy or because they don't want to share their country. To deal with the first, modify the country selection so that it first shows the most common countries used for this conference, and only later the full list of countries. The initial list of countries under "common countries" can be specified at the conference configuration, and will then gradually be replaced with the actual countries of the attendees. To deal with the second, make the country field optional.
2019-01-19Re-factor payment methods and move configuration to the databaseMagnus Hagander
This is a major refactoring of how the payment method integrates, with the intetion of making it more flexible and more easy to use. 1. Configuration now lives in the database instead of local_settings.py. 2. This configuration is edited through the /admin/ interface, which makes it a lot easier to add constraints (and instructions), thus preventing misconfiguration. 3. Invoice payment methods are now separate from invoice payment implementations. That means there can be multiple instances of the same payment method, such as multiple different paypal accounts, being managed. 4. All payment method implementations are now available in all installations, including Braintree and Trustly. This retires the x_ENABLED settings in local_settings.py. The code won't actually run unless there are any payment methods defined with them. 5. On migration, all payment methods that are marked as inactive and have never been used are removed. Any payment method that has been used is left around, since there are old invoices connected to it. Likewise, any payment method that is selected as available for any sponsorship level (past or future) is left in the system. XXXXXX manual action needed on production systems XXXXXX 1. Settings for payment methods should be migrated automatically, but should of course be verified! 2. The template for Manual Bank Transfer is *not* migrated, since it wasn't in settings.py, but in a template and overriden downstream. Migrate the contents of the template invoices/banktransfer.html to the database using the /admin/ interface. When this is done, the template can be removed. 3. Notification URLs in Adyen must be updated in the Adyen backoffice to include the payment method id in the url (adding a /n/ to the end of the URL, with n being the id of the payment method). 4. Notification URLs in Paypal must be updated the same way.
2019-01-10Generic changes for python3 from 2to3Magnus Hagander
2018-12-18Move invoice management to the new layout/frameworkMagnus Hagander
This doesn't use the backend editors etc because it's a bit too complex for that, but now renders in that framework instead of the frontend one. Also gives it a visual refresh. Does not touch the refund part as that's scheduled for replacement anyway. Should not affect any auto-genereated invoices, other than viewing them.
2018-12-17Unbreak user autocomplete for non-superusersMagnus Hagander
2018-12-16Move root of backendviews/forms/lookups into utilMagnus Hagander
These can/should be used for other things than confreg, so move them there. We break the abstraction by actually continuing to keep things like conference specific filtering in them. We may break that out into something pluggable in the future when actual needs arise from other modules.