patched drilldown tooltip js to supply encoded query params instead of path args to cope with a slash in test name (eg CCND1/IGH), interpreted as an arg delimiter by dispatcher
first draft of dashboard view; first draft of quick search but not able to share find_requests() with main search as we need 'AND' not 'OR' logic; combined _process_tests_complete() logic with _get_request_status_query_args() for tests_completed; moved jquery version from 1.4.2 to 1.8.2; moved devel server to port 8000
adapted xNA extraction worksheets to split xFU into xF & xU samples and adjust for number of blocks for xF, xU & xBL samples; xNA extration worksheets append empty rows to max 12; patched view_cron_log() regex to include hyphenated script names; DB::RequestExternalRef status field required larger varchar value
added url_base to cgiapp_prerun(), refactored multiple calls to ->query to ; added part_number to storage module; restored 10-digit storage vialId + validation; bugfix to update_storage_vial(), failed validation due to duplicate vialId and old update method didn't do changes_only; added online request form link to guest user hello page; moved token generation from Resources menu() to Role::Resources::create_form_tokens() for sharing between menu() & hello()
new setting 'is_test_platform' to exempt test server from portal login requirement; new outreach worklists unreported and unauthorised; added user-configurable duration option on unreported worklist, shared with outreach unreported; adapted Resources token generation function to provide encrypted username for online request forms; bugfix to _xna_extraction() - lc on query param extraction_type gave error if param undef
spell-check changes: add-new-word function now puts terms in temp file for assessment by admin before importing into site-specific personal dictionary; rebuilt en-medical.rws (extra-dict) from edited contents of old personal dict (.aspell.en.pws) - moved all acronyms/abbreviations into new personal dict (.aspell.leeds.pws); LIMS::_create_user_profile() adds users 'centre' param to session user_profile; adapted spellchecker.pl to work with new dictionary format