added direct link in registration details for use at 1st login; changed layout of tt_wrapper to remove extraneous white-space when rendering templates for text eg emails; revamped registration details message
patched L::Mail::_sendmail() to add 'content-type' header in lowercase otherwise ignored; M::User::register_login() truncates HTTP_USER_AGENT to mex 255 chars; gallium_data.pl sends .dat file as well as .xls
bugfix to L::Model::User do_transaction, testing for db_error instead of transaction success; request_links.tt loads PhoneLog link if user_can(phone_log) instead of modify_results
added allow_inline_column_values() to DB::User to allow 'NOW()' to be passed inline - first attempt to fix peristent "could not parse datetime 'now' - invalid date format" error
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
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 search constraints error - date_before/after -> all_before/after + validation definition; changed some instances of User::get_user_details to User::get_user_by_username in controllers; added 'query_args' to get_page() js function in date_constraints.tt to allow eg sort_by params to be passed to date constraint constructors