From 9e76aac08e131b80baec2050fcb61cf85b843d8f Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Fri, 1 Jun 2018 16:08:36 +0800 Subject: [PATCH] MDL-62460 tool_dataprivacy: Render selected user properly on validation --- .../tool/dataprivacy/createdatarequest_form.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/admin/tool/dataprivacy/createdatarequest_form.php b/admin/tool/dataprivacy/createdatarequest_form.php index 680b93afb85..4c94a8a2a39 100644 --- a/admin/tool/dataprivacy/createdatarequest_form.php +++ b/admin/tool/dataprivacy/createdatarequest_form.php @@ -44,19 +44,28 @@ class tool_dataprivacy_data_request_form extends moodleform { /** * Form definition. * - * @throws HTML_QuickForm_Error * @throws coding_exception - * @throws dml_exception */ public function definition() { - global $DB, $USER; + global $USER; $mform =& $this->_form; $this->manage = $this->_customdata['manage']; if ($this->manage) { $options = [ 'ajax' => 'tool_dataprivacy/form-user-selector', - 'multiple' => false + 'valuehtmlcallback' => function($value) { + global $OUTPUT; + + $allusernames = get_all_user_name_fields(true); + $fields = 'id, email, ' . $allusernames; + $user = \core_user::get_user($value, $fields); + $useroptiondata = [ + 'fullname' => fullname($user), + 'email' => $user->email + ]; + return $OUTPUT->render_from_template('tool_dataprivacy/form-user-selector-suggestion', $useroptiondata); + } ]; $mform->addElement('autocomplete', 'userid', get_string('requestfor', 'tool_dataprivacy'), [], $options); $mform->addRule('userid', null, 'required', null, 'client');