RSS Git Download  Clone
Hover over the log to see the full commit message.
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • *
  • 9ff61ef (HEAD -> main) 19/10/2025 09:01:00 by raj   simplified dpw summary.tt, using single info box to display results
  • 4a0b8fa 18/10/2025 19:27:56 by raj   template can't find is_between(), needs to call Utils.is_between(); displays selected category in number-of-records-found info bar
  • 7228ddf 18/10/2025 12:34:57 by raj   moved tt 'between' method into new App::TT::Utils package; amended dpw summary filter requirement
  • 19a6edc 18/10/2025 09:38:43 by raj   dpw summary now shows filter regardless of number of records; moved threshold for requiring filter to config; additional space in dump_query() formatting
  • 1d736a3 17/10/2025 21:38:54 by raj   commented cpanfile feature 'accelerate' for carmel install (doesn't directly support features); tidied up login.tt
  • 4aa630d 17/10/2025 10:11:44 by raj   retired layout/main.tt, login.tt is now a complete stand-alone html page
  • 5adff8f 16/10/2025 11:36:25 by raj   corrected typos
  • 64d71f9 16/10/2025 10:00:57 by raj   switched App/DB.pm classes to blocks for clarity; added cache to prevent unnecessary db lookup on every request; tidied up & improved documentation
  • c99ae40 16/10/2025 08:42:14 by raj   renamed DBIx -> App::DBIx; removed unnecesary select() as parent select method always calls query() which does the required re-bless function im our over-ridden query() method; provided additional methods row() and value(), as documented [unused in this app]
  • 09cddb2 15/10/2025 11:04:30 by raj   used alternative re-bless method inside DBIx query() and select() methods to provide new DBIx::Simple::Result::column() method, avoids using Module::Runtime
  • ae53672 15/10/2025 09:52:28 by raj   used Module::Runtime to get App::DB::Result::column() working, but only with conventional 'package' syntax, does not work via Feature::Compat::Class and maybe Perl 5.34 due to inability to find DBIx::Simple::Result despite multiple BEGIN blocks; login.tt still needs 'main' layout
  • 9bb103f 14/10/2025 16:01:12 by raj   removed unnecessary 'GET' from edit_document subs forward() method as 'edit' is now already hx-get
  • ec59111 14/10/2025 08:47:30 by raj   discontinued layout, all content delivered by home.tt; adjusted test files to get record count from new 'home' request since htmx requests bypass index (home) page containing footer
  • d08ba14 13/10/2025 12:36:05 by raj   moved common download() method code from prefix routes to main route file, prefix routes now just supply route params
  • 82db82a 13/10/2025 08:40:36 by raj   removed unnecessary 'else' block in create_document routes
  • 1efbb1f 13/10/2025 08:27:09 by raj   new tests for Update document without file, Create document without file, Add file to new document
  • 60c9c30 13/10/2025 07:49:18 by raj   adjusted model create_document() method to handle file deletion where no new file is submitted
  • 56e59f0 13/10/2025 07:47:13 by raj   new boostrap-style buttons; changed 'New Entry' button colour
  • 600b850 12/10/2025 17:33:10 by raj   added error codes to send_error; bugfix
  • b5e8f14 12/10/2025 16:29:46 by raj   extended edit-record function to delete existing file if new file uploaded during update submission, and new tests for file deletion
  • bf7dd76 12/10/2025 07:59:44 by raj   replaced physical file with temp file in subtest 'Create document' in moongate & household tests, as already used in 'Edit file' subtest
  • a36b052 11/10/2025 21:31:42 by raj   changed content of 404 template to accomodate file not found as well as page not found; adjusted test messages accordingly
  • 3371438 11/10/2025 20:36:40 by raj   fixed left margin spacing of dpw filter menu
  • 0b8a6bd 11/10/2025 18:53:02 by raj   bugfix - chatgpt generated incorrect syntax - $dir is parent of $filepath, hence $dir subsumes/contains $filepath
  • ae948df 11/10/2025 18:35:38 by raj   moved download validator into App::Utils, added download validation to DPW
  • d11ed4c 11/10/2025 17:59:08 by raj   added validation section to moongate file download() function, and associated tests
  • 7bd722e 10/10/2025 20:01:24 by raj   converted all 'edit' requests from POST to GET
  • b249c4b 10/10/2025 17:50:22 by raj   extended moongate & dpw tests to test file update - with a lot of help from chatgpt
  • db6d943 09/10/2025 08:05:44 by raj   removed quotes fromn route-names, tidied up route definitions
  • a524de0 08/10/2025 20:04:54 by raj   added function to dynamically update total record count display after new record submission (htmx request does not automatically update outer html)
  • c8bebd4 08/10/2025 09:19:56 by raj   bugfix
  • 86b3705 08/10/2025 09:18:02 by raj   modified DPW download() to match equivalent Moongate method so it also can handle absolute or relative docs_path
  • 74adf1e 08/10/2025 09:03:39 by RAJ   modified Moongate download() to work with relative docs_path - previously returned 'not found' message
  • a2af7d8 07/10/2025 20:00:39 by raj   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
  • a676efc 06/10/2025 16:13:52 by raj   bugfix - omitted 'enctype' from moongate & dpw record.tt files
  • d1167a9 06/10/2025 08:32:34 by raj   new test file; bugfix to moongate/record.tt
  • 660f0f5 05/10/2025 09:16:40 by raj   moved process_request() & get_next_location() methods into own module for use in other .t files
  • 2e2b588 05/10/2025 08:07:11 by raj   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
  • f786e88 04/10/2025 17:45:16 by raj   adjusted dpw summary filter
  • aff6852 04/10/2025 09:33:06 by raj   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
  • 12d22ec 01/10/2025 07:51:33 by raj   converted moongate section to SPA using htmx
  • 6f5f12f 30/09/2025 07:19:49 by raj   renamed access_denied page; moved configuration of link & label settings from record.tt to routes using vars.next_route; moved alert notifications (success & error) into own template; fixed js to auto-resize textarea on page load
  • baef559 28/09/2025 21:31:34 by raj   moved infolib/home.tt up one level, to become generic home.tt for all sections
  • fec5a31 28/09/2025 16:25:27 by raj   added div for hx-errors
  • 8619f13 28/09/2025 13:35:38 by RAJ   adjusted moongate tt's to handle site-wide htmx functions (gitlog & summary)
  • c8283ef 28/09/2025 13:32:49 by raj   layout tweaks; documented docker compose rebuild function
  • 83afe6d 28/09/2025 11:04:42 by raj   converted infolib section to SPA using htmx
  • 623328f 26/09/2025 14:02:32 by raj   minor bugfix; moved htmx headers data into a var
  • b1258cd 23/09/2025 20:08:39 by raj   get log level in App::LogAnyAdapter direct from D2 config instead of passing as arg from DocsLib; caller line in logger_engine->log is ignored so derived calling file from caller() and appended to message text; replaced deprecated Log::Any Callback method with Capture
  • 703481a 22/09/2025 19:53:41 by raj   reverted to earlier (uncommited) version of Log::Any function because most recently commited version was ignoring moinimum log level of tests (info), and presumably production (warnings) - note that use of Callback supposed to be deprecated in favour of Capture, but cannot make this method honour the min log-level setting
  • 5069ec1 22/09/2025 15:21:41 by raj   using Log::Any to facilitate model classes to forward messages to Dancer2 logger
  • d2814a7 18/09/2025 09:19:26 by raj   moved Dancer2::Plugin::Auth::Tiny->extend() into its own package; dev login exempt from requiring username; added 'needs admin' to InfoLib edit route so it features in routes.t tests
  • 3415bd6 18/09/2025 08:49:51 by raj   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
  • b6f1354 15/09/2025 20:13:51 by raj   added default route handler for 404 pages, captures prefix to avoid returning to default index poage; minor template teaks
  • b9a379b 15/09/2025 08:21:53 by RAJ   fixed return url from gitlog summary page if not logged in to avoid going to default index page
  • 33e3c67 15/09/2025 08:07:41 by raj   added password reveal function on login form; logout function redirects to prefix home not root url
  • 303e390 14/09/2025 11:16:24 by raj   switched to Term::ANSIColor for more fine-grained colour control
  • c8f2c72 14/09/2025 09:46:54 by raj   moved App::DBIx dump_query code block into new App::Utils class, and moved the App::DBIx query() & dump_query() methods into new DBIx class, in same file as App::DB
  • 9cf59fa 14/09/2025 08:30:36 by raj   tweaked dump_query() method for INSERT statements
  • 18b6447 13/09/2025 23:30:37 by raj   patched App::DBIx dump_query() method to handle INSERT statements; substitutions can be performed directly on $sql inside dump_query() without requiring separate $str variable as the function receives a copy of $sql var not a reference to it
  • b3cfc19 13/09/2025 09:29:12 by raj   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
  • ab66079 11/09/2025 20:43:49 by raj   added checks for test plain-text password in config; documented data import/export for sqlite3
  • 3312ae2 11/09/2025 20:25:56 by raj   added check for upload path for test file
  • fc87374 11/09/2025 18:34:55 by raj   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
  • fbb43c9 11/09/2025 11:00:47 by raj   bugfix to tt
  • 65035aa 10/09/2025 16:57:45 by raj   applied same change to Moongate model as in previous commit
  • 8bc88cb 10/09/2025 16:45:34 by raj   docs_path is now a field with set_docs_path() method to streamline save_document()
  • c182af3 10/09/2025 10:08:32 by raj   amend previous commit, category check only necessary if filename exists
  • 571b157 10/09/2025 09:59:05 by raj   update category for DPW requires file moving to new location
  • b4809dd 09/09/2025 15:21:39 by raj   moved file save function from Moongate route to model, equivalent to recent DPW modification
  • d1722ce 08/09/2025 19:08:53 by raj   http entries in comment field generate url; require filter for summary page if search returns >100 records; bugfix for Model::DPW save_document
  • 89bdb04 07/09/2025 11:28:55 by raj   added filter function for household summary page
  • a252e34 07/09/2025 10:45:48 by raj   changed household documents path to ~/Documents/docs-lib for backup reasons due to impending directory size (maybe Moongate to follow)
  • bbf84ed 07/09/2025 10:19:40 by raj   fixed incorrect uri for routes.tt
  • 358398b 07/09/2025 10:17:13 by raj   moved file save function from DPW route to model; function creates new sub-directory for file if it doesn't exist
  • 2040bb2 06/09/2025 22:04:39 by raj   get_all_documents for DPW orders by date not id, more session debugging output
  • cbffd98 06/09/2025 10:17:21 by raj   provide session object to tt for use with debugging premature session expiry; provide redirect for requests without trailing slash (instead of receiving 404 page)
  • 08d214e 05/09/2025 21:31:13 by raj   moved dpw categories from tt into db
  • 2d59db2 05/09/2025 20:14:27 by raj   added date field to dpw dataset; documented deployment on ZBOX using lighttpd
  • 409780d 05/09/2025 09:30:25 by raj   extended app to provide household/dpw function; provided session expiry time display; increased dev env cookie_duration (but session still times out too early); sync'd InfoLib & Moongate save_document() methods with DPW class (using global @cols)
  • e72dafc 04/09/2025 19:17:21 by raj   search function returns to home page instead of summary if no records found
  • cd6090a 04/09/2025 19:15:41 by RAJ   bugfixes after previous commit
  • 31a73f4 04/09/2025 17:20:53 by raj   major rewrite - combined separate docs-lib and moongate apps into single app using prefixes with multiple route files; merged DB functions into model which is now a D2 plugin, providing encapsulated model domains (infolib, moongate & dpw); uses route names to allow tt to call uri_for_route, but some caveats: * route names must be unique across all route files * uri_for_route cannot be used in any template loaded after a forward since the data required in request.uri_for_route($name) is deleted during the forwarding process leading to fatal error when tt calls the uri_for_route function; META function no longer works since tt WRAPPER function disabled to allow routes to define layout
  • bbc33b2 26/08/2025 21:11:50 by raj   disabled TT WRAPPER to allow layout to be defined in routes; bugfix - apphandler setting not available in tt so default index.tt cannot diplay value, needed to add as a token
  • 9afae17 11/08/2025 11:41:53 by RAJ   changed search view to summary page
  • 1cb755d 09/08/2025 14:32:06 by RAJ   bugfix & omissions
  • becd60a 09/08/2025 14:21:46 by raj   made search function case-insensitive
  • 2d54f5c 07/08/2025 08:20:57 by RAJ   new function /summary, to replace 'all_docs' on footer
  • 132b97e 05/08/2025 14:27:21 by raj   fixed dbix 'on-connect-do' schema - 1st production run of Moongate failed to process 2nd and subsequent statements
  • a73c2ad 05/08/2025 14:02:24 by raj   re-instated original default index route
  • 15a15ed 01/08/2025 12:50:08 by raj   removed keywords as a function, they are redundant as search covers title and contents, keywords provides no additional value
  • 00895b1 30/07/2025 07:57:31 by raj   changed $cols to $fields in App::DB to disambiguate from @cols; cosmetic change to gitlog() method for brevity; root ('/') route needs to capture query_param when forwarded; tests need cookie_headers for routes recently protected by authentication
  • 0f70e43 26/07/2025 20:07:12 by raj   new functions to retrieve all records and total count; protected edit & update routes with need for authentication
  • 69d9e3c 26/07/2025 11:09:18 by raj   replaced git-log functions with Git::Wrapper; removed cpanfile.snapshot & .carmel/MySetup.pm from repo (too verbose)
  • 65fd6b6 25/07/2025 11:02:40 by raj   replaced 2-part Git version with just log count, split date from detail in gitlog view
  • 1796c10 25/07/2025 08:13:58 by RAJ   specify perl v5.34.0 in Dockerfile, as "FROM: 5.34" installs 5.34.3 which generated error loading Git directory (Can't use string ("/app/.git") as a HASH ref while "strict refs" in use at /usr/local/lib/perl5/site_perl/5.34.3/Error.pm); Model $git does not need to be a field, replaced with variable; reformatted footer
  • 30a2e1d 24/07/2025 08:49:48 by raj   added app version from git and gitlog
  • bcdbf12 21/07/2025 17:52:54 by RAJ   set timezone in dockerfile (untested); replaced Devel::Confess with 'traces' in dev config; css tweak
  • bebf577 20/07/2025 21:46:14 by raj   info bar if no records found
  • 4385b35 20/07/2025 21:30:02 by raj   new entry now an expandable div, with new link to home; added bootstrap js bundle