new home page (hello) link and quick search function on 'hello' page for non-lab-staff users; added optional sort_by to M::LabTest::get_section_lab_tests; added optional command-line arg to nycris.pl
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()
reporting function issues diagnosis revision alerts; replaced all controller calls to authen->store->fetch('yooza_profile') and session->dataref->{UserProfile} with LIMS::user_profile() function; L::Local::Mail::_verify_service_status() requires 'devel' or 'prod' ROSEDB_DEVINIT flags to permit email sending
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 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