pgeu-website.git
6 years agoReimplement multiple speaker handling in call for papers
Magnus Hagander [Sun, 18 Nov 2018 16:56:27 +0000 (17:56 +0100)]
Reimplement multiple speaker handling in call for papers

Instead of the awkward way with a subform, we now use selectize to
populate a "dynamic" list of speakers. This is the same technology we've
arleady used in the backend for some time with good results.

This adds a dependency on jquery to the conference templates. If a
conference template does not include jquery, multiple speakers will not
work (but the rest of the form will keep working fine). This should be
included before the pagescript block in the template to make sure it's
available when the page runs.

6 years agoAdd pagescript block to jinja base template
Magnus Hagander [Sun, 18 Nov 2018 14:39:07 +0000 (15:39 +0100)]
Add pagescript block to jinja base template

This was done for non-jinja templates in
79bbc8a93b3e6b2a17bca353067dc46f553d09e3, but is needed here as well to
work for potentially styled conference pages.

6 years agoDon't crash when trying to list speakers of unsaved session
Magnus Hagander [Sun, 18 Nov 2018 14:00:28 +0000 (15:00 +0100)]
Don't crash when trying to list speakers of unsaved session

This could turn into infinite recursion since error messages tried to
print the list of speakers

6 years agoSet appropriate verbose name on Speakers
Magnus Hagander [Sun, 18 Nov 2018 13:58:59 +0000 (14:58 +0100)]
Set appropriate verbose name on Speakers

6 years agoFix link to speaker profile in nav menu
Magnus Hagander [Sun, 18 Nov 2018 11:10:16 +0000 (12:10 +0100)]
Fix link to speaker profile in nav menu

I missed one of the two places where the link was when I adjusted ads'
patch. Fxied here, along with shortering the headline so it renders on
one line.

6 years agoAdd link to speaker profile from account page
Andreas Scherbaum [Sat, 17 Nov 2018 21:53:50 +0000 (22:53 +0100)]
Add link to speaker profile from account page

6 years agoRe-allow speaker proflie without specifying conference
Magnus Hagander [Sat, 17 Nov 2018 21:53:15 +0000 (22:53 +0100)]
Re-allow speaker proflie without specifying conference

This got lost somewhere along the way, so add it back.

6 years agoMake it possible to remove an unconfirmed registration
Magnus Hagander [Sat, 17 Nov 2018 18:41:29 +0000 (19:41 +0100)]
Make it possible to remove an unconfirmed registration

Previously we could only cancel a registration once it was confirmed.
But given the new system to "register for somebody else", it seems to be
more common to have to remove one that has *not* been confirmed,
particularly when it has been created by somebody other than the actual
attendee.

6 years agoFix wrong field name in cancellation status message
Magnus Hagander [Sat, 17 Nov 2018 18:39:09 +0000 (19:39 +0100)]
Fix wrong field name in cancellation status message

6 years agoSet plural name for conference series
Magnus Hagander [Sat, 17 Nov 2018 18:20:13 +0000 (19:20 +0100)]
Set plural name for conference series

6 years agoSet verbose name on a number of fields previously lacking
Magnus Hagander [Sat, 17 Nov 2018 18:09:59 +0000 (19:09 +0100)]
Set verbose name on a number of fields previously lacking

6 years agoAdd fieldsets to registration edit form
Magnus Hagander [Sat, 17 Nov 2018 17:44:39 +0000 (18:44 +0100)]
Add fieldsets to registration edit form

Makes it easier to parse since it's now a fairly large form.

6 years agoCreate wrapper for removing fields on admin forms
Magnus Hagander [Sat, 17 Nov 2018 17:44:22 +0000 (18:44 +0100)]
Create wrapper for removing fields on admin forms

This will be necessary in order to remove a field that's part of a
fieldset.

6 years agoSupport editing email and registration type on registrations
Magnus Hagander [Sat, 17 Nov 2018 17:34:59 +0000 (18:34 +0100)]
Support editing email and registration type on registrations

Per experience from pgconfeu, this should not be limited to just
superusers. People make mistakes...

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

7 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

7 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

7 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
7 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...

7 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.

7 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...

7 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.