moved Devel::Cycle find_cycle() code from cgiapp_init to teardown, and made it permanently active for non-fastcgi requests - found and fixed many circular refs inside callback subs; new resources menu items; new file-uploader scripts
added user permission restrictions to resouces links; restricted resources/new_diagnoses list to users location if not lab-staff - doesn't work properly yet; changed LIMS::_debug_authen() to use LIMS::Local::Debug::DEBUG() instead of self->debug() to avoid circular ref to self in caller; added specimen description to patient summary display
removed reference to in CAP::Authen config callback - causing multiple filehandles to build up; separated calls to different system resources in resource meter code
added ENV variable DB_SESSIONS to force dev server to use db instead of file store for sessions; moved _update_session_userid flag to top of block in cgiapp_prerun so only have to set it once for both new logins & re-authenication after timeout & removed it from _create_user_profile()
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
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
modified LIMS::cgiapp_prerun() to check for new messages after re-authentication - will mainly benefit external users where idle timeout equals ajax poll new msgs frequency, so will never see ajax notification
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 username; added region_code back to user_locations + admin functions