added allow_inline_column_values() to DB::User to allow 'NOW()' to be passed inline - first attempt to fix peristent "could not parse datetime 'now' - invalid date format" error
changed Dispatch param from _whoami to Class; removed do_ajax from unprotected runmodes, added ajax class to unprotected classes; bugfix to LIMS::_check_portal_referral() - added user profile to list of requirements; increased test count on column_types.t
set flag in cgiapp_prerun() to update sessions.userid on re-authentication after a session timeout, as session is deleted & re-created (without userid) - still needs more worksvk_diff
patched search constraints error - date_before/after -> all_before/after + validation definition; changed some instances of User::get_user_details to User::get_user_by_username in controllers; added 'query_args' to get_page() js function in date_constraints.tt to allow eg sort_by params to be passed to date constraint constructors
moved login.tt from site to login/default.tt; used authen->is_new_login to redirect to C::Login::hello(); moved code to generate new diagnosis list from LIMS::_create_user_profile() to C::Login::hello(); new db table user_message + DB class
moved LOGIN_SESSION_TIMEOUT 'CUSTOM' code to custom_timeout() sub; C::Admin::User::update_user_details() retrieves new user.id to fix (recent) uninitialized val warning in permissions.t; added debug.log fh to L::Local::Debug::DEBUG(); added 'function' object to M::User::get_user_permissions() to save multiple db lookups
new admin function to register new user from email application; moved C:::User::_generate_new_password() to C::Roles::User for sharing with C::Admin::User::new_user()
moved C::Outreach::get_blood_tube_type() to C::Roles::Misc and moved tube type definitions to yaml file; changed C::A::C::OutreachPractices to Moose class to load C::Roles::Misc; added sort_by to M::User::get_user_locations()