Commit Graph

414 Commits

Author SHA1 Message Date
8754823556 Linter pass 2021-10-01 17:19:05 -07:00
d172848231 Respect lexicon post enable setting 2021-10-01 17:02:54 -07:00
f88ee3a526 Fix some pages not being selected properly in the sidebar 2021-10-01 16:52:59 -07:00
ab2f0edcb1 Fix errors caused by anonymous user model 2021-10-01 16:45:02 -07:00
19e7af7e58 Show unread count in post sidebar link 2021-10-01 16:40:27 -07:00
3cc487f94b Distinguish new posts from already-seen posts 2021-09-24 18:11:54 -07:00
b749357657 Add post feed page 2021-09-22 08:01:11 -07:00
1ca46d47f5 Add post create cli 2021-09-20 21:25:10 -07:00
a6399e7e22 Refactor template content blocks for greater flexibility
There is not much value to be gotten out of creating Jinja blocks and
appending them to a list when nothing particularly interesting is done
with the list. With changes to move more towards semantic HTML, as well
as more ease of access to data in the template engine in the new code,
it is preferable to leave block division to the page template by making
it a property of the <section> tag. This also allows creating blocks in
Jinja iterators, which is not possible to do cleanly in the idiom being
replaced here.
2021-09-20 20:11:40 -07:00
ffaf881707 Replace divs with semantic elements 2021-09-20 18:43:55 -07:00
0d022af335 Implement index assignments
The index assignment UI uses the same table-form pattern as the index
UI. There is currently no control over deleting indices when an index
assignment exists on that index.
2021-09-20 14:50:37 -07:00
a91be8bc87 Add name helper to index model to aid identification 2021-09-20 14:19:45 -07:00
b94a2224c0 Add sqlite to nix shell 2021-09-15 00:25:59 -07:00
6f73c58d23 s/indexes/indices 2021-09-15 00:25:59 -07:00
abbe6e6b2e Track Ersatz status with flag instead of null character
Previously, articles written by Ersatz Scrivener were represented in
the data model by having a NULL character id. This had several awkward
consequences, such as therebeing no real way to distinguish Ersatz
articles from different players without doubling up on foreign keys
whenever there was a character reference, because there would need to
be a user reference as well.

Using a flag on the article itself is a much cleaner solution. There is
no longer a need to have both character and user FKs. Ersatz-ness is
still a special case, but one easily tracked on articles without
changing how basic objects of the game relate to each other. Ersatz
articles can be treated differently in the stats just as easily while
still being subject to character-specific rules like index assignments.
2021-09-15 00:22:38 -07:00
4d1c579e3c Remove obsolete settings
These settings have now been reintegrated into the new code, so we can
remove them from the old code to make it easier to audit what has and
hasn't been converted yet
2021-09-09 19:40:48 -07:00
e353ac9b93 Add index settings page
Unlike the player and setup settings, the form here has a variable
number of inputs, so we use a blank row to allow expanding the index
set and allow deleting by clearing out the index type
2021-09-09 19:40:48 -07:00
03c0b4ce70 Add index cli and create command 2021-09-09 19:39:53 -07:00
bff25fb97f Implement player-specific and game setup settings 2021-09-09 19:34:24 -07:00
bc6f29713e Add settings page skeleton 2021-09-09 19:34:24 -07:00
00bb2aedec Refactor some css colors
These will be reused in the settings tabs and perhaps elsewhere
2021-09-09 19:34:24 -07:00
d05bc3e689 Add local proxies for the current lexicon and membership
This somewhat duplicates loading the objects into flask.g, but doesn't require
the lexicon route decorators. Additionally, lazy-loading these objects can save
the occasional db call, and for the current membership this is more convenient
than having to add a second decorator or staple it to the lexicon loading.
2021-09-09 19:34:24 -07:00
ccb285cbf0 Rename route parameter to lexicon_name
This disambiguates and future-proofs the route parameters so they can be more
easily referenced in before_request contexts shared by all routes.
2021-09-09 19:34:24 -07:00
3a9b016320 Add uuid werkzeug route converter for character routes 2021-09-02 18:43:04 -07:00
a9c97430de Linting pass 2021-08-29 07:35:04 -07:00
45ee56d09b Add character creation and signatures 2021-08-27 12:03:16 -07:00
eec039c09a Add character limit cli 2021-08-27 08:19:29 -07:00
9f939fe57c Fix missing None check 2021-08-27 07:50:48 -07:00
af5b1c4cfa Add character editing page 2021-08-27 07:49:47 -07:00
3b95d650c1 Replace home sidebar item with link next to login status 2021-08-27 05:55:42 -07:00
c6f3ae4779 Add top-level character page 2021-08-27 05:15:13 -07:00
e480658ebe Add character create command 2021-08-19 18:17:06 -07:00
c26a0a058b Print help instead of only usage 2021-08-19 18:10:00 -07:00
34f750a7c7 Show session page to admins 2021-08-13 20:12:23 -07:00
4401024bf5 Reintegrate lexicon routes and joining 2021-08-13 20:12:13 -07:00
587a70faf5 Update lexicon route decorators 2021-08-13 20:09:08 -07:00
7645c85c9d Make backend argument type errors more specific 2021-08-13 17:23:03 -07:00
d6f558a92b Add backend to jinja context 2021-08-12 23:08:56 -07:00
74fe79dbf9 Make importing backends easier 2021-08-12 23:08:56 -07:00
06d662982c Rename lookup functions 2021-08-12 23:04:56 -07:00
9025be28bf Add update timestamp defaults to lexicon and article 2021-08-02 21:59:45 -07:00
10a0c59d5e Cleanup and removal of obsolete code 2021-06-26 13:48:18 -07:00
6c8f341a4e Add home page test 2021-06-26 10:13:46 -07:00
4284de1cd0 Misc touchups 2021-06-23 22:08:33 -07:00
0e5547b883 Update flask_wtf version 2021-06-23 22:06:46 -07:00
4603e9da28 Add bs4 and auth workflow tests 2021-06-23 22:02:55 -07:00
a6e2c8e6db Fix Python 3.8 incompatibility 2021-06-23 20:24:16 -07:00
9f6f5e92f5 Add unit tests for new backend functions 2021-06-17 02:06:48 -07:00
ba346c29bc Move backend tests 2021-06-16 20:17:35 -07:00
b789bad6c0 Switch tests to run on a tempfile db 2021-06-16 20:17:24 -07:00