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
Magnus Hagander [Mon, 5 Nov 2018 09:48:37 +0000 (10:48 +0100)]
Attempt a unicode fix for purge warnings
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.
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.
Magnus Hagander [Mon, 29 Oct 2018 12:24:35 +0000 (13:24 +0100)]
Fix name of button in twitter integration test form
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.
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.
Magnus Hagander [Wed, 24 Oct 2018 14:09:38 +0000 (15:09 +0100)]
Make it possible to refund VAT-less invoices
Magnus Hagander [Mon, 22 Oct 2018 13:59:48 +0000 (14:59 +0100)]
Make it possible to print and filter on photo consent
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
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....
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.
Magnus Hagander [Fri, 19 Oct 2018 12:31:22 +0000 (14:31 +0200)]
Make it more clear how to accept a waitlist offer
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.
Magnus Hagander [Fri, 19 Oct 2018 08:17:42 +0000 (10:17 +0200)]
Set proper title tags on signup and wiki admin forms
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.
Andreas Scherbaum [Thu, 18 Oct 2018 21:44:34 +0000 (23:44 +0200)]
Add note about using a filter for badges
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.
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.
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.
Magnus Hagander [Mon, 15 Oct 2018 16:57:25 +0000 (18:57 +0200)]
Add direct message support to twitter integration
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.
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.
Magnus Hagander [Sun, 14 Oct 2018 18:10:52 +0000 (20:10 +0200)]
One more try, even more unicode fixes
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...
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...
Magnus Hagander [Thu, 11 Oct 2018 11:47:43 +0000 (13:47 +0200)]
Add docs index links to sponsors and integrations
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.
Magnus Hagander [Thu, 11 Oct 2018 11:27:07 +0000 (13:27 +0200)]
Fix pythons lack of handling 24:00 as a time
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.
Magnus Hagander [Thu, 11 Oct 2018 10:51:35 +0000 (12:51 +0200)]
Make it possible for superusers to edit tshirt sizes metadata
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.
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...
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.
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.
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.
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.
Magnus Hagander [Tue, 9 Oct 2018 12:27:18 +0000 (14:27 +0200)]
Remove support for synchronizing with mailman
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.
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.
Magnus Hagander [Fri, 5 Oct 2018 12:34:54 +0000 (14:34 +0200)]
Add support for tables in jinja markdown
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
Magnus Hagander [Fri, 28 Sep 2018 11:03:49 +0000 (13:03 +0200)]
Add function to send email to attendees on waitlist
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.
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.
Magnus Hagander [Thu, 27 Sep 2018 15:45:09 +0000 (17:45 +0200)]
Remove redundant handling of cancel button
Magnus Hagander [Thu, 27 Sep 2018 12:57:03 +0000 (14:57 +0200)]
Include publishing date in the RSS feeds
Magnus Hagander [Tue, 25 Sep 2018 19:40:11 +0000 (21:40 +0200)]
Fix syntax error in previous commit
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
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...
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.
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...
Magnus Hagander [Tue, 25 Sep 2018 14:36:42 +0000 (16:36 +0200)]
Add link to news
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.
Magnus Hagander [Sun, 23 Sep 2018 18:58:18 +0000 (20:58 +0200)]
Add docs file that I forgot to git add earlier
Magnus Hagander [Sun, 23 Sep 2018 16:56:56 +0000 (18:56 +0200)]
Make it possible to filter a report based on speaker state
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.
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.
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.
Magnus Hagander [Sun, 23 Sep 2018 13:31:59 +0000 (15:31 +0200)]
Fix unicode bug and spelling error
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
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.
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.
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.
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...
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.
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.
Magnus Hagander [Sun, 16 Sep 2018 20:52:33 +0000 (22:52 +0200)]
Include number of remaining seats in additional option json dump
Magnus Hagander [Sun, 16 Sep 2018 19:43:39 +0000 (21:43 +0200)]
Add support for a new Adyen transaction string
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.
Magnus Hagander [Fri, 14 Sep 2018 14:45:54 +0000 (16:45 +0200)]
Make it possible to get additional option counts from tokens
Magnus Hagander [Fri, 14 Sep 2018 14:45:41 +0000 (16:45 +0200)]
Update docs for json token links
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.
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).
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.
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.
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.
Magnus Hagander [Wed, 12 Sep 2018 11:58:10 +0000 (13:58 +0200)]
Show current users of discount codes in admin view
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.
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.
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.
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.
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.
Magnus Hagander [Tue, 11 Sep 2018 20:45:34 +0000 (22:45 +0200)]
Add link to view invoice from registration dashboard view
Magnus Hagander [Tue, 11 Sep 2018 19:32:21 +0000 (21:32 +0200)]
Add direct link to user feedback on admin dashboard
Lack thereof noticed by Stephen
Magnus Hagander [Tue, 11 Sep 2018 14:38:23 +0000 (16:38 +0200)]
Ensure lowercase on emails on conference registrations
Previously the duplication check would work case sensitive, so the same
email could be used twice with different spellings. This caused
duplicate registrations due to lack of verification by the people who
registered.
Vik Fearing [Sun, 9 Sep 2018 23:18:19 +0000 (16:18 -0700)]
Use modern way of including the admin URLs
Magnus Hagander [Fri, 7 Sep 2018 23:38:50 +0000 (16:38 -0700)]
Don't include cross schedule sessions in report of sessions-without-rooms
Vik Fearing [Fri, 7 Sep 2018 23:29:10 +0000 (16:29 -0700)]
Specify on_delete parameter for all ForeignKeys
This will be required in future Django versions, and currently throws
deprecation warnings.
Vik Fearing [Fri, 7 Sep 2018 18:23:03 +0000 (11:23 -0700)]
Fix imports of django urlresolves
Importing from django.core.urlresolvers is deprecated in favor of django.urls.
Magnus Hagander [Fri, 7 Sep 2018 17:04:54 +0000 (10:04 -0700)]
Fix refunding of additional options invoices
When there is no way to automatically remove something because of a
refund, don't block the refund completely. Instead allow it to go
through and leave it up to the operator to manually verify.
Daniel Gustafsson [Fri, 7 Sep 2018 10:01:51 +0000 (12:01 +0200)]
Fix rendering of offline schedule
The offline code was using the deprecated .live function which was
removed in jQuery 1.9. This is a follow-up commit to
53ce8f3304eac
which fixed the same bug for sessionvoting.
Magnus Hagander [Wed, 5 Sep 2018 21:36:37 +0000 (14:36 -0700)]
Remove tests file that contains no tests anyway
Magnus Hagander [Mon, 3 Sep 2018 10:57:25 +0000 (12:57 +0200)]
Add links to website, reg, cfp and cfs on events listing
Magnus Hagander [Mon, 3 Sep 2018 09:26:12 +0000 (11:26 +0200)]
Fix speling
Magnus Hagander [Mon, 3 Sep 2018 09:25:09 +0000 (11:25 +0200)]
Split past events list by year
Makes it a lot more readable when there are many events (many more than
in testing..)
Magnus Hagander [Mon, 3 Sep 2018 09:10:04 +0000 (11:10 +0200)]
Add fa icon to indicate dropdown availability
Magnus Hagander [Mon, 3 Sep 2018 09:09:46 +0000 (11:09 +0200)]
Make sponsorship signup list more compact
Becomes more apparent when all the different options are avaiable
Magnus Hagander [Mon, 3 Sep 2018 09:04:30 +0000 (11:04 +0200)]
Re-order and comment up CSS file
Magnus Hagander [Mon, 3 Sep 2018 08:50:47 +0000 (10:50 +0200)]
Fix typo
Accidentally listed all events under "call for sponsors open".