* 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>
The JSON API endpoints that return comments, most notably `/comments`
returned 500s and created a stack trace with:
TypeError: Object of type method is not JSON serializable
Further debugging revealed this was because json.encoder was being
given a <bound method lazy.<locals>.wrapper of <Comment(id=123)>> to
serialize.
The introduction of the bug was traced to 8ecb4582d0 where it was
discovered that the (seemingly inadvertent) removal of the @property
decorator on classes/comment.py:parent_fullname was the root cause.
In light of the fact that parent_fullname was unrelated to the changes
intended in 8ecb4582d0 and that no other refactoring around
parent_fullname was done, it was restored to being a @property rather
than its callers modified to invoke it as a method.