Update styling to use Bootstrap 4. Make current user status clear.
Show member name as well as email address.
Make permissions impler to set on team admin form.
Disable lots of inventory that does not exist for a virtual conf.
Add Swag Badge category and product.
Adjust attendee profile to hide irrelevant questions.
Upgrade site and modules to Django 2.2. Remove and replace obsolete
functionality with current equivalents. Update requirements to latest
versions where possible. Remove unused dependencies.
Add flag to enable/disable raffle display on dashboard.
Add link from raffle winner to attendee profile.
Add URL for single raffle and base raffle path.
Improve functionality on badge preview. Add styles to make status of workflow clear.
Improve buttons to allow badge reprinting and preview.
Reinstate exception logging and bulk process mode.
Update DataTables styling and components to match other parts of website.
Change licence to CC-BY-SA so YouTube gets appropriate licencing for talks.
This does not correspond to the YouTube Creative Common licence, which is
CC-BY-3.0, which is more permissive than we allow.
Display attendee profile data in normal table without DataTables so
sorting is not applied, causing data to be confusing to read.
Include item quantity in attendee data report for accurate schwag packing.
Show applied vouchers on attendee registration admin page.
Add head title and page title to more areas.
Update the dashboard to show warning for empty categories and have
button to open voucher page.
Fix exception on attendee page when user does not have attendee object.
Use the unpublish flag on presentations to hide them from the schedule
grid/mobile view as well as the schedule lists.
Show unpublished indicator for staff.
Use main base template instead of intermediate base.
Remove references to Bootstrap 3 and update to Bootstrap 4.
Add edit button to standard grid/mobile view instead of duplicating.
Allow the recipient on an invoice to be updated without creating a new invoice.
This allows fixing of mistakes easily, especially for when it is given to someone
else to pay and a new invoice would be confusing.