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"
Switch Dockerfile from CMD to ENTRYPOINT so that flags can be passed
to the makemigrations command
This is required in cases where we need to use django's makemigrations
--merge to merge two migrations.
* 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.
Expand on support for devs by scripting the process of creating,
starting, and initialising a dev container.
Take container name as an optional parameter
* Adds a laptop-mode-env file which docker can read env variables from
* Adds a Dockerfile.makemigrations; mostly identical to the main
Dockerfile. Important difference: instead of the source being copied
into the docker image at build time, it's mounted from the local
machine at run time.
* Adds a makemigrations shell script which builds an imagine using the
Dockefile.makemigrations and then uses it to run makemigrations
* Because the source is mounted from the local machine, any new
migrations created are dumped in the developer's git checkout ready
for adding to git.
Rename .env -> docker/laptop-mode-env
This follows from investigations in
https://rt.lca2018.org/Ticket/Display.html?id=283&results=eac0bd3c49f782d054f87d6b160ca36b;
in short, it seems that because this very long and complex method
creates several different objects at differnt times, the DB has been
getting out of sync; there are more votes recorded then there are
reviews, becuase the table that stores the vote count is updated
before the table that stores the vote and review information
This change is intended to make this operation (and the other
operations that the revew_detail handler performs) atomic, to prevent
things getting further out of step. It does *not* fix the existing
incosistency.
review_delete has been atomicified as well as it likely needs the same
treatment, but this has not been examined in detail.
Resolves:
File "/app/symposion_app/vendor/symposion/reviews/views.py", line 230, in review_random_proposal
proposals = proposals[:(len(proposals) + 1) / 2]
TypeError: slice indices must be integers or None or have an __index__ method