moved documents_path setting to config_local.yml files to allow site-specific configuration; Moongate documents_path now defined in config_local.yml (same way DPW docs_path is defined); new test file for household based on moongate.t, most dpw.t tests now skipped as they are not htmx-aware
added test error to save_document() methods; create_document() flash message adjusted for update or input; refactored infolib.t to inspect redirected content [see HTTP-Cookies.txt chatgpt summary]; bugfix to dpw/record.tt
converted dpw section to SPA using htmx; renamed moongate new-document route to match other route prefixes; removed unused route names; removed unused all_documents() subs from all route files; new test file for htmx requests
extended Dancer2::Plugin::Auth::Tiny to register 'admin' keyword; added access_denied page; amended default capture route to exclude access_denied route; organised routes into lists calling sub-routines in main Routes file to align with the other Routes::* packages
implemented Local::Utils dump_query function, and a package (App::DB::Result) to overload DBIx::Simple::Result, but its functions are not available to App::DBIx, possibly due to Feature::Compat::Class limitations
changed how DPW model handles file upload functions for checking and setting upload directory: * moved duplicate code for checking existance of uploaded file into discrete function * initialised '_upload_dir' value as a param during file check function to avoid requierement for duplication in route and model; put rudimentary date check on sqlite3 db (still permits invalid dates); new test files