referral_source autosuggest loads only active records for registrtaion and request edit functions; new column is_active on referral_sources table; refactored list_all_screen_tests table to show screen categories
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 Base::is_lab_staff() method; access to lab test history now restricted to lab staff; C::Roles::DataMap::user_locations_map uses user_locations table instead of email_contacts table so that non-network users get a new diagnosis list
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
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
patched C::Resources::active_sessions() again to use CAP::Authen method of calculating expired sessions, not CGI::Session etime (ie 86400 seconds for all users)
patched C::Resources::active_sessions() to use 4th parameter to args to CGI::Session::load() to avoid updating session atime which acts as keep-alive for all sessions - REQUIRES CGI::Session VERSION >4.40