fix authentication using DPAE::DB * re-writing user profile into session after loading roles replaced draft_report_users.id with users.id so previous reports did not load (expects draft_report_users.id) - now adding roles to existing user-profile * replace mysql-specific functions with sqlite-compatible equivalents * new reports.t for testing model functions and user authentication * fix main.tt error - loaded /register link because an empty grep is true
include password in call to DPAE authenticate_user() - something changed in DPAE so that password now required for authentication to get logged_in_user & logged_in_user_realm session entries
added specimen type to reports summary display; adjusted layout on reports summary pdf; amended order by requests.created_at to request_draft_report.created_at so now correctly displayed by report date
moved paginator code into own sub; separated model get_report_counts into own sub, using new count() method in Local::DB; new config item paginator.siblings; general code tidy
added authentication function using D2::Plugin::Auth::Extensible; new admin function to register new user; removed GET /login route - using auto_page()
fix for 'mysql server has gone away' message - new DB check_db_connection() method clears dbix object if no ping received from db, forcing dbix object recreation; wrapped 'horrible' deferred keyword in flash() method; dev logger uses Console::Colored output