Proximate cause of 500 error on frontpage is that `Query` has no
such method `remove(...)`. Merely removing the line can't guarantee
identical logic, but I'm not quite clear if explicit removal from the
Query pseudo-collection is necessary, or if the final `pins` variable
after `Query.all()` will be appropriately filtered. It appears to
work right in practice, and the risk of expired pins persisting for
one extra pageload for only one user seems relatively minor.
* poll rework
* forgot to do joinedload on comments
* Fix logic errors with voting, SQL syntax.
Kitchen sink commit from review of poll-rework changes:
1. Fix seed-db.sql syntax error.
2. Fix SQL patch file duplication of *submissions* tables rather
than one set of submissions and one for comments.
3. Start makeshift SQL patch folder, since this is a large change
that contributors may wish to apply to their local instances.
4. Fix checkbox (non-`exclusive`) polls being unable to be
unchecked. For consistency with `exclusive` polls, they should.
5. Fix changing the option of an `exclusive` poll when both
exclusive and non-exclusive options are present in one comment/
post causing the non-exclusive options to become unchecked.
(which, by my reading of SQLAlchemy `Query.one_or_none()`
really could break quite badly in some cases).
* link relationships with their counterparts
* small modification to poll unchecking
Co-authored-by: TLSM <duolsm@outlook.com>
Previously, the on_post_hole_entered notifs to hole followers would
contain the username of the admin who moved the post (due to
referencing the `v` parameter of whomever performed the action which
placed the post in the hole). This has been corrected to use the post
author instead. Further, on_post_hole_entered only depends on a post
for behavior, though the optional `v` user is used if present.