Daniel Gustafsson [Mon, 27 Aug 2018 08:32:53 +0000 (10:32 +0200)]
Use correct filtername for default
Daniel Gustafsson [Mon, 27 Aug 2018 08:27:02 +0000 (10:27 +0200)]
Use a default trackname for unallocated talks
In the sessionlist, when a talk hasn't been allocated a track it
shows up as "None" as the Python None object is translated to a
string. Override None tracks with 'General' instead to make the
sessionlist less confusing before it's complete.
Magnus Hagander [Fri, 24 Aug 2018 10:20:42 +0000 (12:20 +0200)]
Show session id on talk voting page
Per request from ads, this should be useful when discussing talks,to
avoid having to copy/paste the whole talk title.
Magnus Hagander [Fri, 24 Aug 2018 09:32:31 +0000 (11:32 +0200)]
Add row numbering to talk vote page
Since we can now filter out talks, it makes the row numbering a lot more
useful.
Magnus Hagander [Fri, 24 Aug 2018 09:29:15 +0000 (11:29 +0200)]
Make it possible to filter talkvote list by status
Magnus Hagander [Fri, 24 Aug 2018 08:52:52 +0000 (10:52 +0200)]
Allow talk vote status change by admins
Previously it was only possible to change the status if someone was
*both* a voter *and* an admin. But the admins would still get the button
(but not talkvoters).
Daniel Gustafsson [Thu, 23 Aug 2018 19:34:03 +0000 (21:34 +0200)]
Fix typo in cancel reg popup
Magnus Hagander [Thu, 16 Aug 2018 20:52:22 +0000 (22:52 +0200)]
Automatically cascade deletes to conference session votes
Without this, a session that had votes on it would not be possible to
delete.
Magnus Hagander [Tue, 14 Aug 2018 11:17:20 +0000 (13:17 +0200)]
Properly support markdown when previewing session abstracts
In the voting page, we should parse the markdown in the preview, since
it's supported in abstracts in general.
Magnus Hagander [Mon, 13 Aug 2018 20:36:25 +0000 (22:36 +0200)]
Allow administrators to view talk voting page without throwing exception
They can of course not vote (and this was already protected for at the
actual endpoints), just view the overview without throwing.
Magnus Hagander [Mon, 13 Aug 2018 20:27:47 +0000 (22:27 +0200)]
Don't crash speaker lookup on speakers with no userid
These would either be old migrated speakers or speakers who have been
added manually into the system (which we really shouldn't do..)
Magnus Hagander [Mon, 13 Aug 2018 20:23:30 +0000 (22:23 +0200)]
Change voting comment to be text instead of varchar(200)
No reason to limit it in the new interface.
Daniel Gustafsson [Fri, 10 Aug 2018 12:50:46 +0000 (14:50 +0200)]
Attempt to fix sessionvotes rendering
The .live function was removed in jQuery 1.9, causing the sessions
list to not display as it's rendered hidden. This is a mostly blind
attempt at fixing the issue.
Daniel Gustafsson [Fri, 20 Jul 2018 15:05:48 +0000 (17:05 +0200)]
Minor documentation touch-ups
Nothing interesting, just minor things spotted while reading.
Daniel Gustafsson [Fri, 20 Jul 2018 11:25:17 +0000 (13:25 +0200)]
Add invoice payment information to sponsor admin page
The invoicing information is present on the sponsorship dashboard,
but not on the detailed sponsorship view which can be confusing.
This adds the payment information on the detailed admin page.
Daniel Gustafsson [Fri, 20 Jul 2018 07:15:19 +0000 (09:15 +0200)]
Clarify wording on notification queue draining
While it's true that the speakers of the sessions will be attendees
of the conference, they probably won't be at this point. I had to
read code to ensure myself this wasn't sending a notification to
all registered attendees of the conference (which it doesn't), so
to spare myself the same excercise the next time reword the text
to make it clear.
Guillaume Lelarge [Wed, 18 Jul 2018 08:43:39 +0000 (10:43 +0200)]
Revert "Add the membership navigation menu to the invoices list"
This reverts commit
2e016b9ecaab521356297ab17f4a9072f10aed35.
Dave Page [Wed, 18 Jul 2018 08:37:54 +0000 (09:37 +0100)]
Add the nav menu to invoice pages.
Guillaume Lelarge [Wed, 18 Jul 2018 08:35:51 +0000 (10:35 +0200)]
Add the membership navigation menu to the invoices list
Guillaume Lelarge [Wed, 27 Jun 2018 09:45:40 +0000 (11:45 +0200)]
Update date on the statutes
Guillaume Lelarge [Wed, 18 Jul 2018 08:27:51 +0000 (09:27 +0100)]
Add a link to member's invoices to the membership page.
Daniel Gustafsson [Tue, 17 Jul 2018 20:24:33 +0000 (22:24 +0200)]
Widen buttons on registration dashboard
The buttons dooesn't fit the text on them, and since their styling
was inline with !important it couldn't be fixed by the conference
overrides. Fix by widening the button and removing !important. This
lipsticking the pig to handle the current event taking place, all
the inline CSS needs to removed at some point but thats another
patch.
Daniel Gustafsson [Tue, 17 Jul 2018 20:14:09 +0000 (22:14 +0200)]
Wrap sessionlink in div element to allow styling
The "Back" link on session and speaker display currently takes the
user to the sessionlist, which may not be where the user actually
came from. This wraps the link in a div element such that an event
can hide it with visibility settings in the override CSS in case it
doesn't make sense.
Magnus Hagander [Tue, 17 Jul 2018 15:02:33 +0000 (17:02 +0200)]
Fix typo
Magnus Hagander [Tue, 17 Jul 2018 15:01:45 +0000 (17:01 +0200)]
Separate pending invoices from overdue one for confirmed sponsors
Magnus Hagander [Tue, 17 Jul 2018 14:46:51 +0000 (16:46 +0200)]
Make it possible to clear a voucher code from a registration
For example, if somebody is "hogging" a code without proceeding to
finish their registration, make it possible to clear a code from the
registratino without resorting to superuser editing.
A code can only be removed if the registration does not have an invoice
or bulk payment (of course).
Magnus Hagander [Tue, 17 Jul 2018 09:37:19 +0000 (11:37 +0200)]
Remove duplicate alert messages code and styles
All pages inheriting from confadmin_base.html already process alert
messages using that template. Having it on the admin benefits made the
same message show up twice on the same page.
In passing remove CSS that used to be used for messages on timereports
but aren't anymore.
Magnus Hagander [Mon, 16 Jul 2018 14:46:37 +0000 (16:46 +0200)]
Make unconfirmed benefits a bit more compact
Magnus Hagander [Mon, 16 Jul 2018 14:43:27 +0000 (16:43 +0200)]
Add some spacing between buttons
Magnus Hagander [Mon, 16 Jul 2018 14:03:30 +0000 (16:03 +0200)]
Fix incorrect colspan
Magnus Hagander [Mon, 16 Jul 2018 13:31:54 +0000 (15:31 +0200)]
Warning text about changing sponsorship benefits
Magnus Hagander [Mon, 16 Jul 2018 13:30:42 +0000 (15:30 +0200)]
Remove global superuser link
We should really never use this anymore, so get rid of it.
Magnus Hagander [Mon, 16 Jul 2018 13:26:57 +0000 (15:26 +0200)]
Add basic docs for sponsorship side of things
Magnus Hagander [Mon, 16 Jul 2018 13:18:17 +0000 (15:18 +0200)]
Indicate invoice status for pending sponsors
Magnus Hagander [Mon, 16 Jul 2018 12:37:34 +0000 (14:37 +0200)]
Add proper backend editor for sponsors
No need to use the django admin interface anymore!
Magnus Hagander [Mon, 16 Jul 2018 12:25:40 +0000 (14:25 +0200)]
Use bootstrap accordion in admin interface
Avoid conflicts with jquery-ui
Magnus Hagander [Mon, 16 Jul 2018 12:07:50 +0000 (14:07 +0200)]
Upgrade bootstrap and jquery to later minor releases
Leave the old jquery around for non-confreg parts
Magnus Hagander [Mon, 16 Jul 2018 11:32:40 +0000 (13:32 +0200)]
Style fixes for sponsorship backend interface
Magnus Hagander [Fri, 13 Jul 2018 15:46:22 +0000 (17:46 +0200)]
Make it even more clear why IBAN transfers are discouraged
Magnus Hagander [Fri, 13 Jul 2018 15:45:50 +0000 (17:45 +0200)]
Make it possible to use HTML in payment method description
This makes it possible to use boldface and such things in particular --
use with care, but all the strings come from the code so there's no
risk.
Magnus Hagander [Fri, 13 Jul 2018 11:25:42 +0000 (13:25 +0200)]
Include username in backend listings of speaker edit
Magnus Hagander [Thu, 12 Jul 2018 11:23:36 +0000 (13:23 +0200)]
Update invoice reminder text
Make it more clear that the auto-cancellation of invoices is
non-reversible, and that they should check their sending bank account to
look for automated returns.
Daniel Gustafsson [Mon, 9 Jul 2018 20:32:08 +0000 (22:32 +0200)]
Minor doc touch-ups and typo fixes
Magnus Hagander [Mon, 9 Jul 2018 14:58:22 +0000 (16:58 +0200)]
Add filter-by-track to talkvoting page
This makes it possible to use it indepdently for voting for training for
example, but also for removing things like training and breaks from the
list of sessions when voting.
Magnus Hagander [Mon, 9 Jul 2018 14:18:08 +0000 (16:18 +0200)]
Fix styling for back button on session notification queue
Magnus Hagander [Mon, 9 Jul 2018 14:16:48 +0000 (16:16 +0200)]
Move talk voting links into /admin/
Magnus Hagander [Mon, 9 Jul 2018 14:14:50 +0000 (16:14 +0200)]
Add edit session button to conference voting page
If smaller things have to be adjusted, allow conference admins to do so.
Magnus Hagander [Mon, 9 Jul 2018 14:09:25 +0000 (16:09 +0200)]
Attempt to simplify talk voting pages
This merges a couple of changes:
1. Each individual vote is cast by selection in dropdown and is
immediately ajax-posted to the backend, so there is no huge save
button for everything that risks overwriting other fields. Changing
the vote will automatically update the average value based on the
changes (and other changes made by others).
2. No dedicated text-edit box for own comments. Instead, own comments
are listed alongside other comments, and there is an edit button that
brings up a popup and lets the comment be edited.
3. No popup windows for talk descriptions. Instead, accordions are used,
so clicking the title will expand the description in-line. This also
makes it a lot easier to handle things like copy/paste from the
descriptions.
Magnus Hagander [Mon, 9 Jul 2018 14:05:22 +0000 (16:05 +0200)]
Fix link to pending session notifications
Magnus Hagander [Mon, 9 Jul 2018 12:01:56 +0000 (14:01 +0200)]
Make it possible to make waitlist offers until a certain time
Previously it was only possible to say "<n>" hours, which made the
administrator do the calculation to make sure the offer didn't expire in
the middle of the night etc.
With this it's now possible to either extend an offer for a certain
number of hours, or until a certain point in time.
In both cases, the fields default to 48 hours from the current time.
Magnus Hagander [Mon, 9 Jul 2018 11:59:14 +0000 (13:59 +0200)]
Make it possible to cancel a waitlist offer
Previously it was only possible to remove a user from the waitlist when
they did not have an active offer, and one had to wait until the offer
expired to to that. Now we can cancel the offer but leave them on the
waitlist, and then decide if we want to cancel the waitlist completely
as a second step.
Magnus Hagander [Mon, 9 Jul 2018 11:13:25 +0000 (13:13 +0200)]
Apply styling to old-style buttons in backend views
In passing also make sure that all views have the appropriate "back"
buttons at the bottom.
Magnus Hagander [Mon, 9 Jul 2018 11:00:55 +0000 (13:00 +0200)]
Add admin functionality to edit a signup response
This allows the admin to override a response given by an attendee, or to
change it based on information received via other means such as email.
Magnus Hagander [Mon, 9 Jul 2018 08:37:56 +0000 (10:37 +0200)]
Basic documentation for confreg system
This adds basic contextual aware documentation to the confreg system
(sponsorship system not yet included, but will be at some point in the
future). A help link is added to the top right part of the navigation
bar, which links to (potentially context aware) help pages.
Docs live in markdown format in the repo and are rendered as django
views, inside the framework. Graphs that are used are generated using
graphviz, but checked into the repo both as .dot and as .svg to not make
graphviz a dependency for anything other than actually changing the
graphs. The docs view in django basically does the markdown rendering
straight up but also knows how to inline the svg graphs specifically.
Magnus Hagander [Fri, 6 Jul 2018 14:50:28 +0000 (16:50 +0200)]
Render HTML date input fields for invoice dates
Can't do the canceltime yet since it uses both date and time, and there
is no proper browser support for that yet. So that will be a separate
step.
Magnus Hagander [Fri, 6 Jul 2018 14:49:46 +0000 (16:49 +0200)]
Move HTML 5 date input widget to utils
So it can be used in other places than the backend editors. While at it
make it also handle the case where a DateTime is sent to the field even
though it's only supposed to edit the date part.
Magnus Hagander [Thu, 5 Jul 2018 14:51:00 +0000 (16:51 +0200)]
Don't allow textchoices on numeric answers in feedback setup
Magnus Hagander [Thu, 5 Jul 2018 14:19:55 +0000 (16:19 +0200)]
Volunteer ical link should not be on admin page
Magnus Hagander [Tue, 3 Jul 2018 10:29:23 +0000 (11:29 +0100)]
Current posted data must always be included in selectize fields
This fixes the fix in the previous commit
Magnus Hagander [Tue, 3 Jul 2018 10:22:48 +0000 (11:22 +0100)]
Don't try to get current field values before object is created
Magnus Hagander [Mon, 2 Jul 2018 11:31:20 +0000 (13:31 +0200)]
Stop crashing on forms with no selectize fields
Magnus Hagander [Mon, 2 Jul 2018 10:28:15 +0000 (12:28 +0200)]
Make the conference editing form use fieldsets
Magnus Hagander [Mon, 2 Jul 2018 10:28:03 +0000 (12:28 +0200)]
Add support for using fieldsets in backend forms
This will help make the big forms a lot more readable
Magnus Hagander [Fri, 29 Jun 2018 11:30:30 +0000 (13:30 +0200)]
Fix code spelling errors in cannot-happen paths
Magnus Hagander [Fri, 29 Jun 2018 11:30:17 +0000 (13:30 +0200)]
Don't store return values if we're not going to use them
Magnus Hagander [Fri, 29 Jun 2018 11:29:55 +0000 (13:29 +0200)]
Remove unused variable
Magnus Hagander [Fri, 29 Jun 2018 11:29:45 +0000 (13:29 +0200)]
Add missing return
Magnus Hagander [Fri, 29 Jun 2018 11:29:25 +0000 (13:29 +0200)]
Fix incorrect exception names
Magnus Hagander [Fri, 29 Jun 2018 11:28:51 +0000 (13:28 +0200)]
Remove a number of unused imports
Magnus Hagander [Fri, 29 Jun 2018 10:57:49 +0000 (12:57 +0200)]
Fix /admin/ interface for registrations without user accounts
These can show up since we added the ability to register for somebody
else, and if such an account was made a volunteer of a conference, the
/admin/ interface would crash (the backend interface would still work,
which is how the data can get in there in the first place)
Magnus Hagander [Fri, 29 Jun 2018 10:45:26 +0000 (12:45 +0200)]
Make selectize fields in backend load entries dynamically
Poplating three dropdowns with every single user on the system becomes a
bit inefficient (to the point that the form in production started
approaching 1Mb in size and took a lot of time to load).
So instead of doing that, make the selectize fields load their contents
dynamically through an Ajax call. To do this, implement three lookups
for accounts, registrations and speakers.
Magnus Hagander [Thu, 28 Jun 2018 11:56:41 +0000 (13:56 +0200)]
Fix conference editing
Broke the lookups for volunteers when conference became null
Magnus Hagander [Thu, 28 Jun 2018 11:18:19 +0000 (13:18 +0200)]
Set verbose name on a number of fields on Conference
Magnus Hagander [Thu, 28 Jun 2018 11:02:09 +0000 (13:02 +0200)]
Implement editor for conference series
Magnus Hagander [Thu, 28 Jun 2018 11:01:44 +0000 (13:01 +0200)]
Make bypass_conference_filter work properly for lists
Already worked for forms, but there was no way to pass the parameter
down through lists.
Magnus Hagander [Thu, 28 Jun 2018 10:48:14 +0000 (12:48 +0200)]
Add a decorator for superuser_required
And use it to simplify some code
Magnus Hagander [Thu, 28 Jun 2018 10:34:11 +0000 (12:34 +0200)]
Add backend forms for editing superuser parameters on confs
This includes a proper "backend interface" to create a new conference, so no
more messing about in the raw admin interface.
Magnus Hagander [Thu, 28 Jun 2018 10:33:50 +0000 (12:33 +0200)]
Support running a trigger on backend forms when creating new
Magnus Hagander [Wed, 27 Jun 2018 10:54:34 +0000 (12:54 +0200)]
Allow NULL in vatstatus and vatnumber on sponsors
This is required for instances that don't use VAT. Should have no effect
on those that do.
Magnus Hagander [Tue, 26 Jun 2018 19:45:02 +0000 (21:45 +0200)]
Update sponsorship benefits to use json data properly
This means the sponsorship benefits can now deal with python dicts
instead of converting to and from json.
Also make the sponsorship benefits define their validation rules
declaratively and use the new json structure validator.
Magnus Hagander [Tue, 26 Jun 2018 19:44:29 +0000 (21:44 +0200)]
Make sponsorship benefits actually use JSON datatype in postgres
Recent djangos have support for it, and a lot of other things become
easier if we treat json as json instead of just string.
Magnus Hagander [Tue, 26 Jun 2018 19:42:38 +0000 (21:42 +0200)]
Add widgets for pretty-printing json
Magnus Hagander [Tue, 26 Jun 2018 18:20:26 +0000 (20:20 +0200)]
Add validator for json structure
Guillaume Lelarge [Tue, 26 Jun 2018 18:22:41 +0000 (20:22 +0200)]
Add GA 2018 minutes, in PDF format
Magnus Hagander [Tue, 26 Jun 2018 10:44:47 +0000 (12:44 +0200)]
Fix accidentally broken page title on dashboard
Guillaume Lelarge [Mon, 25 Jun 2018 16:38:47 +0000 (18:38 +0200)]
Add GA 2018 minutes
Magnus Hagander [Mon, 25 Jun 2018 14:31:17 +0000 (16:31 +0200)]
Pass in 'conference' to dashboard
We used 'c' to make it shorter to type, but that breaks some access in
shared templates. Instead use a with construct in the template to
achieve the same thing, and pass in the standard variable.
Magnus Hagander [Mon, 25 Jun 2018 08:52:24 +0000 (10:52 +0200)]
Prevent edit links from showing up in backend copy list
This list is only for picking which objects to copy, and not edit them.
Even if the links worked (they don't) that would send the user into a
very confusing workflow.
Magnus Hagander [Thu, 21 Jun 2018 16:04:34 +0000 (18:04 +0200)]
Change term Rejected to Not Accepted for sessions
It's a lot less harsh of a state, and it actually becomes more correct
since there are other ways to get to that state than pure rejection.
Suggested by Dave Cramer
Magnus Hagander [Wed, 20 Jun 2018 12:01:48 +0000 (14:01 +0200)]
Make it possible for an admin to edit sponsorship managers
Also fix the "return to" link when in admin mode, so it actually links
back to the admin site.
Magnus Hagander [Wed, 20 Jun 2018 11:54:53 +0000 (13:54 +0200)]
Clarify text about sponsors buying vouchers and discount codes
Magnus Hagander [Wed, 20 Jun 2018 11:47:22 +0000 (13:47 +0200)]
Don't show "share email" on reg status when not enabled on conf
Magnus Hagander [Wed, 20 Jun 2018 11:41:14 +0000 (13:41 +0200)]
Add json merge data for sponsorship benefits
Magnus Hagander [Wed, 20 Jun 2018 11:40:31 +0000 (13:40 +0200)]
Add support for merging json data based on dropdown in admin forms
This makes it possible to have different default values for a json field
depending on what's picked in a different dropdown. Values are merged
with whatever is in the field already if the dropdown is changed, not
overwritten.
Magnus Hagander [Wed, 20 Jun 2018 11:38:13 +0000 (13:38 +0200)]
Store benefit class default values as structure instead of text
Then we can easily and cheaply convert them to JSON text as necessary
Magnus Hagander [Wed, 20 Jun 2018 11:00:44 +0000 (13:00 +0200)]
Fix handling of default values for sponsorship benefits
Magnus Hagander [Wed, 20 Jun 2018 11:00:30 +0000 (13:00 +0200)]
Fix a number of default parameter specifications on benefits
Magnus Hagander [Sun, 17 Jun 2018 09:57:35 +0000 (11:57 +0200)]
Support auto-cascade of limited deletes in backend forms
In particular, we need to cascade into the auto-generated objects for
manytomany options, otherwise those can never be deleted.
Magnus Hagander [Sat, 16 Jun 2018 22:47:44 +0000 (00:47 +0200)]
Move copying of previous sponsorship levels to backend editor
Cleaner implementation making it possible to copy more than one level at
a time (which is the most likely usecase).
Magnus Hagander [Sat, 16 Jun 2018 20:21:26 +0000 (22:21 +0200)]
Add backend editors for sponsorship levels and contracts
This makes it possible to add and edit levels, contracts and benefits
through the backend interface, and removes the need to use /admin/ for
one of the last remaining pieces.