Commit graph

187 commits

Author SHA1 Message Date
Tobias
2cce659c28 Use miniconf schedule based on sections 2018-12-29 13:36:13 +13:00
Tobias
9c64a33fd2 Refactor timeteabel to speed up dashboard 2018-12-08 19:25:14 +13:00
Tobias
e6da164193 Add additional speakers into schedule upload 2018-10-06 10:54:13 +13:00
Tobias
2db0d95426 Make discount heading even smaller 2018-09-30 18:58:47 +13:00
Tobias
357fe894dd Fix discount view and shirt ordering 2018-09-30 18:41:39 +13:00
James Polley
52c090cdff Don't show T&Cs even on the EXCLUDE_COMPLETE page 2018-09-30 15:07:07 +10:00
James Polley
cd434af000 Don't show T&Cs on the additional products page 2018-09-30 13:56:52 +10:00
James Polley
455f721b98 Don't show T&Cs on the additional products page 2018-09-30 13:53:55 +10:00
Tobias
97d55b8876 Use sensible date format in symposion schedule upload 2018-09-29 17:14:21 +12:00
Tobias S
8cdda4242a Add childcare question into accessibility box 2018-07-12 00:11:55 +00:00
James Polley
567b88f240 Add a migration for changes to speaker form 2018-07-01 13:52:25 +10:00
William Hughes
128148ba20 Fix absolute URLs, 'Sydney' on the speaker create form
Fix !87
2018-06-30 11:41:37 +12:00
Tobias Schulmann
8c28ca0f79 Fixed proposal views in dashboard 2018-06-30 10:56:52 +12:00
James Polley
227df66dba Allow non-managers to submit review feedback 2018-06-27 19:13:00 +10:00
James Polley
f14fdd6f93 Handle exceptions raised if the DB does not yet exist 2018-06-10 19:05:07 +10:00
James Polley
4162ba7c3f
Merge branch 'master' into ticket-testing 2018-04-17 15:54:38 +10:00
Sachi King
e41da66cac Fix bulk action
Bulk action marks printed + schwag, but as print is automated and
happens after checkin is flagged, we should only set checkin and schwag
and print will happen.
2018-01-23 13:30:45 +11:00
Sachi King
5a085535c0 Allow accessing URL to generate boarding pass
Only needed some code fixups to function
2018-01-21 16:14:22 +11:00
Sachi King
568536532c Force upnprint badge
So automation can try again
2018-01-21 15:10:57 +11:00
Sachi King
be00f257a1 Show username to assist finding user in admin list 2018-01-21 15:01:55 +11:00
Sachi King
ab7aaa95c3 Remove old code line 2018-01-21 14:19:42 +11:00
Sachi King
394cb870d3 Fix overview 2018-01-21 14:00:23 +11:00
James Polley
0af7bedae5 Add a management command to print badges 2018-01-21 12:37:28 +11:00
James Polley
3b0d9bf23a Update views.py 2018-01-21 00:48:24 +00:00
Sachi King
e59d8d5cd6 Warn that checkin disables profile edit 2018-01-21 00:48:23 +00:00
Sachi King
5beafb2c6b Disallow profile updating if user is checked in
It gives a flash and pops the user back to dashboard.
2018-01-21 00:48:23 +00:00
James Polley
971cb5d12d Expand admin ui for checkins to be useful for admins
... also (and this really should be another commit, I am a horrible
person) change name of exception text fields
2018-01-21 11:43:41 +11:00
Sachi King
98465934ff Show attendees shirts in overview
So schwag can be given out
2018-01-21 10:56:27 +11:00
Sachi King
7370fc6012 Add last minute fixes to flow
Exception text storage and check in needs to be sepearte to badge.
2018-01-21 10:45:01 +11:00
Sachi King
05a45b77ed Linkify the rego-code in overview view
Should make checkin of lookups easier, links to the page just after
boarding pass scanning
2018-01-21 10:45:01 +11:00
Sachi King
4b5fe34335 Add regex validation [A-Z0-9]{6} for input
Don't block submition, but give the user a red bar.

Also a link to overview.

Esp if it is 5+ sec to load, we don't need it 90%+ the time, don't page
through it in the scan print workflow.
2018-01-21 10:45:01 +11:00
Sachi King
f25f85f86e Convience redirect on .conf/checkin
Send voli's to the overview, and everyone else to what we want from
them.
2018-01-21 10:45:01 +11:00
Sachi King
8ee0dda5ac Base flow for checkin scanning
It's ugly...  But it should do the job.

Ref #40
2018-01-21 10:45:01 +11:00
James Polley
ac8df2da28 Use waffl to be able to flip overlay on/off 2018-01-21 00:53:02 +11:00
James Polley
23c056e046 Add a waffle.flag in order to force overlay usage 2018-01-21 00:12:06 +11:00
Sachi King
763f69cb61 Add overlay badge support
Support so print can print only important text.

SVG modified to use display:inline/none based on overlay True/False and
a symlink to make it easy to change to a completely seperate svg if that
is not optimal.

SVG added layers to split text and graphic so graphics can be easily
hidden and printed.

Closes: #38
2018-01-20 12:36:09 +11:00
James Polley
a7b619a2fd Need to list items per-user
Without this important line, each user gets the same manifest. not helpful.
2018-01-19 20:18:50 +11:00
James Polley
f9066d25d5 Add checkin code to manifest 2018-01-19 15:05:18 +11:00
James Polley
e120f7a691 Decode the image so it can be re-encoded
#sigh
2018-01-19 08:05:54 +11:00
James Polley
5a6759adae Refactor bpass build/send code
* Pull out the bits that prepare and build the bpass
* Make them not require a request object
* so that we can now call this code from another context
2018-01-19 07:03:44 +11:00
Joel Addison
135c5d2da3 Add track to schedule JSON
Include the track of the slow in the schedule JSON so the miniconf can be identified.
2018-01-18 21:40:14 +11:00
James Polley
ae33da0de4 Chunk responses 2018-01-18 20:57:20 +11:00
James Polley
dc6b7f43ef Enhance boarding poass processes
* Add a note about the creation date of boarding pass
* Add a link to ticket review page
* Try to handle some of the expected errors in the boarding pass
  sending process
* don't just 502, try to handle the error and move on.
2018-01-18 18:49:55 +11:00
James Polley
7d18387670 If no boardingpass, make one
- Use the first template in the system
 - If there's no template, use /tickets/review as it at least gives
 - people an overview of what they've paid for and warns them of
   missing categories
2018-01-16 23:11:14 +11:00
James Polley
3ffa5fab60 Don't require login to view qrcode
* The qrcode contains no information that isn't in the URL you used to
  access the code, so information is being leaked
* Allowing unauthenicated access lets people see the image in their
  mail client

Not ideal. Let's revert this later and think of something better next
year - perhaps spending some more time researching best practices on
images in email..
2018-01-15 08:51:38 +11:00
James Polley
6770e83e5d Switch to png as a plain boring attachment
In the body of the email, we can load the image direct from the
site. Prolly gonna fail a lot but at least it's a loud known visible
failure
2018-01-15 08:21:18 +11:00
James Polley
018f7bef7a Flag plain-text part of the email as being plain-text 2018-01-15 07:59:43 +11:00
James Polley
18fc3bd4a7 Fix typo in list_filter 2018-01-15 06:36:05 +11:00
James Polley
0bc99d8fdb Revert to fixed string in email, for easier substitution
Harder to swap it out when it changes every time..
2018-01-15 03:54:40 +11:00
James Polley
8da6d18098 Enhance session admin to show room names 2018-01-15 03:42:01 +11:00
James Polley
30e65e65a6 Use the fixed template, not the version straight out of the db 2018-01-15 02:57:55 +11:00
James Polley
1f025400e1 Add the boardingpass template 2018-01-15 02:33:47 +11:00
James Polley
6f064455ab Remove errant . in urls 2018-01-15 02:22:52 +11:00
James Polley
79085a798a Create /boardingpass 2018-01-15 02:05:29 +11:00
James Polley
39669055ef Update badge rendering to reflect actual render
* Switch to showing the PNG version by default, as this reflects what
  will actually be rendered and sent to the printer
* Include the greyscale filter
* Include the twemoji font we'll use for rendering the badges
2018-01-15 00:30:30 +11:00
James Polley
653cd80891 Quick and dirty voucher use report
Dumps a list of voucher code, invoice id, invoice details in a listreport.
2018-01-13 20:54:38 +11:00
James Polley
8c0d42ee7f Be more proactive about presenting the right QRcode image 2018-01-13 01:34:25 +11:00
James Polley
2206f647db Make purchase details available for boardingpass templates. 2018-01-13 00:26:49 +11:00
James Polley
98e0abf30c Use filter_vertical for sessions in admin 2018-01-10 22:27:55 +11:00
James Polley
f99765ca0b Add admin action to update slot names
* The slot object updates its name every time it is saved
* But sometimes its slotrooms are changed underneath it, and so the
  name can become out of date
* This method is a simple way of updating the names for all the slots
2018-01-10 22:27:55 +11:00
James Polley
23f4a38126 Add filter on room to Slot admin 2018-01-10 15:58:36 +11:00
James Polley
d30852e5f1 Attach qrcode as attachment 2018-01-07 23:15:46 +11:00
James Polley
0831a4aa76 Add support for a "ready for boarding" group
This allows for the boarding functionality to be safely tested with
just a subset of users first. Once you're ready to go live Fur Reals,
just delete the group and all users will become eligible.
2018-01-07 22:27:15 +11:00
James Polley
e726ff21a8 Create regidesk app
Shows summary of all attendees with a paid ticket, including
boarding_pass status.

Currently, regidesk allows staff with the requisite permission the
ability to view the checkin status of attendees, and email the user
their boarding pass email.

Included is a view for the user to retrieve their own QR code (in case
they got the plain-text version of the email, they can use this to
download an image to their phone for faster checkin)
2018-01-06 11:38:06 +11:00
James Polley
44cdd088be git subrepo clone git@gitlab.com:LCA2018/registrasion-desk.git vendor/regidesk
subrepo:
  subdir:   "vendor/regidesk"
  merged:   "a8096d0"
upstream:
  origin:   "git@gitlab.com:LCA2018/registrasion-desk.git"
  branch:   "master"
  commit:   "a8096d0"
git-subrepo:
  version:  "0.3.1"
  origin:   "???"
  commit:   "???"
2018-01-06 11:38:04 +11:00
James Polley
1fd8364456 Modify limits report to include category inclusions as well
* A TimeOrStockLimit limit can apply a limit to a whole category, or
  to specific products
* This report was only counting the products directly listed
* Take advantage of the new all_products property to include the
  products indirectly listed as well as those directly listed
2018-01-02 12:53:14 +11:00
James Polley
6a9652dfd2 Add an all_products property to FlagBase
It's common to need to query the fill list of products covered by a
Flag - whether directly, or by being in an included category.

Add an all_products property which does this.
2018-01-02 12:53:14 +11:00
James Polley
0e1038de97 Add ticket_type property to Attendee
This vastly simplifies templates and many many things which need to
look this up.
2018-01-01 16:22:04 +11:00
James Polley
9dc2ea4439 Voucher form needs to be processed first
Because otherwise, the firstform (which will not be in a valid start)
throws errors which prevent the voucher form from ever being processed.
2017-12-31 17:23:42 +11:00
James Polley
f675580d6b Add support for badge PDFs also
* Add a greyscale filter to text for more accurate preview
* Always default to SVG preview as it's the most accurate (cairo
  doesn't do a great job of handling custom fonts when it converts to
  png/pdf)
* Always use roboto font.
2017-12-26 23:55:09 +11:00
James Polley
fcbacc82e6 Add views to allow for PNG rendering of badge 2017-12-26 23:10:21 +11:00
James Polley
d14048bcb8 Further changes to support badge generation for lca2018
* Undo some of the debugging done early in this series of patches
* Add ability for a user to preview their own badge
* Add a template for the LCA2018 badge
2017-12-26 21:01:40 +11:00
Sachi King
9ab075e51c Badges work by copy-pasting lca2017/pyconau2017 code around
WIP - Push for share
2017-12-26 04:24:20 +00:00
James Polley
25bff81eab Revert "Fix off-by-one error in rowspan calcuations"
This reverts commit 96a24489b6.
2017-12-25 21:44:31 +11:00
James Polley
96a24489b6 Fix off-by-one error in rowspan calcuations 2017-12-24 19:20:14 +11:00
James Polley
b833b7d869 Order slots by room order first
* lca2018 has a situation where we have multiple slots starting at the
  same time, but ending at different times
* The headers of the timetable grid are sorted by room sort order
* In sqlite at least, ordering by start,order seems to implicitly
  resolve duplicate start times by looking at the other sort fields
  first, and will only sort on order if all other fields are identical

* This results in the slot that ends first going in column 1, which
  gets out of sync with the room listed in the header

* I can't figure out how to solve this in the database, so...

* Force the slots to be sorted by room order.
* Then, for each start_time, select out slots starting at that time
  and operate on them
* This both gets the slots in the right order *and* keeps multi-room
  slots with the right colspan. Yay!

* It's possible that this wouldn't be needed on some DBs which might
do the sorting differently.
2017-12-24 19:20:04 +11:00
James Polley
193ffc76d5 List rooms in slot admin
In many parts of the schedule there are multiple slots with the same
start/end times, and it can be hard to find the one you want to edit.

Make this slightly simpler by listing the room names in the admin list.
2017-12-24 13:54:57 +11:00
Sachi King
5511a3d00a str values before bleach
Can't operate on objects, stringing seems fine here, there's a lot else
already randomly str() before bleach.
2017-12-23 04:16:36 +00:00
James Polley
2e07fbeac5 Remove unicode warning
We now support more unicodes so remove the warning
2017-12-23 12:56:33 +11:00
James Polley
3ac31dd55b Include templates in sdist
Adds a MANIFEST.in to ensure that templates are included in the built
package and thus available in systems that install this package.
2017-12-23 12:29:37 +11:00
James Polley
fcfdb10ede Display Condition type in list views
* Whether a Flag is disable-if-false or enable-if-true is a very
  important detail
* But one that's easy to get wrong
* And it's hard to spot problems without inspecting every single flag

This change adds the Condition into the various admin list views, so
that it's easier to scan them all for problems and look for inconsistencies.
2017-12-22 18:43:02 +11:00
James Polley
a880bc27fb Enhance track admin 2017-12-03 18:11:39 +11:00
James Polley
3239bbe29a Don't duplicate existing rooms when importing schedule CSV
* Old implementation needs to see exactly the same rooms in exactly
  the same order every time it loads new data, otherwise it will
  create a duplicate entry for the room that differs only in display
  order.
* New implementation ignores the display order when checking to see
  if the room already exists.
2017-12-03 16:15:19 +11:00
James Polley
6bf3d71bff Require login for proposal submit
- This has the effect of bouncing people to the login page if they're
  unauthenticated, rather than returning a 502 because 'home' doesn't
  exist.

- If they're authenticated but don't have a speaker profile, send them
  to the speaker profile create page rather than just to the
  dashboard.

Closes #26
2017-10-16 15:07:36 +11:00
James Polley
1eb28f2c80 Enhance Schedule list display 2017-10-15 15:58:43 +10:00
James Polley
fab25ad0f5 Room needs dunder-str as well as dunder-unicode 2017-10-15 15:33:56 +10:00
James Polley
e48c8c171a Display (editably) the exclusvity of the slot in the admin
(Also add filtering so that we can easily find eg all plenaries which
are not yet flagged as exclusive)
2017-10-15 15:14:55 +10:00
James Polley
6b17e021ca Add a __unicode__ method to the Room model
Closes #25
2017-10-15 15:07:56 +10:00
James Polley
b154d90eed Wrap input CSV in an TextIOWrapper
Closes #24
2017-10-15 14:59:57 +10:00
James Polley
cd4c640c1b Allow filter of team memberships by state 2017-10-14 14:31:57 +11:00
James Polley
9bf90b411e Enhance admin interface for result notifications 2017-10-13 13:02:44 +11:00
James Polley
f0933d897d Add notes to profile form about being able to edit form
Also about the known issue with some emoji
2017-10-08 15:10:34 +11:00
James Polley
45512e815a Add datatables tools to ticket reports 2017-10-04 20:43:00 +11:00
James Polley
0103f9a91f Remove erroneous debug logging statements 2017-10-01 23:11:00 +11:00
James Polley
362ed28be2 Alter guided_registrasion logic to handle new page
This is required for the new method of accepting terms and conditions
2017-10-01 22:56:19 +11:00
James Polley
287d412ccf Catch TypeErrors from bleach 2017-09-30 22:50:13 +10:00
James Polley
e51ad76384 Add a "Back" button to the guided_registration stages
"Next" is green, indicating that it's the default path, the way
forward. "Back" is available but blue.

For extra consistency, the initial "Get ticket" button is now also a btn-success
2017-09-30 18:45:57 +10:00
James Polley
4605ee0d98 Require attendees to agree to Code of Conduct 2017-09-30 18:45:50 +10:00
James Polley
35b75b6f96 Badger should fail gracefully if auth_groups hasn't been populated
Let's say you've just installed symposion for the first time, and
you're running the intial `./manage.py migrate`

In that circumstance, there isn't an auth_group table. Naturally this
means you get Some Errors when trying to look for a particular group.

This change handles that error and drives on.
2017-09-30 11:01:39 +10:00
James Polley
4e183317d0 Add requirement for lxml 2017-09-30 11:01:23 +10:00