completed outreach overdue pack notification function; moved logic to skip if notification already sent from template to model; separated outreach worklists from other worklists; switched off PDS lookup for test scripts; patched validation_profiles/admin.t consistent with change to username validation
refactored user_workload to allocate 1 unit per request, not 1 unit per specimen; added totals and percentages cdata to user_workload; moved user_workload query back to RDBO from dbix
renamed L::L::Utils::round() to avoid 'function redefined' warning; added new local rules to activity_data.pl to handle set_codes; combined print run submit buttons and added javascript display on submit
patched C::Outreach::lab_results() to return error if 'department' form param missing - picked up from apache error log but not obvious how a hidden field can be absent
patched C::Report::preview_report() to handle Outreach requests; refactored some M::Outreach code into new M::Roles::Outreach role for sharing between reporting function and followup option editing
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