* Makes the assumption that we only have one set of keys, and only one
IDP
* If any of the SAML2 variables use relatives paths, these will be
replaced with absolute paths under the current requests's hostname,
port, and scheme
- This helps to ensure that only one is ever set
- But also, because of the way the values are passed in, it's always
going to be evaluated as a string, which is always True. So we can't
just pass in a bool directly
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
- The schedule grid page is ridculously database-query heavy and hence
terribly lacking in perfmantitude.
- Caching can help with this, but the caching implemention at present
is not user-aware. If one user looks at the page, they'll get a
"YOU" in all the places they're chair and something else everywhere
else - and then everyone will see that for the next 600 seconds,
then YOU will become someone else
- to avoid this, remove the request.user-specific bit of the template
- 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
* 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
In the narrow view, lots of details that aren't in the normal view
appear to compensate for not having clear row/column headers any more.
However, all the detail can look very same-same; this tweak makes rooms and end times more distinct.
Session chair info is made always italic, and a label is added to make
it clear that this person is not the speaker.
* Adds session_detail page
* Adds session chairing information to the schedule grid
* Adds session_list.html
* Nicer volunteer text
Conflicts:
pinaxcon/templates/symposion/schedule/_grid.html
Conflict and migration performed by Sachi King <nakato@nakato.io>
Emoji changed, lca2017_tags to lca2018_tags, remove needless dependency
on django-user-account, use request instead like the remainder of the
calls n the template do anyways.
Remove blocktrans from a number of texts as they break {{ templating }}
and we don't translate anyways.
Modified-by: Sachi King <nakato@nakato.io>
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.
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)
- there's no btn-default, switch that to btn-primary
- consistently use info for standby, primary for undecided, success
for accept and warn for rejected
I've looked through the database and I can't find any accepted
proposals that actually contain anything to linkify - but I've had
several requests from people that I think are reasonable, things like
being able to link to their project (we ask them to provide a project
url but we don't use that link)
This seems like a reasonably fast way to let those people add a
link. We still have to manually accept changes to their proposal so we
have a chance to look at the content of the url if we want.
The urlize filter adds rel=nofollow to the link automatically.
* Company names had a misspelled filter and weren't being displayed
* Add some conditional logic so that company names don't get shown for
hobbyists or students
* 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.
* 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
I can't find the form that should be displayed here, so the simplest
thing I can do at 11pm is to make this a link. That's unsatisfying but
hopefully works.
* HTML5 browsers have some clevers to do client-side validation of
forms
* Django activates this by default for certain field types
* However, in this case, there are three forms on this page. We rely
on two of them being invalid in order to figure out what processing
to do.
* So we need to disable the client-side validation.
Old code was initialising the dataTable twice - once in the parent
block and once in the child. This doesn't actually work and just
caused errors.
Switch to only initializing it once. Unfortunately this creates
copy-pasta :(
* Audience is visible on review details, but not the list. Perhaps
useful for cases where reviwer wishes to only review for a
particular audience. This change adds audience to the list view.
* Format is not visible anywhere. This changes adds it to list and
detail views for the reviewers.
This change also adds some buttons to control visibility of the new
columns.
* The base model requires a value here
* But we aren't using one; so there's none on the form
* This change supplies a custom enumeration that's specific for this
particular model, which has one value, which is a default value,
which simply says that the field is N/A
* This does mean that when viewing or reviewing the proposal one sees
the Target Audience field, but it will say N/A.
* Testing has shown that this does not affect the other types which
descend from the base Proposal class; they still use the default
enumeration.
* "return to dashboard" throws away changes, so change the label to
"cancel" to make this more clear.
* "Save profile" is probably the button you're looking for, so flag it
as btn-success to make this clear.
A big complaint from 2017 was that people overlooked things like
shirts and dinner tickets as those are complimentary, so they assumed
they didn't need to choose them.
This change adds some labels and some explanatory text to try to make
this more clear.
"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
Shouldnt be neccessary, template loader should be finding the template provided by the installed app.
but it's not, and I want rego to go live today, so here we go.
One day when things are nice this commit can be reverted and I will be crying a little less on the inside.
I think this removes most references to "hobart", "pycon", and "2017"
There are still some references to some images that we don't have a
replacement for.
Only want to show this once - not once per invoice.
It's not something most people will need to use so it doesn't need to
be a button. Restyle it to be a link
An errant ``{% if pending %}`` meant that we were only showing paid
and cancelled invoices - and the ability to buy new products - if
there was currently a pending invoice.
This change remove the errant check and allows for anyone with a paid
invoice to inspect it; or to add products.
NB: all the proposal sections for the miniconfs here are set to open
on 2017-11-01. To make them available sooner, visit
/admin/symposion_proposals/proposalsection and change the start date.
* Remove the outdated compiled javascript once again
* Update the sitetree_header template to use more detail.
The extra detail here is taken from the menu_bootstrap3.html template
distributed with django-sitetree
Flagging this as a review table means we get sorting, pagination, and
search. Much awesome, esp when we want to do this like "show me all
the ones that haven't been notified yet"
* This reference was added in the very distant past
* But jquery.history.js itself has never been in the repo
* pyconau-2017 team resolved the dilemma but dropping
jquery.history.js into the repo
* But as near as I can tell, this does nothing except in obsolete
older browsers. The fact that it's been broken ever since it was
"added" is highly suggestive of it never having ever been used or
needed
* So, trim the fat. It's possible that this might break an older
browser that needs the functionality jquery.history.js provides -
except that such a browser would *already* be broken because
jquery.history.js has never actually been around to be used.
* If we ever do need this functionality, we can revert this
change.. and then we'd have to drop in jquery.history.js. In that
circumstance,
https://github.com/pyconau2017/symposion/commit/34bc7c0 may be of interest.
* Adds an env variable to .env to turn on dev mode
* Uses the inbuilt django auth rather than saml when in dev mode
* For laziness, re-uses the admin login form for the non-admin login
make_dev_container now comes up ready to be logged into by any
user. No non-admin users are preconfigured; but you can add one at
http://localhost:28000/admin/auth/user/add/, log out, and then hit
http://localhost:28000/ to log in as the new user.
Editing a miniconf, on save, the code looks in settings for
ADMIN_USERNAMES, and as it does not exist, we stack-trace and 502 to the
user.
Add the attribute to settings.py
So django keeps strict synchronization between its code and migrations
so that it can help generating new migrations. These are the additional
suggested migrations. A lot of these are a null effect, some are things
like transforming an unsigned integer to a signed integer. So not super
urgent on a small scale, but worth doing to keep django happy.
We need to have people who are submitting a miniconf proposal agree to
releasing the material. The easiest way to do this is to just make it a
proposal like the other two types. We don't have audience type for
miniconf, instead of deleting it just have a default - it's easier.
WARNING: This requires a real migration to be performed before use.
Update the recording and materials release to say Linux Australia, not
Pycon Australia. This generates a migration because the model text has
change - but also because in the 0001_initial migration it appears that
this help text is stored as a byte string.
This is a bit weird, but realistically running this migration is not
going to cause us any problems so just add it so we don't end up
fighting django along the way.
DEBUG is something that should never be turned in on prod. As such,
lets be extremely specific on what we expect to process.
As we'll be taking this in from the environment, it's ensured we will
get a string. So we'll always get and only handle this in string
form. If it's anything else, it's an operational error and we bail.
(Note: bool('0') is truthy, so we make sure we leverge our string -> int
-> bool every time, so corectness can be noticed if it is not)
Remove in-app stale resources and their branching of different cons.
Remove dist and move everyting into static/src.
Remove unused stale resouces such as less and hbs, etc.
I cannot find the benifit to this over the base editor.
Tabs work, but that's pretty minimal. And tabs don't work on GitLab or
GitHub, so I don't feel not having that is substantual to functionality.
The bootstrap renderer did not do anything to signify required rows. We
can do this by adding a class for CSS to work on, and add this field in
a more simplified manner.
label-required == append ' *'
I'm not against putting this back, however, it doesn't work quite as one
would expect, so I'm removing it as its functionality is more confusing
that working.
Is this really the best way to address this?
If you unselect AU, then it never comes back. It leaves its value in
the textbox pre-filled if it ever got a value, leaving the field
pre-filled with an Aus state even if the person is New Zealand.
Most of our attendees are from but a few countries, we should make these
equal effort to fill in.
Boot custom CSS, and put some base, standard css in its place.
Shame I did not start with fresh Bootstrap4, but oh well.
Some more templates could be made to make this less messy, which would
be good.
We don't have these mini-confs (yet).
We don't want these files.
We're not going to rename the release in 0010 and drop all the extra
tables in 0011, we're going to toss them on the cutting room floor and
call it good.
They're in git, we can look at this commit and past ones on how to
recreate these for new proposal additions going forward.
This causes template rendering to blow out of proportion on certain
views. I don't care enough about this feature to spend time fixing it.
It has not provided me any value to this point.
One such view is ^/tickets/profile$ however there are others where I saw
this, yet do not remember which ones they were.
This removes images, and giant headers, and makes the text - not white.
The next layer down in CSS is blue, so that's it for now.
This helps understand what's on the page visually, so this, at the
least, make testing easier for now.
This should eradicate wagtail from the project.
While wagtail may be nice, our goals are to keep all things public, and
having things locked behidn a DB is congruent to that plan.
All in all, the django project only leveraged a single wagtail feature,
"richtext" which has been hacikly removed and will result in bad display
of however it comes up. But this is on homepage.html, which will be
removed and covered up with a static website, which means we should be
able remove homepage entirely from this project.
This reduction hopefully makes the monolith easier to understand,
maintain, and wield.
While 1.7.0 exhibits a similar issue, we would need to re-verify and
re-patch this library with a new 1.7.0 monkeypatch.
This is ultimately only an annoyance. It only occours when we've
already 500'd, and this just means we get a second 500. As such it's
not critical.
Boxes takes content directly from the DB and drops it into the django
templates. This is rather ugly and goes against keeping as much as we
can in static locations. As such, this is being dropped.
Works in prod mode, dies in dev with a warning/error
Doco seems to suggest that mixing these directories together is an
error as it means user uploads mingle with site files.
- remove a whole bunch of comments, they're useless
- Update TimeZone to Sydney
- Don't colocate MEDIA (user uploads), with STATIC in fact,
how is this set, Django has a safety check for this and bails.
- Do not store a default SECRET_KEY in git.
We'll set a random one by default, so things "just work"
It would also be acceptable to not set it and let DJ bail
- We dont want to log to a file. Our disks are ephemeral.
- We likely will not overlay a production settings.py over this one.
We need to implement something that is more container friendly in the
future. This will be env-vars or a config file.