improved new_user() method of validating input data and tt handling of errs - missing input caused misleading error messages, data validated in both preview & post actions; new status_complete.pl script
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