Commit Graph

45 Commits

Author SHA1 Message Date
Tim Van Baak 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
Tim Van Baak 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
Tim Van Baak 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
Tim Van Baak 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
Tim Van Baak a9c97430de Linting pass 2021-08-29 07:35:04 -07:00
Tim Van Baak 4401024bf5 Reintegrate lexicon routes and joining 2021-08-13 20:12:13 -07:00
Tim Van Baak 7645c85c9d Make backend argument type errors more specific 2021-08-13 17:23:03 -07:00
Tim Van Baak 74fe79dbf9 Make importing backends easier 2021-08-12 23:08:56 -07:00
Tim Van Baak 06d662982c Rename lookup functions 2021-08-12 23:04:56 -07:00
Tim Van Baak 9025be28bf Add update timestamp defaults to lexicon and article 2021-08-02 21:59:45 -07:00
Tim Van Baak 6c8f341a4e Add home page test 2021-06-26 10:13:46 -07:00
Tim Van Baak 4603e9da28 Add bs4 and auth workflow tests 2021-06-23 22:02:55 -07:00
Tim Van Baak 9f6f5e92f5 Add unit tests for new backend functions 2021-06-17 02:06:48 -07:00
Tim Van Baak ba346c29bc Move backend tests 2021-06-16 20:17:35 -07:00
Tim Van Baak b789bad6c0 Switch tests to run on a tempfile db 2021-06-16 20:17:24 -07:00
Tim Van Baak c4f133434d Refactor path-to-uri calculation into DbContext 2021-06-15 22:58:54 -07:00
Tim Van Baak dd144bf207 Add basic server unit tests 2021-06-13 20:20:00 -07:00
Tim Van Baak 00738b5a45 Add renderable visitor unit test 2021-06-11 23:55:52 -07:00
Tim Van Baak fde12ac818 Add paragraph and article parser tests 2021-06-11 23:55:52 -07:00
Tim Van Baak 2c294f7f12 Add citation parsing unit tests 2021-06-11 23:55:52 -07:00
Tim Van Baak 6f380bd495 Fix parsing pair marks with line breaks inside 2021-06-11 23:55:52 -07:00
Tim Van Baak 7a847e96d3 Add unit tests for line breaks and simple pairs 2021-06-11 23:55:52 -07:00
Nikolai 06ec2e168e membership unit test checks joinability and player limit; post.create() checks allow_post 2021-06-10 15:30:34 -07:00
Nikolai 5497ef4b0b membership.create() checks for joinable and player limit; factory creates joinable lexicons by default 2021-06-09 22:00:12 -07:00
Tim Van Baak 973d60008d Add index backend 2021-06-08 03:36:20 +00:00
Tim Van Baak 705df21c17 mypy typecheck pass 2021-06-02 21:37:12 -07:00
Tim Van Baak 2982f6ea0f black string quote normalization 2021-06-02 20:12:09 -07:00
Tim Van Baak de09030b1c black style pass 2021-06-02 20:11:56 -07:00
Tim Van Baak 29a73c3c47 Add article backend 2021-06-01 18:47:03 -07:00
Tim Van Baak dc23f6343a Add unit test object factory 2021-06-01 18:46:19 -07:00
Tim Van Baak 98898b98fc Reduce test output 2021-05-31 17:14:37 -07:00
Tim Van Baak caa2e1e8a4 Add character backend 2021-05-31 17:14:25 -07:00
Tim Van Baak 5e051e7e89 Add check for duplicate memberships 2021-05-31 12:13:37 -07:00
Tim Van Baak 5f879cd062 Refactor fixtures and clean up tests 2021-05-31 10:52:37 -07:00
Nikolai 0303544dfb Added post creation method and unit tests 2021-05-29 19:17:15 -07:00
Tim Van Baak 76f4bcc181 Add membership backend 2021-05-29 17:38:14 -07:00
Tim Van Baak 92849d8396 Shorten superfluous names 2021-05-29 16:53:27 -07:00
Tim Van Baak 6a9d405aea Split out model tests 2021-05-27 18:56:29 -07:00
Tim Van Baak fc58a91490 Add create_lexicon method 2021-05-27 18:23:48 -07:00
Tim Van Baak 4c3dcfe0e5 Improve user creation logic 2021-05-06 11:14:33 -07:00
Tim Van Baak 8a3893f33d Add duplicate username check 2021-05-06 00:09:00 -07:00
Tim Van Baak 6eadb5162a Add user creation backend logic 2021-05-06 00:04:15 -07:00
Tim Van Baak 3ba138c81c Move database and models to common submodule 2021-05-05 22:21:50 -07:00
Tim Van Baak 8a4d666248 Add basic database test 2021-05-04 23:05:14 -07:00
Tim Van Baak 48f5ce2e0f Set up poetry project and nix packaging 2021-04-30 00:12:46 -07:00