pgeu-website.git
7 years agoStop crashing on forms with no selectize fields
Magnus Hagander [Mon, 2 Jul 2018 11:31:20 +0000 (13:31 +0200)]
Stop crashing on forms with no selectize fields

7 years agoMake the conference editing form use fieldsets
Magnus Hagander [Mon, 2 Jul 2018 10:28:15 +0000 (12:28 +0200)]
Make the conference editing form use fieldsets

7 years agoAdd support for using fieldsets in backend forms
Magnus Hagander [Mon, 2 Jul 2018 10:28:03 +0000 (12:28 +0200)]
Add support for using fieldsets in backend forms

This will help make the big forms a lot more readable

7 years agoFix code spelling errors in cannot-happen paths
Magnus Hagander [Fri, 29 Jun 2018 11:30:30 +0000 (13:30 +0200)]
Fix code spelling errors in cannot-happen paths

7 years agoDon't store return values if we're not going to use them
Magnus Hagander [Fri, 29 Jun 2018 11:30:17 +0000 (13:30 +0200)]
Don't store return values if we're not going to use them

7 years agoRemove unused variable
Magnus Hagander [Fri, 29 Jun 2018 11:29:55 +0000 (13:29 +0200)]
Remove unused variable

7 years agoAdd missing return
Magnus Hagander [Fri, 29 Jun 2018 11:29:45 +0000 (13:29 +0200)]
Add missing return

7 years agoFix incorrect exception names
Magnus Hagander [Fri, 29 Jun 2018 11:29:25 +0000 (13:29 +0200)]
Fix incorrect exception names

7 years agoRemove a number of unused imports
Magnus Hagander [Fri, 29 Jun 2018 11:28:51 +0000 (13:28 +0200)]
Remove a number of unused imports

7 years agoFix /admin/ interface for registrations without user accounts
Magnus Hagander [Fri, 29 Jun 2018 10:57:49 +0000 (12:57 +0200)]
Fix /admin/ interface for registrations without user accounts

These can show up since we added the ability to register for somebody
else, and if such an account was made a volunteer of a conference, the
/admin/ interface would crash (the backend interface would still work,
which is how the data can get in there in the first place)

7 years agoMake selectize fields in backend load entries dynamically
Magnus Hagander [Fri, 29 Jun 2018 10:45:26 +0000 (12:45 +0200)]
Make selectize fields in backend load entries dynamically

Poplating three dropdowns with every single user on the system becomes a
bit inefficient (to the point that the form in production started
approaching 1Mb in size and took a lot of time to load).

So instead of doing that, make the selectize fields load their contents
dynamically through an Ajax call. To do this, implement three lookups
for accounts, registrations and speakers.

7 years agoFix conference editing
Magnus Hagander [Thu, 28 Jun 2018 11:56:41 +0000 (13:56 +0200)]
Fix conference editing

Broke the lookups for volunteers when conference became null

7 years agoSet verbose name on a number of fields on Conference
Magnus Hagander [Thu, 28 Jun 2018 11:18:19 +0000 (13:18 +0200)]
Set verbose name on a number of fields on Conference

7 years agoImplement editor for conference series
Magnus Hagander [Thu, 28 Jun 2018 11:02:09 +0000 (13:02 +0200)]
Implement editor for conference series

7 years agoMake bypass_conference_filter work properly for lists
Magnus Hagander [Thu, 28 Jun 2018 11:01:44 +0000 (13:01 +0200)]
Make bypass_conference_filter work properly for lists

Already worked for forms, but there was no way to pass the parameter
down through lists.

7 years agoAdd a decorator for superuser_required
Magnus Hagander [Thu, 28 Jun 2018 10:48:14 +0000 (12:48 +0200)]
Add a decorator for superuser_required

And use it to simplify some code

7 years agoAdd backend forms for editing superuser parameters on confs
Magnus Hagander [Thu, 28 Jun 2018 10:34:11 +0000 (12:34 +0200)]
Add backend forms for editing superuser parameters on confs

This includes a proper "backend interface" to create a new conference, so no
more messing about in the raw admin interface.

7 years agoSupport running a trigger on backend forms when creating new
Magnus Hagander [Thu, 28 Jun 2018 10:33:50 +0000 (12:33 +0200)]
Support running a trigger on backend forms when creating new

7 years agoAllow NULL in vatstatus and vatnumber on sponsors
Magnus Hagander [Wed, 27 Jun 2018 10:54:34 +0000 (12:54 +0200)]
Allow NULL in vatstatus and vatnumber on sponsors

This is required for instances that don't use VAT. Should have no effect
on those that do.

7 years agoUpdate sponsorship benefits to use json data properly
Magnus Hagander [Tue, 26 Jun 2018 19:45:02 +0000 (21:45 +0200)]
Update sponsorship benefits to use json data properly

This means the sponsorship benefits can now deal with python dicts
instead of converting to and from json.

Also make the sponsorship benefits define their validation rules
declaratively and use the new json structure validator.

7 years agoMake sponsorship benefits actually use JSON datatype in postgres
Magnus Hagander [Tue, 26 Jun 2018 19:44:29 +0000 (21:44 +0200)]
Make sponsorship benefits actually use JSON datatype in postgres

Recent djangos have support for it, and a lot of other things become
easier if we treat json as json instead of just string.

7 years agoAdd widgets for pretty-printing json
Magnus Hagander [Tue, 26 Jun 2018 19:42:38 +0000 (21:42 +0200)]
Add widgets for pretty-printing json

7 years agoAdd validator for json structure
Magnus Hagander [Tue, 26 Jun 2018 18:20:26 +0000 (20:20 +0200)]
Add validator for json structure

7 years agoAdd GA 2018 minutes, in PDF format
Guillaume Lelarge [Tue, 26 Jun 2018 18:22:41 +0000 (20:22 +0200)]
Add GA 2018 minutes, in PDF format

7 years agoFix accidentally broken page title on dashboard
Magnus Hagander [Tue, 26 Jun 2018 10:44:47 +0000 (12:44 +0200)]
Fix accidentally broken page title on dashboard

7 years agoAdd GA 2018 minutes
Guillaume Lelarge [Mon, 25 Jun 2018 16:38:47 +0000 (18:38 +0200)]
Add GA 2018 minutes

7 years agoPass in 'conference' to dashboard
Magnus Hagander [Mon, 25 Jun 2018 14:31:17 +0000 (16:31 +0200)]
Pass in 'conference' to dashboard

We used 'c' to make it shorter to type, but that breaks some access in
shared templates. Instead use a with construct in the template to
achieve the same thing, and pass in the standard variable.

7 years agoPrevent edit links from showing up in backend copy list
Magnus Hagander [Mon, 25 Jun 2018 08:52:24 +0000 (10:52 +0200)]
Prevent edit links from showing up in backend copy list

This list is only for picking which objects to copy, and not edit them.
Even if the links worked (they don't) that would send the user into a
very confusing workflow.

7 years agoChange term Rejected to Not Accepted for sessions
Magnus Hagander [Thu, 21 Jun 2018 16:04:34 +0000 (18:04 +0200)]
Change term Rejected to Not Accepted for sessions

It's a lot less harsh of a state, and it actually becomes more correct
since there are other ways to get to that state than pure rejection.

Suggested by Dave Cramer

7 years agoMake it possible for an admin to edit sponsorship managers
Magnus Hagander [Wed, 20 Jun 2018 12:01:48 +0000 (14:01 +0200)]
Make it possible for an admin to edit sponsorship managers

Also fix the "return to" link when in admin mode, so it actually links
back to the admin site.

7 years agoClarify text about sponsors buying vouchers and discount codes
Magnus Hagander [Wed, 20 Jun 2018 11:54:53 +0000 (13:54 +0200)]
Clarify text about sponsors buying vouchers and discount codes

7 years agoDon't show "share email" on reg status when not enabled on conf
Magnus Hagander [Wed, 20 Jun 2018 11:47:22 +0000 (13:47 +0200)]
Don't show "share email" on reg status when not enabled on conf

7 years agoAdd json merge data for sponsorship benefits
Magnus Hagander [Wed, 20 Jun 2018 11:41:14 +0000 (13:41 +0200)]
Add json merge data for sponsorship benefits

7 years agoAdd support for merging json data based on dropdown in admin forms
Magnus Hagander [Wed, 20 Jun 2018 11:40:31 +0000 (13:40 +0200)]
Add support for merging json data based on dropdown in admin forms

This makes it possible to have different default values for a json field
depending on what's picked in a different dropdown. Values are merged
with whatever is in the field already if the dropdown is changed, not
overwritten.

7 years agoStore benefit class default values as structure instead of text
Magnus Hagander [Wed, 20 Jun 2018 11:38:13 +0000 (13:38 +0200)]
Store benefit class default values as structure instead of text

Then we can easily and cheaply convert them to JSON text as necessary

7 years agoFix handling of default values for sponsorship benefits
Magnus Hagander [Wed, 20 Jun 2018 11:00:44 +0000 (13:00 +0200)]
Fix handling of default values for sponsorship benefits

7 years agoFix a number of default parameter specifications on benefits
Magnus Hagander [Wed, 20 Jun 2018 11:00:30 +0000 (13:00 +0200)]
Fix a number of default parameter specifications on benefits

7 years agoSupport auto-cascade of limited deletes in backend forms
Magnus Hagander [Sun, 17 Jun 2018 09:57:35 +0000 (11:57 +0200)]
Support auto-cascade of limited deletes in backend forms

In particular, we need to cascade into the auto-generated objects for
manytomany options, otherwise those can never be deleted.

7 years agoMove copying of previous sponsorship levels to backend editor
Magnus Hagander [Sat, 16 Jun 2018 22:47:44 +0000 (00:47 +0200)]
Move copying of previous sponsorship levels to backend editor

Cleaner implementation making it possible to copy more than one level at
a time (which is the most likely usecase).

7 years agoAdd backend editors for sponsorship levels and contracts
Magnus Hagander [Sat, 16 Jun 2018 20:21:26 +0000 (22:21 +0200)]
Add backend editors for sponsorship levels and contracts

This makes it possible to add and edit levels, contracts and benefits
through the backend interface, and removes the need to use /admin/ for
one of the last remaining pieces.

7 years agoHandle update_fields in sponsorship model
Magnus Hagander [Sat, 16 Jun 2018 20:20:43 +0000 (22:20 +0200)]
Handle update_fields in sponsorship model

Missed in a django upgrade.

7 years agoLink a sponsorship contract to a specific conference
Magnus Hagander [Sat, 16 Jun 2018 20:19:58 +0000 (22:19 +0200)]
Link a sponsorship contract to a specific conference

The list is getting long enough that it's getting annoying.

In passing, also properly set verbose_name for a number of fields on the
sponsorship models.

7 years agoAdd support for linked objects in backend forms
Magnus Hagander [Sat, 16 Jun 2018 20:16:00 +0000 (22:16 +0200)]
Add support for linked objects in backend forms

This is things that are "sub-objects" of another object. In the admin
interface we typically used inline forms for it, but it will be easier
to use as simple linked objects.

Recursively call into the existing backend form handler to manage them,
as all the code is already in place.

7 years agoDon't crash when URL of object is not reversable
Magnus Hagander [Sat, 16 Jun 2018 20:14:21 +0000 (22:14 +0200)]
Don't crash when URL of object is not reversable

7 years agoAdd ability to define a function to create new instancse
Magnus Hagander [Sat, 16 Jun 2018 20:13:39 +0000 (22:13 +0200)]
Add ability to define a function to create new instancse

This can be used when specific parameters have to be overridden on new
instances created in backend forms, other than just the default setting
of conference=.

7 years agoAdd json syntax highlighting using ace
Magnus Hagander [Sat, 16 Jun 2018 20:11:54 +0000 (22:11 +0200)]
Add json syntax highlighting using ace

We have some JSON fields particularly around sponsorship benefits, that
can benefit (ha!) from syntax highlightning.

7 years agoDon't pass selectize as separate parameter
Magnus Hagander [Sat, 16 Jun 2018 19:29:25 +0000 (21:29 +0200)]
Don't pass selectize as separate parameter

It's already available in the form, so don't duplicate

7 years agoAdd a more user friendly file upload widget
Magnus Hagander [Sat, 16 Jun 2018 18:15:54 +0000 (20:15 +0200)]
Add a more user friendly file upload widget

7 years agoSupport file uploads in backend forms
Magnus Hagander [Sat, 16 Jun 2018 18:15:18 +0000 (20:15 +0200)]
Support file uploads in backend forms

7 years agoSupport custom breadcrumbs in backend editors
Magnus Hagander [Sat, 16 Jun 2018 18:14:35 +0000 (20:14 +0200)]
Support custom breadcrumbs in backend editors

7 years agoMove magicdb handler to it's own file
Magnus Hagander [Sat, 16 Jun 2018 18:13:44 +0000 (20:13 +0200)]
Move magicdb handler to it's own file

If we want to use it from more than one place, it makes sense to have a
single central instance of it since each one of them otherwise has to
load and parse the magic database file.

7 years agoTidy up formatting
Dave Page [Thu, 14 Jun 2018 08:38:06 +0000 (09:38 +0100)]
Tidy up formatting

7 years agoUpdate statutes per the decisions made at the 2018 General Assembly.
Dave Page [Thu, 14 Jun 2018 08:35:35 +0000 (09:35 +0100)]
Update statutes per the decisions made at the 2018 General Assembly.

7 years agoReplace empty paragraph with linebreak
Daniel Gustafsson [Wed, 13 Jun 2018 17:44:37 +0000 (19:44 +0200)]
Replace empty paragraph with linebreak

While not a violation of the specification, an empty paragraph is
not recommended in HTML5 and browsers are to discard it. Rendering
as whitespace is only supported in IE7-9, with Chrome and Firefox
dropping it. The intention was most likely to induce some vertical
whitespace so replace with a linebreak tag instead (which indeed
makes the page nicer to look at).

7 years agoAdd whitespace in unconfirmed benefits list
Daniel Gustafsson [Wed, 13 Jun 2018 17:43:41 +0000 (19:43 +0200)]
Add whitespace in unconfirmed benefits list

The list was unnecessarily tight without any spacing between
sponsor and benefit.

7 years agoSimplify image dimension upload error string
Daniel Gustafsson [Wed, 13 Jun 2018 17:29:47 +0000 (19:29 +0200)]
Simplify image dimension upload error string

As evidenced by support emails, the error message wasn't terribly
clear. Remove the part which likely caused the confusion to make
it simpler.

7 years agoAllow editing certain fields on a registration
Magnus Hagander [Mon, 11 Jun 2018 14:34:37 +0000 (16:34 +0200)]
Allow editing certain fields on a registration

We don't allow editing the "main" fields on a registration, but allow
things like t-shirt size, dietary needs etc. In particular useful if the
registration is made by somebody else, this allows the actual attendee
to update such fields.

Add a checkbox at the conference level to stop this -- intended to turn
it off once badges are printed for example.

7 years agoCentralize some knowledge of which fields to exclude
Magnus Hagander [Mon, 11 Jun 2018 14:24:14 +0000 (16:24 +0200)]
Centralize some knowledge of which fields to exclude

Fields excluded by the ask-something fields is now centralized to the
model, to avoid future repetitions.

7 years agoAdd field for requesting photo consent
Magnus Hagander [Mon, 11 Jun 2018 14:04:49 +0000 (16:04 +0200)]
Add field for requesting photo consent

The field is optional and can be enabled on a per-conference basis. Once
enabled, it will be come mandatory for all registrations on that
conference.

7 years agoChange default values for reg open and feedback open
Magnus Hagander [Mon, 11 Jun 2018 14:03:01 +0000 (16:03 +0200)]
Change default values for reg open and feedback open

Default for new conferences should be "nothing is open"

7 years agoFix error message from twitter validator
Magnus Hagander [Mon, 11 Jun 2018 13:50:31 +0000 (15:50 +0200)]
Fix error message from twitter validator

7 years agoFix fix for file not found
Magnus Hagander [Mon, 11 Jun 2018 12:13:55 +0000 (14:13 +0200)]
Fix fix for file not found

The old one was broken for URLs with .. in them, the new one was broken
for everything else. Let's see if we can get them both fixed at once.

7 years agoFix error handling for static fallback not found
Magnus Hagander [Mon, 11 Jun 2018 11:51:15 +0000 (13:51 +0200)]
Fix error handling for static fallback not found

This should raise an actual 404 error and not throw a random exception
caused by the django upgrade..

7 years agoFix typo
Daniel Gustafsson [Mon, 4 Jun 2018 17:56:42 +0000 (19:56 +0200)]
Fix typo

7 years agoRemove accidental field from header of voucher report
Magnus Hagander [Wed, 23 May 2018 19:40:39 +0000 (21:40 +0200)]
Remove accidental field from header of voucher report

7 years agoAdd support for token based access to admin information
Magnus Hagander [Wed, 23 May 2018 18:54:52 +0000 (20:54 +0200)]
Add support for token based access to admin information

This adds a new object for each conference that is an AccessToken. This
token can be given permissions to access specific types of data in a
structured format, which can then be loaded using an URL with that token
in it.

Initially this exports a number of datasets that are useful to feed into
a budget spreadsheet or similar, but the model and code is structured to
make it easy to add completely different exports as well in the future.

7 years agoAdd a ChoiceArrayField to form utils
Magnus Hagander [Wed, 23 May 2018 17:49:05 +0000 (19:49 +0200)]
Add a ChoiceArrayField to form utils

This allows the rendering of a postgres array of choices in a field.

7 years agoRemove old debugging code
Magnus Hagander [Wed, 23 May 2018 17:48:09 +0000 (19:48 +0200)]
Remove old debugging code

7 years agoSupport setting initial values on backend form instances
Magnus Hagander [Wed, 23 May 2018 17:46:25 +0000 (19:46 +0200)]
Support setting initial values on backend form instances

7 years agoSupport readonly fields in backend editors
Magnus Hagander [Wed, 23 May 2018 17:32:31 +0000 (19:32 +0200)]
Support readonly fields in backend editors

7 years agoUpdate user agent for twitter checks
Magnus Hagander [Tue, 22 May 2018 10:43:13 +0000 (12:43 +0200)]
Update user agent for twitter checks

Seems twitter started returning redirects for how we did it, so change
our user agent to pretend to be Firefox.

In passing, rewrite check to use requests, because everything becomes
much easier that way.

7 years agoFix location for nordic pgday in activities report
Magnus Hagander [Tue, 22 May 2018 08:39:02 +0000 (10:39 +0200)]
Fix location for nordic pgday in activities report

7 years agoFix year typos
Guillaume Lelarge [Mon, 21 May 2018 13:35:01 +0000 (15:35 +0200)]
Fix year typos

7 years agoAdd activities and financial reports for GA 2018
Guillaume Lelarge [Mon, 21 May 2018 13:31:02 +0000 (15:31 +0200)]
Add activities and financial reports for GA 2018

7 years agoTrack when a sponsor signed up, not just when it was confirmed
Magnus Hagander [Fri, 18 May 2018 09:21:56 +0000 (11:21 +0200)]
Track when a sponsor signed up, not just when it was confirmed

Noted by Daniel that this can be quite useful when tracking down
sponsors with missing contracts.

7 years agoImplement proxy voting in meeting-votes
Magnus Hagander [Thu, 17 May 2018 19:42:16 +0000 (21:42 +0200)]
Implement proxy voting in meeting-votes

A proxy voter is given a name and a unique proxy voting key. This voting
key (generated the same way as our other "secure tokens") can be used to
access the voting for this member, and then return the same access to
the meeting.

A proxy voter can be assigned up to 4 hours before the meeting, this
being the same time as when a regular member can log in to access their
meetings.

Including review/fixes from Dave

7 years agoUse actual URL field for the sponsor signup URLs
Magnus Hagander [Wed, 16 May 2018 10:54:30 +0000 (12:54 +0200)]
Use actual URL field for the sponsor signup URLs

This enables both client side validation that what's put in there is an
URL, and server side verification of that.

We don't ping back and check the URL, because that could be used to do
evil things to say APIs that check source IP. We may want to look into
doing that securely in the future, but this is a good starting point.

7 years agoFix sponsor email admin viewing to use correct template
Magnus Hagander [Tue, 15 May 2018 12:48:52 +0000 (14:48 +0200)]
Fix sponsor email admin viewing to use correct template

7 years agoAdd missing breadcrumbs to sponsor pages
Magnus Hagander [Tue, 15 May 2018 12:47:09 +0000 (14:47 +0200)]
Add missing breadcrumbs to sponsor pages

7 years agoShow sponsor emails on the send mail page
Magnus Hagander [Tue, 15 May 2018 12:44:29 +0000 (14:44 +0200)]
Show sponsor emails on the send mail page

So that previous emails sent can be viewed

7 years agoAdd extra fields to all VAT queries
Magnus Hagander [Mon, 14 May 2018 13:12:49 +0000 (15:12 +0200)]
Add extra fields to all VAT queries

It seems some countries, such as Spain, will fail in VAT validation if a
set of extra fields are not included. These fields can be set to blank
and it works -- and it seems to work fine to include them for other
countries as well, so let's include them in all requests and set them to empty.

7 years agoAdd simple view to test VAT number validation for sponsors
Magnus Hagander [Mon, 14 May 2018 13:11:10 +0000 (15:11 +0200)]
Add simple view to test VAT number validation for sponsors

Previously the only way to test it was either commandline on the server
or by actually creating an invoice. Instead, add a simple field to paste
a VAT number into for testing.

7 years agoNote that the policy may change at any time, and that if it does, we'll notify the...
Dave Page [Fri, 11 May 2018 15:45:41 +0000 (16:45 +0100)]
Note that the policy may change at any time, and that if it does, we'll notify the general mailing list.

7 years agoMake twitter and nickname fields optional on conference level
Magnus Hagander [Wed, 9 May 2018 15:21:41 +0000 (17:21 +0200)]
Make twitter and nickname fields optional on conference level

Just like we can turn on/off the asking of tshirt and food information,
make it possible to decide if a conference should ask for twitter and
nickname information.

7 years agoPass conference to reports template
Magnus Hagander [Wed, 9 May 2018 12:06:49 +0000 (14:06 +0200)]
Pass conference to reports template

This fixes missing breadcrumbs in backend interface.

7 years agoDon't ask all registrants for phone numbers
Magnus Hagander [Wed, 9 May 2018 12:05:19 +0000 (14:05 +0200)]
Don't ask all registrants for phone numbers

We don't really need it, so we shouldn't ask for it.

Instead, make it possible to ask for it on a per-registration-type
basis, and make it mandatory on that. This means we can now say that for
example Staff members and Speakers need to provide a phone number, but
not attendees.

7 years agos/cost/price/
Magnus Hagander [Mon, 7 May 2018 19:59:21 +0000 (21:59 +0200)]
s/cost/price/

7 years agoInclude sponsorship cost on signup page
Magnus Hagander [Mon, 7 May 2018 19:58:56 +0000 (21:58 +0200)]
Include sponsorship cost on signup page

7 years agoMake registration days unique per conference
Magnus Hagander [Mon, 7 May 2018 19:53:01 +0000 (21:53 +0200)]
Make registration days unique per conference

7 years agoWe have metadata editors for almost everything now
Magnus Hagander [Mon, 7 May 2018 19:30:16 +0000 (21:30 +0200)]
We have metadata editors for almost everything now

Stop saying we don't on the admin dashbaord

7 years agoFix board email address on trademark page
Magnus Hagander [Sat, 5 May 2018 17:42:59 +0000 (19:42 +0200)]
Fix board email address on trademark page

It should be board@postgresql.eu, not .org.

7 years agoAdd trademark info.
Dave Page [Thu, 3 May 2018 10:46:23 +0000 (11:46 +0100)]
Add trademark info.

7 years agoUpdate privacy policy with a lot more details
Magnus Hagander [Fri, 27 Apr 2018 13:31:44 +0000 (15:31 +0200)]
Update privacy policy with a lot more details

In particular, details about what we store, how long we store it, and
why. It's always nice to have, and extra important in light of new
regulations coming up.

7 years agoMake it possible to view reports on anonymized data
Magnus Hagander [Thu, 26 Apr 2018 19:33:39 +0000 (21:33 +0200)]
Make it possible to view reports on anonymized data

In particular, make it possible to view tshirt size distributions even
after we have anonymized the data, since we keep aggregates on it.

7 years agoSupport purging of personal data from conference registrations
Magnus Hagander [Thu, 26 Apr 2018 19:23:34 +0000 (21:23 +0200)]
Support purging of personal data from conference registrations

Once a conference is in the past, purge physical addresses, phone
numbers, dietary needs and tshirt sizes from registrations, since they
can be considered personal data and we shouldn't keep that around.

Before purging, aggregate values for tshirt sizes and dietary needs in
an anonymous way, to make sure we can look back at past events to get
statistics for future ones.

7 years agoAllow opt-out functionality without a token
Magnus Hagander [Thu, 26 Apr 2018 10:41:44 +0000 (12:41 +0200)]
Allow opt-out functionality without a token

A token is used to easily access opt-out when the user is not
registered. But we should still allow users that still know their
account to just use their existing login to control all opt-out
settings.

7 years agoFix typo.
Dave Page [Thu, 26 Apr 2018 10:23:38 +0000 (11:23 +0100)]
Fix typo.

7 years agoUpdate Django version
Dave Page [Thu, 26 Apr 2018 09:55:20 +0000 (10:55 +0100)]
Update Django version

7 years agoIgnore pycharms project files.
Dave Page [Thu, 26 Apr 2018 09:13:25 +0000 (10:13 +0100)]
Ignore pycharms project files.

7 years agoThe sponsor VAT saga continues...
Magnus Hagander [Sun, 15 Apr 2018 17:08:54 +0000 (19:08 +0200)]
The sponsor VAT saga continues...

So we have a new round of rules, let's see if they are the final ones
this time:
* If sponsor is from France with VAT number, charge VAT normally
* If sponsor is from rest of EU with VAT number, reverse VAT
* If sponsor is from rest of EU *without* VAT number, charge VAT
* If sponsor is from outside EU, don't charge VAT

(The last point is the new one)