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
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 format_firstname callback in templates to enable user-configurable special formatting to first_name - uses format_first_name sub in render_view + format_firstname.yml; changed user_location.region_code to varchar(5) to allow longer parent organisation codes
Outreach lab_results validation; modified Base::js_validation_profile() to accept direct hand-in of profile for Outreach validation profiles; C::Outreach::lab_results(); merged C::Report::_get_outreach_data() with C::Report::outreach(); patched C::Roles::FormData methods to load dfv_defaults from lims_config
moved C::Outreach::get_blood_tube_type() to C::Roles::Misc and moved tube type definitions to yaml file; changed C::A::C::OutreachPractices to Moose class to load C::Roles::Misc; added sort_by to M::User::get_user_locations()
replaced several calls to L::Local::find_home() with call to config instance; removed call to L::Local::Debug from lims_config.pl, as debug() uses config instance, which uses lims_config.pl; model classes get config from config instance instead of constructor passing it in LIMS::model(); general tidy-up
local changes for Bristol update: emailed messages contain test notice only if not in production; unreported requests worklist duration taken from config settings; config settings made available to Model classes; moved report output formatting to local template if not RR8