bugfix to bcr-abl data import template where argument '' isn't numeric in subtraction if null entries; hello.tt tests for 'have_online_requests' setting
added url_base to cgiapp_prerun(), refactored multiple calls to ->query to ; added part_number to storage module; restored 10-digit storage vialId + validation; bugfix to update_storage_vial(), failed validation due to duplicate vialId and old update method didn't do changes_only; added online request form link to guest user hello page; moved token generation from Resources menu() to Role::Resources::create_form_tokens() for sharing between menu() & hello()
bugfixes and formatting tweaks for print_run; copy_to clone needed deflate => 0; ajax date validation required no warnings uninitialized for hr & min fields
changed result_summary_opts from AoA to HoA in C::Roles::ResultHandler::process_raw_lab_test_data() to make hadnling optgroup in template easier; result/default.tt handles optgroup and numerical order in construction of select menus; re-authentication sets flash message if user email address empty; fixed some html syntax errors in templates
moved ajax method of seeking new messages into separate script to avoid updating app session atime value; patched cron expire_sessions.pl - had stopped working
moved authen_config from lims_config.pl to main LIMS app - CUSTOM callback doesn't work when cfg loaded using Class::Singleton instance; modified idle timeout function to automatically load logged-in username in login screen, so only passwd required, and added link to logout if different user; cgiapp_prerun checks form param username matches authen; added region_code back to user_locations + admin functions
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