pgeu-website.git
6 years agoSupport special edit-warnings in backend forms
Magnus Hagander [Sat, 17 Nov 2018 17:33:12 +0000 (18:33 +0100)]
Support special edit-warnings in backend forms

This can be used to highlight special things to consider. For example,
and also implemented, show a warning when a registration that has
already been confirmed is being edited.

6 years agoRe-style cross conference email form
Magnus Hagander [Sat, 17 Nov 2018 16:43:01 +0000 (17:43 +0100)]
Re-style cross conference email form

Use the new standard for forms, and in passing assign verbose names to
all fields so things look nicer.

6 years agoImplement conference series permissions
Magnus Hagander [Sat, 17 Nov 2018 16:29:16 +0000 (17:29 +0100)]
Implement conference series permissions

This adds the concept of an administrator at the conference series
level. An administrator of a series will:
1. Automatically be administrator on all conferences in the series
2. Have access to time based reports for the series
3. Have access to cross-conference email for the series

In passing, update the time based report template to use the newer
styling, and make it possible to resize the graph with drag/drop.

This also changes the list of available conferences in time reports to
be grouped by conference series, and removes the client side filtering
(since it's now much easier to just shift-click an entire series,
which was really the usecase for the previous filter).

6 years agoAdd a grouped version of model multiple choice field
Magnus Hagander [Sat, 17 Nov 2018 16:28:37 +0000 (17:28 +0100)]
Add a grouped version of model multiple choice field

This allows the grouping of the entries using optgroup fields in the
select list. Not used anywhere yet, but will be soon.

6 years agoFix unicode error on registration types in cross emails
Magnus Hagander [Sat, 17 Nov 2018 15:52:18 +0000 (16:52 +0100)]
Fix unicode error on registration types in cross emails

When a registration type itself had a non-ascii character in it the API
used to populate the dropdown of exclude options would crash...

6 years agoUse get_authenticated_conference in confsponsor
Magnus Hagander [Sat, 17 Nov 2018 14:39:20 +0000 (15:39 +0100)]
Use get_authenticated_conference in confsponsor

Simplifies code to use the same one that we already had in confreg and
confwiki.

6 years agoFix copy/paste error
Magnus Hagander [Wed, 7 Nov 2018 12:32:44 +0000 (13:32 +0100)]
Fix copy/paste error

Copy/paste mistake in the refectoring in
57b734d5f8b165e1f4d84ecc02217e62e7a78525.

6 years agoHandle Adyen settlement batches with just balancetransfers
Magnus Hagander [Wed, 7 Nov 2018 10:15:39 +0000 (11:15 +0100)]
Handle Adyen settlement batches with just balancetransfers

If we have a batch with just balance transfers going in and out of
exactly the same amount, an exception would be thrown because they'd be
summarized into 0.

Fix that by splitting apart incoming and outgoing balance transfers,
making each one of them non-zero.

For most normal settlement batches this was not a problem since
they will only have one Balancetranfer row, and it will be balanced
against the other types of entries.

6 years agoInstant buy sponsorships should never be manually confirmed
Magnus Hagander [Tue, 6 Nov 2018 15:34:08 +0000 (16:34 +0100)]
Instant buy sponsorships should never be manually confirmed

Since they don't have a contract, we don't confirm them manually, we
wait for the invoice to be paid. So remove the button that allows the
confirmation, to reduce confusion.

6 years agoEnable messages output on sponsorship signup page
Magnus Hagander [Tue, 6 Nov 2018 15:31:45 +0000 (16:31 +0100)]
Enable messages output on sponsorship signup page

6 years agoAdd "waitlist" for sponsors
Magnus Hagander [Tue, 6 Nov 2018 15:28:28 +0000 (16:28 +0100)]
Add "waitlist" for sponsors

This is not really a waitlist, as it simply allows sponsors to sign up
even when the level is full, but tells them they are on the waitlist and
they will not be approved. The actual approval/rejection is handled
manually by the administratror.

6 years agoFix broken HTML markup
Magnus Hagander [Tue, 6 Nov 2018 15:23:24 +0000 (16:23 +0100)]
Fix broken HTML markup

6 years agoMake it possible to reject a sponsorship
Magnus Hagander [Tue, 6 Nov 2018 14:09:06 +0000 (15:09 +0100)]
Make it possible to reject a sponsorship

Before a sponsorship is confirmed, it can now be rejected instead of
being confirmed. When rejecting a sponsorship, a reason must be given
and this one is sent to the person who signed up.

In passing, change the "generate invoice" button to be on a form and do
a POSTback instead of a GET.

6 years agoRequire administrator approval for isntantbuy sponsorships
Magnus Hagander [Tue, 6 Nov 2018 13:33:51 +0000 (14:33 +0100)]
Require administrator approval for isntantbuy sponsorships

As these would immediately proceed to invoice stage before, they could
lead to a whole lot of extra work if incorrect details were submitted.
To avoid this, require an administrator click-to-approve step before the
invoice is generated, which should make it easier to abort-and-retry in
case there is an error in the signup.

6 years agoSet helplink for confsponsor admin pages
Magnus Hagander [Tue, 6 Nov 2018 13:27:18 +0000 (14:27 +0100)]
Set helplink for confsponsor admin pages

6 years agoAdd a step for previewing sponsor invoice addresses
Magnus Hagander [Tue, 6 Nov 2018 12:56:13 +0000 (13:56 +0100)]
Add a step for previewing sponsor invoice addresses

Due to the number of sponsors that got it wrong, make a separate step
where they get to proview the sponsor address exactly as it's going to
look on the invoice before proceeding. It won't help with the ones who
actually put the wrong company name in, but at least for things like
VAT numbers and duplicated (almost the same but not quite) company names
etc.

6 years agoDon't show reminder_sent field in cfp form
Magnus Hagander [Tue, 6 Nov 2018 10:03:58 +0000 (11:03 +0100)]
Don't show reminder_sent field in cfp form

In fact, change the form to contain a whitelist of fields instead of an
exclusion list. Otherwise, new things added to ConferenceSession
apperars on the callforpapers form by default, which is never good.

Spotted by Stephen

6 years agoAttempt a unicode fix for purge warnings
Magnus Hagander [Mon, 5 Nov 2018 09:48:37 +0000 (10:48 +0100)]
Attempt a unicode fix for purge warnings

6 years agoHandle Balancetransfer Adyen accountign record
Magnus Hagander [Fri, 2 Nov 2018 10:32:22 +0000 (11:32 +0100)]
Handle Balancetransfer Adyen accountign record

This record shows up when we refund enough transactions that it takes
the data out of our deposit account, and not just out of other settled
transactions. Turns out this is the first time it's happend, but the
handling is straight forward.

6 years agoMake it possible to hode a conference series
Magnus Hagander [Tue, 30 Oct 2018 20:42:46 +0000 (21:42 +0100)]
Make it possible to hode a conference series

In particular for "Legacy Series" this can be useful, especially since a
conference has to be in a series.

The actual series is still viewable for people who have kept their link
around, but not listed anywhere.

6 years agoFix name of button in twitter integration test form
Magnus Hagander [Mon, 29 Oct 2018 12:24:35 +0000 (13:24 +0100)]
Fix name of button in twitter integration test form

6 years agoIgnore "not following" errors in twitter DMs
Magnus Hagander [Mon, 29 Oct 2018 12:22:10 +0000 (13:22 +0100)]
Ignore "not following" errors in twitter DMs

When the cronjob tries to send a twitter DM for example to a speaker, it
fails if that user is not following the conference account. This is a
normal state, and in this case we should just ignore the message rather
than throw an error.

6 years agoAllow attendee reports to take fixed list of options
Magnus Hagander [Mon, 29 Oct 2018 12:13:28 +0000 (13:13 +0100)]
Allow attendee reports to take fixed list of options

Previously only looked-up objects or strings were allowed, which meant
that for example looking up photo consent would easily break if one did
not explicitly type "true" or "false" in the field. Add support for
taking a tuple of options instead, which can then be hardcoded.

6 years agoMake it possible to refund VAT-less invoices
Magnus Hagander [Wed, 24 Oct 2018 14:09:38 +0000 (15:09 +0100)]
Make it possible to refund VAT-less invoices

6 years agoMake it possible to print and filter on photo consent
Magnus Hagander [Mon, 22 Oct 2018 13:59:48 +0000 (14:59 +0100)]
Make it possible to print and filter on photo consent

6 years agoIn attendee reports, print booleans as Yes/No
Magnus Hagander [Mon, 22 Oct 2018 13:59:35 +0000 (14:59 +0100)]
In attendee reports, print booleans as Yes/No

Nicer than True/False

6 years agoSend waitlist emails to the attendees, not the conference
Magnus Hagander [Fri, 19 Oct 2018 12:57:24 +0000 (14:57 +0200)]
Send waitlist emails to the attendees, not the conference

Definitely backwards to send all the emails back to the organizer
instead of the attendees....

6 years agoMake it easier to cancel off waitlist once an offer is received
Magnus Hagander [Fri, 19 Oct 2018 12:33:42 +0000 (14:33 +0200)]
Make it easier to cancel off waitlist once an offer is received

Make a link directly from the registration page to handle this instead
of having to first try to finish and then cancel upon failure.

In passing also update the waitlist offer email to explicitly ask the
recipient to go cancel their entry on the waitlist if they don't
want/need it anymore.

6 years agoMake it more clear how to accept a waitlist offer
Magnus Hagander [Fri, 19 Oct 2018 12:31:22 +0000 (14:31 +0200)]
Make it more clear how to accept a waitlist offer

6 years agoFix waitlist information for jinja templates
Magnus Hagander [Fri, 19 Oct 2018 12:26:33 +0000 (14:26 +0200)]
Fix waitlist information for jinja templates

Turns out the RegistrationWaitlistEntry object was never prepared to be
viewed by jinja templates, which made the registration form somewhat
confusing when receiving a waitlist offer.

6 years agoSet proper title tags on signup and wiki admin forms
Magnus Hagander [Fri, 19 Oct 2018 08:17:42 +0000 (10:17 +0200)]
Set proper title tags on signup and wiki admin forms

6 years agoAdd country to waitlist admin view
Magnus Hagander [Fri, 19 Oct 2018 08:13:14 +0000 (10:13 +0200)]
Add country to waitlist admin view

As we get to last minute waitlist, this can help in picking people who
are actually present and thus more likely to actually be able to pick up
the offer.

We only use the country code (SE/DE/whatever) to make sure the display
doesn't get insane for places like the UK.

6 years agoAdd note about using a filter for badges
Andreas Scherbaum [Thu, 18 Oct 2018 21:44:34 +0000 (23:44 +0200)]
Add note about using a filter for badges

6 years agoApply dictionary update in the right place for jinja templates
Magnus Hagander [Tue, 16 Oct 2018 08:51:52 +0000 (10:51 +0200)]
Apply dictionary update in the right place for jinja templates

If we want the context.override.json file to actually override, we have
to load it last, not first.

6 years agoSupport automated speaker reminders
Magnus Hagander [Mon, 15 Oct 2018 17:06:48 +0000 (19:06 +0200)]
Support automated speaker reminders

10-15 minutes before a presentation, a reminder is sent to registered
speakers, letting them know that their presentation is coming up, and
which room it's scheduled in.

Currently reminders are only sent over Twitter Direct Message, but the
system is set up so that other integrations can be provided in the
future.

6 years agoAdd support for testing twitter integration
Magnus Hagander [Mon, 15 Oct 2018 16:58:17 +0000 (18:58 +0200)]
Add support for testing twitter integration

We test it by sending a direct message from the configured account. That
way we can make sure all keys are correctly setup and still working
without having to post anything in public.

6 years agoAdd direct message support to twitter integration
Magnus Hagander [Mon, 15 Oct 2018 16:57:25 +0000 (18:57 +0200)]
Add direct message support to twitter integration

6 years agoRefactor twitter code
Magnus Hagander [Mon, 15 Oct 2018 16:41:35 +0000 (18:41 +0200)]
Refactor twitter code

Move the twitter specific code into a new section under util/messaging/,
since it started to get too spread out.

6 years agoFix time defaults in model as well
Magnus Hagander [Mon, 15 Oct 2018 09:07:23 +0000 (11:07 +0200)]
Fix time defaults in model as well

Commit 629748a025f40e6edc76faec4e149524920115b7 fixed the migration but
forgot to fix the actual model.

6 years agoOne more try, even more unicode fixes
Magnus Hagander [Sun, 14 Oct 2018 18:10:52 +0000 (20:10 +0200)]
One more try, even more unicode fixes

6 years agoSecond attempt at fixing unicode problem
Magnus Hagander [Sun, 14 Oct 2018 17:33:38 +0000 (19:33 +0200)]
Second attempt at fixing unicode problem

The last one clearly wasn't enough...

6 years agoSemi-blind attempt to fix unicode problem with wiki pages
Magnus Hagander [Fri, 12 Oct 2018 18:32:16 +0000 (20:32 +0200)]
Semi-blind attempt to fix unicode problem with wiki pages

Noted because of Devrim Gündüz, though not actually his fault...

6 years agoAdd docs index links to sponsors and integrations
Magnus Hagander [Thu, 11 Oct 2018 11:47:43 +0000 (13:47 +0200)]
Add docs index links to sponsors and integrations

6 years agoAdd more docs for twitter integration
Magnus Hagander [Thu, 11 Oct 2018 11:46:13 +0000 (13:46 +0200)]
Add more docs for twitter integration

Forgot to "git add" this as part of the bigger patch.

6 years agoFix pythons lack of handling 24:00 as a time
Magnus Hagander [Thu, 11 Oct 2018 11:27:07 +0000 (13:27 +0200)]
Fix pythons lack of handling 24:00 as a time

6 years agoDon't put None in return URLs for bank transfer payments
Magnus Hagander [Thu, 11 Oct 2018 11:06:07 +0000 (13:06 +0200)]
Don't put None in return URLs for bank transfer payments

None got turned into the string None, and then put in the URL, which
means the return URL was simply broken. In the case where there is no
return url, the link shouldn't be there at all.

6 years agoMake it possible for superusers to edit tshirt sizes metadata
Magnus Hagander [Thu, 11 Oct 2018 10:51:35 +0000 (12:51 +0200)]
Make it possible for superusers to edit tshirt sizes metadata

6 years agoMake it possible to pass instancemaker through backend lists
Magnus Hagander [Thu, 11 Oct 2018 10:50:46 +0000 (12:50 +0200)]
Make it possible to pass instancemaker through backend lists

This makes it possible to create objects that do not have a field for
conference. It was pure luck that this worked for ConferenceSeries(),
since it actually accepts a conference value (because of the link), but
it shouldn't have worked. So convert ConferenceSeries to use a dedicated
instancemaker as well.

6 years agoSupport auto-tweeting when sponsorship benefit is confirmed
Magnus Hagander [Tue, 9 Oct 2018 20:18:39 +0000 (22:18 +0200)]
Support auto-tweeting when sponsorship benefit is confirmed

This allows automatic posting of tweets like "welcome xyz as foobar
sponsor awesomeconf". Which will make it less likely to forget...

6 years agoImplement a tweet queue for conferences along with time windows
Magnus Hagander [Tue, 9 Oct 2018 20:13:09 +0000 (22:13 +0200)]
Implement a tweet queue for conferences along with time windows

The tweet queue allows different portions of the system to queue up
things that should be posted by the conference twitter.

Also add fields for each conference that define the earliest and latest
in a day that automated tweets will be posted. If a tweet is queued
outside those times, it will stay in the queue and get posted once the
interval is entered.

For each invokation of the script, one tweet per conference is posted.
If more are queued up (or if they are in the news), they remain in the
queue and will be delivered on the next invokation of the script. With
the script executed every 5 or 10 minutes, that ensures a spread of the
tweets.

6 years agoAdd backend form support for dynamic previews
Magnus Hagander [Tue, 9 Oct 2018 18:31:30 +0000 (20:31 +0200)]
Add backend form support for dynamic previews

This makes it possible to add a preview of a field that makes an AJAX
call to the backend to get the contents.

6 years agoCleaner implementation of Twitter integration
Magnus Hagander [Tue, 9 Oct 2018 14:39:56 +0000 (16:39 +0200)]
Cleaner implementation of Twitter integration

In particular this allows configuring the twitter integration from
within the browser, when setting up different integration points for
different conferences.

It supports posting conference news as well as global news, but global
news is still configured in the local_settings.py file.

6 years agoRemove twitter list synchronization
Magnus Hagander [Tue, 9 Oct 2018 12:37:05 +0000 (14:37 +0200)]
Remove twitter list synchronization

This never worked well across multiple years anyway, so it hasn't been
used for a long time. Will be replaced with more useful twitter posting
functionality in the future.

6 years agoRemove support for synchronizing with mailman
Magnus Hagander [Tue, 9 Oct 2018 12:27:18 +0000 (14:27 +0200)]
Remove support for synchronizing with mailman

6 years agoAdd protection against concurrent modification of wiki pages
Magnus Hagander [Sat, 6 Oct 2018 10:57:58 +0000 (12:57 +0200)]
Add protection against concurrent modification of wiki pages

Otherwise a second modification can overwrite the first one withuot
seeing it. We already have classes to handle it by storing a hash of the
data, but it was not enabled for the wikipage editing.

6 years agoAdd a div wrapper around wiki page contents
Magnus Hagander [Fri, 5 Oct 2018 12:42:05 +0000 (14:42 +0200)]
Add a div wrapper around wiki page contents

This makes it possible to do styling that applies to just the wiki
contents and nothing else on the page.

6 years agoAdd support for tables in jinja markdown
Magnus Hagander [Fri, 5 Oct 2018 12:34:54 +0000 (14:34 +0200)]
Add support for tables in jinja markdown

6 years agoDon't enforce a regtypes activeuntil to be inside conference dates
Magnus Hagander [Fri, 28 Sep 2018 12:38:20 +0000 (14:38 +0200)]
Don't enforce a regtypes activeuntil to be inside conference dates

The only reason to really use it is to set it to a date ahead of the
conference..

Noticed by Stephen Frost

6 years agoAdd function to send email to attendees on waitlist
Magnus Hagander [Fri, 28 Sep 2018 11:03:49 +0000 (13:03 +0200)]
Add function to send email to attendees on waitlist

6 years agoShow "waitlist is empty" when the waitlist is empty
Magnus Hagander [Fri, 28 Sep 2018 11:03:13 +0000 (13:03 +0200)]
Show "waitlist is empty" when the waitlist is empty

Instead of a number of buttons and fields that won't do anything anyway.

6 years agoPlase cancel button in it's own form
Magnus Hagander [Fri, 28 Sep 2018 08:54:35 +0000 (10:54 +0200)]
Plase cancel button in it's own form

While we made sure that we didn't validate the form serverside, it would
still not be possible to cancel a form wihtout filling out required
fields since the *browser* would enforce those. For this reason, put the
cancel button in a separate form so it doens't trigger those
requirements.

6 years agoRemove redundant handling of cancel button
Magnus Hagander [Thu, 27 Sep 2018 15:45:09 +0000 (17:45 +0200)]
Remove redundant handling of cancel button

6 years agoInclude publishing date in the RSS feeds
Magnus Hagander [Thu, 27 Sep 2018 12:57:03 +0000 (14:57 +0200)]
Include publishing date in the RSS feeds

6 years agoFix syntax error in previous commit
Magnus Hagander [Tue, 25 Sep 2018 19:40:11 +0000 (21:40 +0200)]
Fix syntax error in previous commit

6 years agoMake offer confirmation singular/plural
Daniel Gustafsson [Tue, 25 Sep 2018 19:04:34 +0000 (21:04 +0200)]
Make offer confirmation singular/plural

Present different confirmation texts for waitlist offers depending on
if a single offer is extended, or multiple.

Reviewed-by: Magnus Hagander
6 years agoProperly escape HTML entities in md docs
Magnus Hagander [Tue, 25 Sep 2018 17:19:53 +0000 (19:19 +0200)]
Properly escape HTML entities in md docs

Forgot that HTML passes through...

6 years agoRemove sponsor name from sponsor details
Magnus Hagander [Tue, 25 Sep 2018 17:09:26 +0000 (19:09 +0200)]
Remove sponsor name from sponsor details

It's already in the header, let's save some vertical space.

6 years agoShow sponsor details on the view/claim benefit page
Magnus Hagander [Tue, 25 Sep 2018 17:08:27 +0000 (19:08 +0200)]
Show sponsor details on the view/claim benefit page

Because you often want the URL and the Display Name of the sponsor when
confirming a logo, for example...

6 years agoAdd link to news
Magnus Hagander [Tue, 25 Sep 2018 14:36:42 +0000 (16:36 +0200)]
Add link to news

7 years agoHandle attendee report where more than one state is picked
Magnus Hagander [Sun, 23 Sep 2018 19:29:44 +0000 (21:29 +0200)]
Handle attendee report where more than one state is picked

Bug spotted by ads.

7 years agoAdd docs file that I forgot to git add earlier
Magnus Hagander [Sun, 23 Sep 2018 18:58:18 +0000 (20:58 +0200)]
Add docs file that I forgot to git add earlier

7 years agoMake it possible to filter a report based on speaker state
Magnus Hagander [Sun, 23 Sep 2018 16:56:56 +0000 (18:56 +0200)]
Make it possible to filter a report based on speaker state

7 years agoImplement better way to handle deploystatic branch tips
Magnus Hagander [Sun, 23 Sep 2018 13:54:00 +0000 (15:54 +0200)]
Implement better way to handle deploystatic branch tips

This removes the --githash parameter again, and replaces it with smarter
parsing. When working from a raw directory, do as before. When deploying
from a branch, call "git rev-parse" on the branch to get the branch tip,
and then use that hash. This is the same branch we actually deploy from,
so the contents should be correct at all times.

7 years agoAdd deploystatic commandline argument to provide githash
Magnus Hagander [Sun, 23 Sep 2018 13:46:51 +0000 (15:46 +0200)]
Add deploystatic commandline argument to provide githash

This will be needed when deploying off a branch, where we cannot just
open a file.

7 years agoDon't limit news JSON feed to RSS feed items only
Magnus Hagander [Sun, 23 Sep 2018 13:34:09 +0000 (15:34 +0200)]
Don't limit news JSON feed to RSS feed items only

If we limit it like that then there is no way to actually get to those
news items. They should be included in the JSON feed, just not RSS,
because the JSON feed is intended for internal consumption.

Instead, add a boolean field to the actual *contents* representing the
flag for inrss.

7 years agoFix unicode bug and spelling error
Magnus Hagander [Sun, 23 Sep 2018 13:31:59 +0000 (15:31 +0200)]
Fix unicode bug and spelling error

7 years agoRevamp and expand news handling
Magnus Hagander [Sun, 23 Sep 2018 12:45:09 +0000 (14:45 +0200)]
Revamp and expand news handling

A number of improvements and unifications for news:
* News posts now get authors

* Authors are from NewsPosterProfile:s, which will include a full name
  and an "urlname"

* Authors can also be specified as "can post global", which should
  give rights to post on the global feed. Right now the global feed
  requires superuser access anwyay, but for the future...

* News can now be posted at conference level as well as previous
  global only

* Front page of website pulls in a combination of global news and
  conference news. Global news can be given a "high priority until"
  field that ensure it sits at the top of the frontpage until a
  certain date, so conference news can't push it off.

* Each conference gets it's own RSS feed. This one is also available
  via JSON for an easy way to pull it into the conference site itself.

* All links to posts in the conference feed goes to the conference
  homepage. It's really only designed for transient news.

* Each user also gets it's own RSS feed. This is designed so that it
  can be submitted to an aggregator like Planet PostgreSQL which
  requires personal feeds. Conference specific news are automatically
  prefixed by conference name.

* Each post can individually be toggled if it should be included in
  the RSS feed or not

* Re-adds the news archive, with a paginated view

* Each post can individually be toggled for inclusion in the news
  archive, so it's possible to create more transient news. News
  archive *only* contains news from the global feed, not the
  conference feeds.

* Makes the "read more" button on the frontpage only show up if the
  entire news post did not fit

7 years agoSpecify default DataTable sorting for some backend forms
Magnus Hagander [Sun, 23 Sep 2018 12:56:59 +0000 (14:56 +0200)]
Specify default DataTable sorting for some backend forms

We had sorting, but when adding DataTable everything reverted to sorting
based on the first column. Fix that for example for all items that have
a defined sortkey column.

7 years agoAdd support for markdown previews in backend forms
Magnus Hagander [Sat, 22 Sep 2018 19:28:27 +0000 (21:28 +0200)]
Add support for markdown previews in backend forms

We had basic markdown preview support in /admin/, but not in the newer
and otherwise better backend editor.

7 years agoFix defaults for sponsorship benefit classes
Magnus Hagander [Fri, 21 Sep 2018 12:26:12 +0000 (14:26 +0200)]
Fix defaults for sponsorship benefit classes

Defaulting to null when nulls are not allowed turns out to be a bad
idea.

7 years agoDisable datatable ordering on registration list
Magnus Hagander [Tue, 18 Sep 2018 16:12:58 +0000 (18:12 +0200)]
Disable datatable ordering on registration list

It can't handle NULLs the way we need it, and we have server side
ordering already. It's the searching that's important...

7 years agoUse datatable for registration list
Magnus Hagander [Tue, 18 Sep 2018 15:57:56 +0000 (17:57 +0200)]
Use datatable for registration list

This makes it possible to search the registration list, and also to
re-sort it without a server roundtrip. Makes it easier to work with long
lists of registrations.

7 years agoFix migration for acceess token permissions
Magnus Hagander [Tue, 18 Sep 2018 15:45:52 +0000 (17:45 +0200)]
Fix migration for acceess token permissions

63b80c6f727e12403d9419ef531ea22304e6a1b9 changed the hardcoded options
available, but forgot to update the old migration.

7 years agoInclude number of remaining seats in additional option json dump
Magnus Hagander [Sun, 16 Sep 2018 20:52:33 +0000 (22:52 +0200)]
Include number of remaining seats in additional option json dump

7 years agoAdd support for a new Adyen transaction string
Magnus Hagander [Sun, 16 Sep 2018 19:43:39 +0000 (21:43 +0200)]
Add support for a new Adyen transaction string

7 years agoAllow remote access to keyed JSON data
Magnus Hagander [Sun, 16 Sep 2018 16:49:45 +0000 (18:49 +0200)]
Allow remote access to keyed JSON data

Set the access-control-allowed-origin to make it possible to load the
JSON data from another domain, such as one of the conference domains.

7 years agoMake it possible to get additional option counts from tokens
Magnus Hagander [Fri, 14 Sep 2018 14:45:54 +0000 (16:45 +0200)]
Make it possible to get additional option counts from tokens

7 years agoUpdate docs for json token links
Magnus Hagander [Fri, 14 Sep 2018 14:45:41 +0000 (16:45 +0200)]
Update docs for json token links

7 years agoMake it possible to add/remove additional options from registrations
Magnus Hagander [Fri, 14 Sep 2018 12:10:50 +0000 (14:10 +0200)]
Make it possible to add/remove additional options from registrations

This should not require /admin/ access, so add it to the general form.

7 years agoSupport json format output access key based data dump
Magnus Hagander [Fri, 14 Sep 2018 11:43:41 +0000 (13:43 +0200)]
Support json format output access key based data dump

Also adds support for first-level grouping of structured data into the
json output (which in csv/tsv remains ungrouped, of course).

7 years agoDon't show all users with discount codes when creating new codes
Magnus Hagander [Thu, 13 Sep 2018 11:43:00 +0000 (13:43 +0200)]
Don't show all users with discount codes when creating new codes

Before a code is set, the field is ''. Which matches every user that
doesn't use a discount code or voucher.

7 years agoReverse order of upcoming and current conferences on dashboard
Magnus Hagander [Wed, 12 Sep 2018 20:33:59 +0000 (22:33 +0200)]
Reverse order of upcoming and current conferences on dashboard

Show the next upcoming one first, instead of ordering them
last-to-first. This makes more sense for current/upcoming, since the one
most likely to be worked on is then at the first position.

Past conferences remain sorted the same way as before, since that leaves
the most recent one first.

Suggsted by Andreas Scherbaum, though not his patch since it didn't
work.

7 years agoFix missing import
Magnus Hagander [Wed, 12 Sep 2018 11:59:29 +0000 (13:59 +0200)]
Fix missing import

69ae4f286fd6bf2305c7aeca69598b6bc88a2741 broke the import of
NoReverseMatch when updating the url reversing.

7 years agoShow current users of discount codes in admin view
Magnus Hagander [Wed, 12 Sep 2018 11:58:10 +0000 (13:58 +0200)]
Show current users of discount codes in admin view

7 years agoMake the add button for linked objects configurable
Magnus Hagander [Wed, 12 Sep 2018 11:56:28 +0000 (13:56 +0200)]
Make the add button for linked objects configurable

Default is off, but turn it on for sponsorship levels, the only
currently existing one.

7 years agoLink to options, discounts and vouchers from admin dashboard
Magnus Hagander [Wed, 12 Sep 2018 11:53:31 +0000 (13:53 +0200)]
Link to options, discounts and vouchers from admin dashboard

Brings in a shortcut to viewing more status about the different types of
objects.

7 years agoShow number of invoiced registrations on admin dashboard
Magnus Hagander [Wed, 12 Sep 2018 10:44:32 +0000 (12:44 +0200)]
Show number of invoiced registrations on admin dashboard

This separates out the count of invoiced (which includes both directly
invoiced and invoiced through bulk payment) registrations from unconfirmed.

7 years agoFix cross conference emailing for registered-by-others users
Magnus Hagander [Wed, 12 Sep 2018 08:51:49 +0000 (10:51 +0200)]
Fix cross conference emailing for registered-by-others users

When a user is registrered by somebody else, they get an attendee_id of
NULL. These registrations got filtered out against the global opt-out
list, due to the NULL check.

Make it so that any registration with NULL attendee is always included.
If this user decides to opt out globally, the attendee_id field will get
populated when they do that, and the regular opt-out rules will apply.

Per-conference-series optout not affected as it was already doing the
correct thing.

7 years agoMake sponsorship details more compact
Magnus Hagander [Wed, 12 Sep 2018 08:29:26 +0000 (10:29 +0200)]
Make sponsorship details more compact

This was done in 7f3bc68469a13f2ac0531cef39f42d54cfe0c6e1 for the signup
form, but should also be done for the individual sponsor dashboard.

7 years agoAdd link to view invoice from registration dashboard view
Magnus Hagander [Tue, 11 Sep 2018 20:45:34 +0000 (22:45 +0200)]
Add link to view invoice from registration dashboard view