pgeu-website.git
7 years agoDon't allow welcome email to be enabled without setting contents
Magnus Hagander [Thu, 29 Mar 2018 12:00:32 +0000 (14:00 +0200)]
Don't allow welcome email to be enabled without setting contents

7 years agoMake it possible to update protected fields after form is built
Magnus Hagander [Thu, 29 Mar 2018 11:59:55 +0000 (13:59 +0200)]
Make it possible to update protected fields after form is built

This is necessary to protect forms where fields are removed in the
constructor.

7 years agoNicer CSS for signup admin page
Andreas 'ads' Scherbaum [Thu, 29 Mar 2018 10:03:44 +0000 (12:03 +0200)]
Nicer CSS for signup admin page

7 years agoFix template loaders for django 1.11
Magnus Hagander [Sun, 25 Mar 2018 14:49:58 +0000 (16:49 +0200)]
Fix template loaders for django 1.11

Seems django 1.11 automatically enables caching template loader, which
of course breaks the ability to make any changes to the pages of a
website without restarting it. And there is no way to turn it off other
than to explicitly configure individual loders (the logic to turn it on
in non-debug configurations is hardcoded and cannot be changed).

7 years agoNo need for double headers saying Accounting
Magnus Hagander [Sun, 25 Mar 2018 14:36:43 +0000 (16:36 +0200)]
No need for double headers saying Accounting

7 years agoAdd base template forgotten in previous commit
Magnus Hagander [Sun, 25 Mar 2018 14:34:10 +0000 (16:34 +0200)]
Add base template forgotten in previous commit

7 years agoCentralize and clean accounting javascript
Magnus Hagander [Sun, 25 Mar 2018 14:32:52 +0000 (16:32 +0200)]
Centralize and clean accounting javascript

Move it to it's own .js file to avoid duplicates

7 years agoClean up HTML in accounting system
Magnus Hagander [Sun, 25 Mar 2018 14:12:36 +0000 (16:12 +0200)]
Clean up HTML in accounting system

It's still pretty horrid, but this moves it closer to the standard
bootstrap templates, and removes some of the worst stuff. The direct
benefit is that it's now able to use the full width of the screen.

7 years agoMove waitlist message template into admin framework
Magnus Hagander [Sun, 25 Mar 2018 12:43:46 +0000 (14:43 +0200)]
Move waitlist message template into admin framework

7 years agoAdd proper breadcrumbs to registration list
Magnus Hagander [Sun, 25 Mar 2018 12:43:39 +0000 (14:43 +0200)]
Add proper breadcrumbs to registration list

7 years agoMove prepaid batch handling into the admin framework
Magnus Hagander [Sun, 25 Mar 2018 12:20:10 +0000 (14:20 +0200)]
Move prepaid batch handling into the admin framework

This includes both the HTML framework like most previous commits, but
also management.

A conference admin (non-superuser) can now view prepaid batches, since
it no longer uses /admin/. They can also create new prepaid batches with
vouchers as necessary (though of course only for their own conferences).

This also removes the last legacy connection to the previous invoice
management system that was in confreg, namely relying on the invoice
management permission from that system.

And finally, it changes the creation form to use selectize and the
django plugin to do the search-for-users-when-the-list-is-too-long
functionality, so it uses the same as everything else.

7 years agoRemove jon-jinja confwiki frontend templates
Magnus Hagander [Sun, 25 Mar 2018 11:15:29 +0000 (13:15 +0200)]
Remove jon-jinja confwiki frontend templates

This was missed in commit 5507e11db6c8588d490ae16c11af018ecfb734dc which
only handled confreg, but they are both rendered the same way so these
templates are no longer used.

7 years agoMove attendee reports into admin framework
Magnus Hagander [Sat, 24 Mar 2018 12:22:15 +0000 (13:22 +0100)]
Move attendee reports into admin framework

In passing, fix hiding of listboxes (never worked, but was probably
supposed to..)

7 years agoRender feedback results in the admin templates
Magnus Hagander [Sat, 24 Mar 2018 11:56:43 +0000 (12:56 +0100)]
Render feedback results in the admin templates

Results should be in the same framework as the admin, including
breadcrumbs etc. Unlike the user facing side which should of course be
in the conference framework.

7 years agoIntegrate Create Schedule in the admin framework
Magnus Hagander [Sat, 24 Mar 2018 11:42:10 +0000 (12:42 +0100)]
Integrate Create Schedule in the admin framework

It really just means render it under the same header, to make the
breadcrumbs work.

7 years agoFix invoice generation for bulk invoices as well
Magnus Hagander [Sat, 24 Mar 2018 09:28:36 +0000 (10:28 +0100)]
Fix invoice generation for bulk invoices as well

And change the previous fix to a better one while at it.

7 years agoFix invoicerow saving in create_invoice
Magnus Hagander [Sat, 24 Mar 2018 09:21:08 +0000 (10:21 +0100)]
Fix invoicerow saving in create_invoice

The rows need to be saved individually before saving the invoice itself.

7 years agoFix pagination with >10 pages of accounting entries
Magnus Hagander [Fri, 23 Mar 2018 18:18:33 +0000 (19:18 +0100)]
Fix pagination with >10 pages of accounting entries

7 years agoNull parameter has no meaning on ManyToManyField
Magnus Hagander [Fri, 23 Mar 2018 17:43:57 +0000 (18:43 +0100)]
Null parameter has no meaning on ManyToManyField

New django causes warning, so remove it even though it was and is a
no-op.

7 years agorender -> render_to_response for payment processing
Magnus Hagander [Fri, 23 Mar 2018 15:51:55 +0000 (16:51 +0100)]
render -> render_to_response for payment processing

This udpates adyen, braintree, paypal and trustly to use the new
rendering functions.

7 years agoUse render instead of render_to_response in more apps
Magnus Hagander [Fri, 23 Mar 2018 15:20:47 +0000 (16:20 +0100)]
Use render instead of render_to_response in more apps

Now also confreg, confsponsor, confwiki, newsevents, the old invoice
system and the root.

7 years agoFix template bug
Magnus Hagander [Fri, 23 Mar 2018 15:20:39 +0000 (16:20 +0100)]
Fix template bug

7 years agoFix incorrect number of columns in list in template
Magnus Hagander [Fri, 23 Mar 2018 15:20:14 +0000 (16:20 +0100)]
Fix incorrect number of columns in list in template

7 years agoRemove cannot-reach codepath for conference template rendering
Magnus Hagander [Fri, 23 Mar 2018 15:18:48 +0000 (16:18 +0100)]
Remove cannot-reach codepath for conference template rendering

All user-facing conference templates have been migrated to jinja, so
there is no way to reach this fallback codepath anymore.

7 years agoFix model diffing to work on new django
Magnus Hagander [Fri, 23 Mar 2018 15:17:53 +0000 (16:17 +0100)]
Fix model diffing to work on new django

Still works on the old one, so no reason not to use the cleaner
functions.

7 years agoModelChoiceFields must reference a manager
Magnus Hagander [Fri, 23 Mar 2018 15:16:59 +0000 (16:16 +0100)]
ModelChoiceFields must reference a manager

Can't just reference the class, has to be a manager. We're going to
overwrite the actual queryset in __init__ anyway, so just specify id=-1
to get something.

7 years agoUpdate template configuration to be compatible with new django
Magnus Hagander [Fri, 23 Mar 2018 14:26:38 +0000 (15:26 +0100)]
Update template configuration to be compatible with new django

Backwards compatible change, so might as well do all of it.

7 years agoform._changed_data doesn't exist anymore
Magnus Hagander [Fri, 23 Mar 2018 14:26:20 +0000 (15:26 +0100)]
form._changed_data doesn't exist anymore

7 years agotemplate.render() should not use a context, just a dict
Magnus Hagander [Fri, 23 Mar 2018 14:26:00 +0000 (15:26 +0100)]
template.render() should not use a context, just a dict

7 years agoFix InvoicePresentationWrapper not to inherit
Magnus Hagander [Fri, 23 Mar 2018 14:25:26 +0000 (15:25 +0100)]
Fix InvoicePresentationWrapper not to inherit

It already stored the value inside itself, so there's no value to
inheritance and it breaks with newer djangos

7 years agoUse render instead of render_to_response in some apps
Magnus Hagander [Fri, 23 Mar 2018 14:24:30 +0000 (15:24 +0100)]
Use render instead of render_to_response in some apps

For accounting, elections, invoices and memberships use the new way of
doing rendering. This is a backwards compatible mechanical change for
the simple apps.

7 years agoUpdate format of URL listings
Magnus Hagander [Fri, 23 Mar 2018 14:22:28 +0000 (15:22 +0100)]
Update format of URL listings

Needed for compatibility with newer django. Fully backwards compatible.

In passing, tabify the list of urls, since we're rewriting every line
anyway.

7 years agoRemove unused import
Magnus Hagander [Fri, 23 Mar 2018 14:19:07 +0000 (15:19 +0100)]
Remove unused import

7 years agoUse selectable for registrator in /admin/
Magnus Hagander [Fri, 23 Mar 2018 13:50:14 +0000 (14:50 +0100)]
Use selectable for registrator in /admin/

This was missed when the registrator field was added for multireg

7 years agoUpgrade django-selectable import
Magnus Hagander [Fri, 23 Mar 2018 13:48:10 +0000 (14:48 +0100)]
Upgrade django-selectable import

7 years agoAdd small tool to refund (bulk) paypal donations
Magnus Hagander [Tue, 20 Mar 2018 15:11:32 +0000 (16:11 +0100)]
Add small tool to refund (bulk) paypal donations

Mostly untested for now since the paypal sandbox is down as usual.

7 years agoTruncate paypal refund texts at 200 characters
Magnus Hagander [Tue, 20 Mar 2018 09:33:40 +0000 (10:33 +0100)]
Truncate paypal refund texts at 200 characters

Seems the new style fraud reversal refunds put the entire email in the
transaction text. Our accounting system is limited at 200..

7 years agoOops, paypal donation text was in two places
Magnus Hagander [Tue, 20 Mar 2018 09:30:48 +0000 (10:30 +0100)]
Oops, paypal donation text was in two places

Turn it into a settings.py variable instead, so this mistake isn't made
next time.

7 years agoNew transaction text from new style paypal donation button
Magnus Hagander [Tue, 20 Mar 2018 09:22:12 +0000 (10:22 +0100)]
New transaction text from new style paypal donation button

Need to match this one to not generate errors and thus emails to
treasurer@.

7 years agoSeems there was one more unicode issue in the paypal reports
Magnus Hagander [Tue, 20 Mar 2018 09:20:41 +0000 (10:20 +0100)]
Seems there was one more unicode issue in the paypal reports

7 years agoAttempt another unicode fix in paypal reports
Magnus Hagander [Tue, 20 Mar 2018 09:19:54 +0000 (10:19 +0100)]
Attempt another unicode fix in paypal reports

7 years agoAdd check constraint to enforce payment fields
Magnus Hagander [Sun, 18 Mar 2018 13:38:51 +0000 (14:38 +0100)]
Add check constraint to enforce payment fields

We cannot have both an invoice_id and a bulkpayment_id on a registration
(because it can really only be paid once). Enforce this with a CHECK
constraint.

7 years agoReference a new paypal donation button
Magnus Hagander [Sun, 18 Mar 2018 13:27:20 +0000 (14:27 +0100)]
Reference a new paypal donation button

Let's see if cycling the donation button id stops some of the spam :/

7 years agoUnicode fix for signup emails
Magnus Hagander [Mon, 12 Mar 2018 15:22:01 +0000 (16:22 +0100)]
Unicode fix for signup emails

7 years agoMake it possible to control badge pagebreaks in report generation
Magnus Hagander [Sun, 11 Mar 2018 17:47:08 +0000 (18:47 +0100)]
Make it possible to control badge pagebreaks in report generation

Just like borders it makes sense to be able to control this when the
PDFs are written, not just when the template is built.

7 years agoFix waitlist field showed on registration list
Vik Fearing [Sun, 11 Mar 2018 06:34:15 +0000 (01:34 -0500)]
Fix waitlist field showed on registration list

Text said offered until, but time shown was offered since. Change to
actually show offered until, as that's the  most useful value.

7 years agoSupport using google charts trendlines in time reports
Magnus Hagander [Sat, 10 Mar 2018 15:01:37 +0000 (10:01 -0500)]
Support using google charts trendlines in time reports

Instead of just assuming that nothing at all will happen from the
current day, use the trendline functionality in google charts to map it.

Trendlines will be applied to only the latest of the conferences if more
tha none is picked -- this seems to be what google supports.

Trendlines are only supported for multiconference reports, mostly for
this reason.

7 years agoAdd basic ability to cancel registrations without invoices/refunds
Magnus Hagander [Thu, 8 Mar 2018 15:20:46 +0000 (10:20 -0500)]
Add basic ability to cancel registrations without invoices/refunds

For registrations that have a single invoice *and* are eligible for a
refund, we already had working cancelation. But it did not work for bulk
invoices or non-refundable cancelations, which both required manual work
through /admin/ to cancel them. This still does not automate bulk
invoice refunding, but at least provides the ability to perform such
refunds as two-step operations, and it fully supports canceling without
refund.

This also adds sending of email on all cancelations, both those that are
done without refund, and those that are done with a refund like before.
Previously, attendees of those would only receive an invoice refund
notice. We now also send an explicit "your registration has been
canceled" email, if welcome emails have been enabled for the conference.

7 years agoDon't flag vouchers/discounts as used until multireg completed
Magnus Hagander [Wed, 7 Mar 2018 18:35:45 +0000 (13:35 -0500)]
Don't flag vouchers/discounts as used until multireg completed

If the invoice details are not filled in, we generate an error in the
form. But at the time we had already flagged the voucher/code as used,
and thus the next create would now fail saying the code has already been
used.

Fix this by setting a savepoint at the beginning and roll back to it in
the failure case.

7 years agoDon't ask for invoice details for zero-euro invoices in multireg
Magnus Hagander [Wed, 7 Mar 2018 18:16:42 +0000 (13:16 -0500)]
Don't ask for invoice details for zero-euro invoices in multireg

We're not going to create an invoice anyway, so let's not ask for the
details.

7 years agoMove create invoice higher up on multireg page
Magnus Hagander [Wed, 7 Mar 2018 18:09:39 +0000 (13:09 -0500)]
Move create invoice higher up on multireg page

7 years agoMore clearly indicate a registration isn't paid in the admin list
Magnus Hagander [Wed, 7 Mar 2018 16:19:43 +0000 (11:19 -0500)]
More clearly indicate a registration isn't paid in the admin list

Instead of just using red color, also use words!

7 years agoUpdate links to postgresql.org to avoid redirection
Daniel Gustafsson [Tue, 6 Mar 2018 13:16:42 +0000 (14:16 +0100)]
Update links to postgresql.org to avoid redirection

Fix http -> https and URL update for the new mailinglist pages.

7 years agoWe only have a single list so avoid plural wording
Daniel Gustafsson [Tue, 6 Mar 2018 13:12:46 +0000 (14:12 +0100)]
We only have a single list so avoid plural wording

If we add more at some point, we can revisit this, but for now
let's use appropriate wording.

7 years agoFix incorrect variable name in ownvote template
Daniel Gustafsson [Tue, 6 Mar 2018 10:43:33 +0000 (11:43 +0100)]
Fix incorrect variable name in ownvote template

The typoed variable name caused the printed text to be ".. you
voted for in , and what .."

7 years agoFix sorting of new attendee list
Vik Fearing [Mon, 5 Mar 2018 10:04:10 +0000 (11:04 +0100)]
Fix sorting of new attendee list

Use the registration creation date to make sure that the sorting becomes
deterministic, in the event a sort key is not unique (such as
registration type)

7 years agoFix crash in JSON dump when no badge color was set
Magnus Hagander [Mon, 5 Mar 2018 09:40:30 +0000 (10:40 +0100)]
Fix crash in JSON dump when no badge color was set

There was protection in place for the foreground color, but not for the
background color...

7 years agoShow more status about uncompleted regs
Magnus Hagander [Sun, 4 Mar 2018 17:57:14 +0000 (18:57 +0100)]
Show more status about uncompleted regs

Show if invoice is created, or if bulkpay is created.

7 years agoDon't list unfinished registrations as speakers for unattached sessions
Magnus Hagander [Sun, 4 Mar 2018 17:47:46 +0000 (18:47 +0100)]
Don't list unfinished registrations as speakers for unattached sessions

7 years agoInclude all volunteers in statistics, not just active ones
Magnus Hagander [Thu, 1 Mar 2018 15:52:13 +0000 (16:52 +0100)]
Include all volunteers in statistics, not just active ones

7 years agoFix query for emails to signups
Magnus Hagander [Thu, 1 Mar 2018 15:20:19 +0000 (16:20 +0100)]
Fix query for emails to signups

By a copy/paste mistake, the query would always exclude people who had
responded, even when picking "all" or "people who have signed up".

7 years agoIndicate sender and suffix on the signup email form
Magnus Hagander [Thu, 1 Mar 2018 14:57:12 +0000 (15:57 +0100)]
Indicate sender and suffix on the signup email form

Content was already there in the mail, but make it clear to the user
what it looks like.

7 years agoFix relative links on registration form
Magnus Hagander [Thu, 1 Mar 2018 14:51:13 +0000 (15:51 +0100)]
Fix relative links on registration form

With the new multireg system, all relative links need to be prefixed
with a variable, but the mails, signups and wikis were missed. Absolute
links and page-relative links don't require a prefix.

7 years agoAdd functionality to send email to people based on signup
Magnus Hagander [Wed, 28 Feb 2018 10:19:58 +0000 (11:19 +0100)]
Add functionality to send email to people based on signup

This makes it possible both to send to people who have been added to a
signup (for exampe, to announce the signup), but also to people based on
which selections they made in the signup (e.g. yes or no).

It's only possible to pick one specific answer, so if one wants to cover
multiple answers (such as "yes", and "yes with a +1") emails simply have
to be sent more than once.

Emails are delivered as-is, and a note sent to conference organizers. In
particular, they do *not* show up on the dashboard under sent emails.
For things to show up there, the regular email sending must be done.

7 years agoInclude totals on registration list
Magnus Hagander [Mon, 26 Feb 2018 19:20:38 +0000 (20:20 +0100)]
Include totals on registration list

Per request from Vik

7 years agoChange some links to buttons for consistency
Magnus Hagander [Mon, 26 Feb 2018 19:12:40 +0000 (20:12 +0100)]
Change some links to buttons for consistency

7 years agoInclude waitlist information on new registration list
Magnus Hagander [Mon, 26 Feb 2018 19:08:59 +0000 (20:08 +0100)]
Include waitlist information on new registration list

7 years agoStop using javascript for selection in list
Magnus Hagander [Mon, 26 Feb 2018 16:09:54 +0000 (17:09 +0100)]
Stop using javascript for selection in list

As pointed out by Vik, that makes for too many issues (and downright
bugs...) when trying to copy/paste things. Instead, use an icon to view.

7 years agoThat's supposed to be a semicolon
Magnus Hagander [Mon, 26 Feb 2018 16:03:59 +0000 (17:03 +0100)]
That's supposed to be a semicolon

7 years agoAdd admin views to view registrations
Magnus Hagander [Mon, 26 Feb 2018 15:56:49 +0000 (16:56 +0100)]
Add admin views to view registrations

This removes the need to use the /admin/ interface, and makes it easier
to drill down into some types of information such as how a registration
was paid.

7 years agoBreak out signup querying to it's own function
Magnus Hagander [Mon, 26 Feb 2018 15:57:18 +0000 (16:57 +0100)]
Break out signup querying to it's own function

7 years agoAdd properties to get more detailed payment information
Magnus Hagander [Mon, 26 Feb 2018 15:25:00 +0000 (16:25 +0100)]
Add properties to get more detailed payment information

This brings back information, recursively through the steps, for exactly
how a bulk payment or invoice was paid.

7 years agoFix a few incorrect Http404 errors
Magnus Hagander [Mon, 26 Feb 2018 13:41:53 +0000 (14:41 +0100)]
Fix a few incorrect Http404 errors

404 means not found. Not "you don't have permissions".

7 years agoAlert for sessions in Submitted state when schedule is public
Magnus Hagander [Mon, 26 Feb 2018 13:34:29 +0000 (14:34 +0100)]
Alert for sessions in Submitted state when schedule is public

We can't start alerting for sessions in submitted state all the time,
but once the schedule is public there should be no sessions in this
state (they should either be rejcted or pending), so highlight the
button at this time to make it clear.

7 years agoMake some buttons on events admin dashboard alert for states
Magnus Hagander [Mon, 26 Feb 2018 13:29:05 +0000 (14:29 +0100)]
Make some buttons on events admin dashboard alert for states

When reports of missing data (missing registrations, missing rooms
etc) are non-empty, the buttons will now highlight the same way we
already did for notifications and waitlist.

7 years agoFix title of voting button
Magnus Hagander [Sun, 25 Feb 2018 17:50:52 +0000 (18:50 +0100)]
Fix title of voting button

7 years agoMake it more clear when votes have been cast
Magnus Hagander [Sun, 25 Feb 2018 17:50:29 +0000 (18:50 +0100)]
Make it more clear when votes have been cast

Explicitly inform the member that they have voted, and that they can
still change the votes.

7 years agoTeach CM scraper to bypass the personal data request
Magnus Hagander [Sun, 25 Feb 2018 14:07:37 +0000 (15:07 +0100)]
Teach CM scraper to bypass the personal data request

The website have started requesting a landline phonenumber. At least for
now it's possible to bypass this by asking to be reminded later, so
teach the scraper to do just that.

7 years agoMake sure we load jquery for volunteer schedule
Magnus Hagander [Sun, 25 Feb 2018 11:31:20 +0000 (12:31 +0100)]
Make sure we load jquery for volunteer schedule

This should really be driven from a template tag instead to avoid
duplicating so much, but one step at a time.

7 years agoFix unregistered staff report for NULL attendees
Magnus Hagander [Wed, 21 Feb 2018 18:07:50 +0000 (19:07 +0100)]
Fix unregistered staff report for NULL attendees

7 years agoFix detection of pending multiregs
Magnus Hagander [Tue, 20 Feb 2018 09:58:16 +0000 (10:58 +0100)]
Fix detection of pending multiregs

The correct detection of pending multiregs is required to show the
"Create invoice" button to users. However, the existing code would look
at the first registration in the list (with no order by) and check if it
was pending, never bothering to look at the rest. Instead, it's supposed
to look at all of them, and indicate true if *any* pending registrations
exist.

7 years agoHandle multiregs with zero cost
Magnus Hagander [Tue, 20 Feb 2018 09:51:50 +0000 (10:51 +0100)]
Handle multiregs with zero cost

This can happen when a user registers multiple users using the new
workflow, and they all use either free reg types (like speaker) or
discount voucher codes.

7 years agoProperly flag vouchercodes as unused on canceled bulk invoices
Magnus Hagander [Mon, 19 Feb 2018 16:15:42 +0000 (17:15 +0100)]
Properly flag vouchercodes as unused on canceled bulk invoices

This was very uncommon before, but now that we use bulk invoices for
multi-reg processing it becomes more common, and this case shows up more
often. We need to mark the vouchercodes as unused in the system,
otherwise we will fail to generate a new invoice for the same
registration once one has been canceled.

7 years agoFix wording
Magnus Hagander [Mon, 19 Feb 2018 10:07:50 +0000 (11:07 +0100)]
Fix wording

7 years agoDon't attempt to add errors to a form that's empty
Magnus Hagander [Mon, 19 Feb 2018 09:32:30 +0000 (10:32 +0100)]
Don't attempt to add errors to a form that's empty

The add_error method of a form will fail if is_valid() has not been
called. So only add the errors in this case -- which means that finalize
was picked. Since this is just the invoice form it's not an issue (it's
a catch-all error path which will only be called if something passed
verification earlier but is now no longer valid, such as an expired
discount code)

7 years agoAdd missing import
Magnus Hagander [Sat, 17 Feb 2018 10:09:10 +0000 (11:09 +0100)]
Add missing import

7 years agoFix two cases of incorrect casing
Magnus Hagander [Fri, 16 Feb 2018 18:30:01 +0000 (19:30 +0100)]
Fix two cases of incorrect casing

7 years agoClarify labels on some buttons on event dashboard
Andreas 'ads' Scherbaum [Wed, 7 Feb 2018 19:43:36 +0000 (20:43 +0100)]
Clarify labels on some buttons on event dashboard

7 years agoShow the news on the homepage again.
Dave Page [Wed, 7 Feb 2018 16:45:51 +0000 (16:45 +0000)]
Show the news on the homepage again.

7 years agoIncrease timeout for VAT number lookup service
Magnus Hagander [Wed, 7 Feb 2018 15:16:12 +0000 (16:16 +0100)]
Increase timeout for VAT number lookup service

7 years agoFix crash in multireg when trying to delete nonexisting reg
Magnus Hagander [Wed, 7 Feb 2018 12:13:03 +0000 (13:13 +0100)]
Fix crash in multireg when trying to delete nonexisting reg

We can't delete a registration until it has been saved at least once. So
just avoid trying.

7 years agoFix register-for-somebody-else wrt special reg types
Magnus Hagander [Mon, 5 Feb 2018 12:27:40 +0000 (13:27 +0100)]
Fix register-for-somebody-else wrt special reg types

For a register-for-somebody-else, the attendee is actually NULL when we
try to validate the registration type. We need to especially forbid this
case - those that use these regtypes will just have to make individual
registrations, as they have to be mapped to the actual user account.

7 years agoChange title of bulk invoices
Magnus Hagander [Fri, 2 Feb 2018 19:12:12 +0000 (20:12 +0100)]
Change title of bulk invoices

Instead of always saying "bulk invoice", say either "<conf>
registration" or "<conf> multiple registrations" depending on how many
registrations are on it. With the new register for somebody else
workflow it's possible to have a a bulk payment with just one
registration on it, so try to be more clear.

Also change the pages viewing a bulk payment when coming in through the
multireg workflow, to not use that word. Since the old way to do bulk
payments is still around, keep the page titles there.

7 years agoChange ConferenceRegistration.payconfirmedat to timestamptz
Vik Fearing [Tue, 30 Jan 2018 12:12:47 +0000 (13:12 +0100)]
Change ConferenceRegistration.payconfirmedat to timestamptz

7 years agoAllow sorting talks by speaker in talkvote page
Patryk Kordylewski [Thu, 1 Feb 2018 15:27:23 +0000 (16:27 +0100)]
Allow sorting talks by speaker in talkvote page

Original patch by author, actual query modified for simplicity by
Magnus.

7 years agoImplement new workflow for registering multiple attendees
Magnus Hagander [Mon, 29 Jan 2018 12:18:38 +0000 (13:18 +0100)]
Implement new workflow for registering multiple attendees

In yet another attempt to make it easier for the cases where either
somebody wants to register for multiple colleagues, or just for a single
colleague who cannot register themselves.

This separates out the registrator role from the attendee role in the
database. Regular registrations still work the same way, and sets
registrator and attendee to the same. But it's now also possible to,
using a separate form for each one, make multiple registrations for
other people, by filling out all their details (including email). These
registrations will then automatically generate a bulk invoice.

When the bulk invoice is paid, the registrations attached to it will get
marked as confirmed by the system. They will then also be attached to
the community account of the attendee, if one exists. If one does not
exist, and email is sent to the attendee with a link using the secret
registration token, that makes it possible to attach this registration
to a different account. This means that the user can sign up for an
account (especially easy now that we have oauth logins available) after
the registration has been created, or they can attach it to a different
account if they already have one but it has a different email address
than used on the registration.

7 years agoUpdate CM scraper
Magnus Hagander [Fri, 19 Jan 2018 09:45:39 +0000 (10:45 +0100)]
Update CM scraper

Seems the CM website now requires that you follow *three* redirects as
part of the login process, not two.

Since thre's now that many of them, refactor the code a bit for
readability and ease of use. Who knows when there will be four..

7 years agoFix typo in comment
Magnus Hagander [Sat, 13 Jan 2018 17:13:09 +0000 (18:13 +0100)]
Fix typo in comment

7 years agoFix markup thinko
Vik Fearing [Fri, 12 Jan 2018 10:57:27 +0000 (11:57 +0100)]
Fix markup thinko

7 years agoDon't explicitly rollback transaction in paypal_error
Magnus Hagander [Mon, 8 Jan 2018 16:03:30 +0000 (17:03 +0100)]
Don't explicitly rollback transaction in paypal_error

We can't do that inside a @transaction.atomic block. It's also not
necessary, because paypal_error is only called before any database
modifications are made, and returns out of the view directly.