Hover over the log to see the full commit message.
Clone
9ff61ef (HEAD -> main) 19/10/2025 09:01:00
by
rajsimplified dpw summary.tt, using single info box to display results
4a0b8fa18/10/2025 19:27:56
by
rajtemplate can't find is_between(), needs to call Utils.is_between(); displays selected category in number-of-records-found info bar
7228ddf18/10/2025 12:34:57
by
rajmoved tt 'between' method into new App::TT::Utils package; amended dpw summary filter requirement
19a6edc18/10/2025 09:38:43
by
rajdpw summary now shows filter regardless of number of records; moved threshold for requiring filter to config; additional space in dump_query() formatting
1d736a317/10/2025 21:38:54
by
rajcommented cpanfile feature 'accelerate' for carmel install (doesn't directly support features); tidied up login.tt
4aa630d17/10/2025 10:11:44
by
rajretired layout/main.tt, login.tt is now a complete stand-alone html page
64d71f916/10/2025 10:00:57
by
rajswitched App/DB.pm classes to blocks for clarity; added cache to prevent unnecessary db lookup on every request; tidied up & improved documentation
c99ae4016/10/2025 08:42:14
by
rajrenamed 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]
09cddb215/10/2025 11:04:30
by
rajused alternative re-bless method inside DBIx query() and select() methods to provide new DBIx::Simple::Result::column() method, avoids using Module::Runtime
ae5367215/10/2025 09:52:28
by
rajused 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
9bb103f14/10/2025 16:01:12
by
rajremoved unnecessary 'GET' from edit_document subs forward() method as 'edit' is now already hx-get
ec5911114/10/2025 08:47:30
by
rajdiscontinued 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
d08ba1413/10/2025 12:36:05
by
rajmoved common download() method code from prefix routes to main route file, prefix routes now just supply route params
82db82a13/10/2025 08:40:36
by
rajremoved unnecessary 'else' block in create_document routes
1efbb1f13/10/2025 08:27:09
by
rajnew tests for Update document without file, Create document without file, Add file to new document
60c9c3013/10/2025 07:49:18
by
rajadjusted model create_document() method to handle file deletion where no new file is submitted
600b85012/10/2025 17:33:10
by
rajadded error codes to send_error; bugfix
b5e8f1412/10/2025 16:29:46
by
rajextended edit-record function to delete existing file if new file uploaded during update submission, and new tests for file deletion
bf7dd7612/10/2025 07:59:44
by
rajreplaced physical file with temp file in subtest 'Create document' in moongate & household tests, as already used in 'Edit file' subtest
a36b05211/10/2025 21:31:42
by
rajchanged content of 404 template to accomodate file not found as well as page not found; adjusted test messages accordingly
337143811/10/2025 20:36:40
by
rajfixed left margin spacing of dpw filter menu
0b8a6bd11/10/2025 18:53:02
by
rajbugfix - chatgpt generated incorrect syntax - $dir is parent of $filepath, hence $dir subsumes/contains $filepath
ae948df11/10/2025 18:35:38
by
rajmoved download validator into App::Utils, added download validation to DPW
d11ed4c11/10/2025 17:59:08
by
rajadded validation section to moongate file download() function, and associated tests
7bd722e10/10/2025 20:01:24
by
rajconverted all 'edit' requests from POST to GET
b249c4b10/10/2025 17:50:22
by
rajextended moongate & dpw tests to test file update - with a lot of help from chatgpt
db6d94309/10/2025 08:05:44
by
rajremoved quotes fromn route-names, tidied up route definitions
a524de008/10/2025 20:04:54
by
rajadded function to dynamically update total record count display after new record submission (htmx request does not automatically update outer html)
86b370508/10/2025 09:18:02
by
rajmodified DPW download() to match equivalent Moongate method so it also can handle absolute or relative docs_path
74adf1e08/10/2025 09:03:39
by
RAJmodified Moongate download() to work with relative docs_path - previously returned 'not found' message
a2af7d807/10/2025 20:00:39
by
rajmoved 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
a676efc06/10/2025 16:13:52
by
rajbugfix - omitted 'enctype' from moongate & dpw record.tt files
d1167a906/10/2025 08:32:34
by
rajnew test file; bugfix to moongate/record.tt
660f0f505/10/2025 09:16:40
by
rajmoved process_request() & get_next_location() methods into own module for use in other .t files
2e2b58805/10/2025 08:07:11
by
rajadded 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
f786e8804/10/2025 17:45:16
by
rajadjusted dpw summary filter
aff685204/10/2025 09:33:06
by
rajconverted 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
12d22ec01/10/2025 07:51:33
by
rajconverted moongate section to SPA using htmx
6f5f12f30/09/2025 07:19:49
by
rajrenamed 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
baef55928/09/2025 21:31:34
by
rajmoved infolib/home.tt up one level, to become generic home.tt for all sections
fec5a3128/09/2025 16:25:27
by
rajadded div for hx-errors
8619f1328/09/2025 13:35:38
by
RAJadjusted moongate tt's to handle site-wide htmx functions (gitlog & summary)
c8283ef28/09/2025 13:32:49
by
rajlayout tweaks; documented docker compose rebuild function
83afe6d28/09/2025 11:04:42
by
rajconverted infolib section to SPA using htmx
623328f26/09/2025 14:02:32
by
rajminor bugfix; moved htmx headers data into a var
b1258cd23/09/2025 20:08:39
by
rajget 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
703481a22/09/2025 19:53:41
by
rajreverted 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
5069ec122/09/2025 15:21:41
by
rajusing Log::Any to facilitate model classes to forward messages to Dancer2 logger
d2814a718/09/2025 09:19:26
by
rajmoved 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
3415bd618/09/2025 08:49:51
by
rajextended 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
b6f135415/09/2025 20:13:51
by
rajadded default route handler for 404 pages, captures prefix to avoid returning to default index poage; minor template teaks
b9a379b15/09/2025 08:21:53
by
RAJfixed return url from gitlog summary page if not logged in to avoid going to default index page
33e3c6715/09/2025 08:07:41
by
rajadded password reveal function on login form; logout function redirects to prefix home not root url
303e39014/09/2025 11:16:24
by
rajswitched to Term::ANSIColor for more fine-grained colour control
c8f2c7214/09/2025 09:46:54
by
rajmoved 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
9cf59fa14/09/2025 08:30:36
by
rajtweaked dump_query() method for INSERT statements
18b644713/09/2025 23:30:37
by
rajpatched 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
b3cfc1913/09/2025 09:29:12
by
rajimplemented 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
ab6607911/09/2025 20:43:49
by
rajadded checks for test plain-text password in config; documented data import/export for sqlite3
3312ae211/09/2025 20:25:56
by
rajadded check for upload path for test file
fc8737411/09/2025 18:34:55
by
rajchanged 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
65035aa10/09/2025 16:57:45
by
rajapplied same change to Moongate model as in previous commit
8bc88cb10/09/2025 16:45:34
by
rajdocs_path is now a field with set_docs_path() method to streamline save_document()
c182af310/09/2025 10:08:32
by
rajamend previous commit, category check only necessary if filename exists
571b15710/09/2025 09:59:05
by
rajupdate category for DPW requires file moving to new location
b4809dd09/09/2025 15:21:39
by
rajmoved file save function from Moongate route to model, equivalent to recent DPW modification
d1722ce08/09/2025 19:08:53
by
rajhttp entries in comment field generate url; require filter for summary page if search returns >100 records; bugfix for Model::DPW save_document
89bdb0407/09/2025 11:28:55
by
rajadded filter function for household summary page
a252e3407/09/2025 10:45:48
by
rajchanged household documents path to ~/Documents/docs-lib for backup reasons due to impending directory size (maybe Moongate to follow)
bbf84ed07/09/2025 10:19:40
by
rajfixed incorrect uri for routes.tt
358398b07/09/2025 10:17:13
by
rajmoved file save function from DPW route to model; function creates new sub-directory for file if it doesn't exist
2040bb206/09/2025 22:04:39
by
rajget_all_documents for DPW orders by date not id, more session debugging output
cbffd9806/09/2025 10:17:21
by
rajprovide session object to tt for use with debugging premature session expiry; provide redirect for requests without trailing slash (instead of receiving 404 page)
08d214e05/09/2025 21:31:13
by
rajmoved dpw categories from tt into db
2d59db205/09/2025 20:14:27
by
rajadded date field to dpw dataset; documented deployment on ZBOX using lighttpd
409780d05/09/2025 09:30:25
by
rajextended 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)
e72dafc04/09/2025 19:17:21
by
rajsearch function returns to home page instead of summary if no records found
cd6090a04/09/2025 19:15:41
by
RAJbugfixes after previous commit
31a73f404/09/2025 17:20:53
by
rajmajor 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
bbc33b226/08/2025 21:11:50
by
rajdisabled 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
9afae1711/08/2025 11:41:53
by
RAJchanged search view to summary page
1cb755d09/08/2025 14:32:06
by
RAJbugfix & omissions
becd60a09/08/2025 14:21:46
by
rajmade search function case-insensitive
2d54f5c07/08/2025 08:20:57
by
RAJnew function /summary, to replace 'all_docs' on footer
132b97e05/08/2025 14:27:21
by
rajfixed dbix 'on-connect-do' schema - 1st production run of Moongate failed to process 2nd and subsequent statements
a73c2ad05/08/2025 14:02:24
by
rajre-instated original default index route
15a15ed01/08/2025 12:50:08
by
rajremoved keywords as a function, they are redundant as search covers title and contents, keywords provides no additional value
00895b130/07/2025 07:57:31
by
rajchanged $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
0f70e4326/07/2025 20:07:12
by
rajnew functions to retrieve all records and total count; protected edit & update routes with need for authentication
69d9e3c26/07/2025 11:09:18
by
rajreplaced git-log functions with Git::Wrapper; removed cpanfile.snapshot & .carmel/MySetup.pm from repo (too verbose)
65fd6b625/07/2025 11:02:40
by
rajreplaced 2-part Git version with just log count, split date from detail in gitlog view
1796c1025/07/2025 08:13:58
by
RAJspecify 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
30a2e1d24/07/2025 08:49:48
by
rajadded app version from git and gitlog
bcdbf1221/07/2025 17:52:54
by
RAJset timezone in dockerfile (untested); replaced Devel::Confess with 'traces' in dev config; css tweak
bebf57720/07/2025 21:46:14
by
rajinfo bar if no records found
4385b3520/07/2025 21:30:02
by
rajnew entry now an expandable div, with new link to home; added bootstrap js bundle