patched cgiapp_prerun to accept skip_redirect flag created during reset password using emailed link, so destination=change_password happens without re-direct; changed M::Roles::ResultsUpdate::history_params attr from lazy_build to std method - was not appropriate to have lazy_build & 'clear' for method called from within loop
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
new tables sample_types, lab_section_sample_type & specimen_sample_type; added sample-type data to lab sections and specimens configuration functions; replaced arg to ErrorHandler::set_errorhandler_args with L::Local::Config->instance, as used in QueryLog
moved request audit in screening function to optional & disabled it; moved set_querylog_args & set_errorhandler_args near top of cgiapp_prerun() so they take effect for login & session update handling
new screen_category table; moved screens 'type' col to category_id; modified all screening terms & screening tests admin functions to accomodate new screen_category table; removed ajax validation from screen description & lab test field_label as these use 2 & 3-col unique keys so can't be validated by AJAX; email reports function uses users secure email address as sender; modifed portal_access function to supply SHA1 hash of current date - so failed login not sent back to portal page without explanation; modified mail_reports.pl to use item names instead of table id accessors
patched L:Dispatch to avoid error on undefined dispatch_path; moved L::Local::QueryLog dispatcher construction from _warn_handler() to BEGIN block to avoid re-creation per request; changed sql.log to Log::Dispatch::File::Rolling object; amended log_rotate.pl to process the new sql.log filenames; added new method ensure_warn_handler_capture() to L::Local::QueryLog for use with non-external fastcgi, where FCGI re-defines the warn handler set in L::L::Q so that sql statements go to Apache error log
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
LIMS::Dispatch passes class_name to LIMS so authen->protected_runmodes can be skipped for certain classes; added hilis user to users table; completed mail_reports.pl functions with L::Model::update_request_dispatch_log()
moved some LIMS::Base methods out to LIMS::Role::Base; new cron mail_reports.pl - shares some methods from LIMS; exempted http requests to Chart methods from authentication to allow mail_reports.pl script to generate charts
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