mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
Merge branch 'MDL-29774-master-by-sam-wilson' of git://github.com/junpataleta/moodle
This commit is contained in:
commit
3fdbba0e27
3 changed files with 35 additions and 7 deletions
|
@ -799,12 +799,26 @@ class group_non_members_selector extends groups_user_selector_base {
|
|||
*
|
||||
* Used by /group/clientlib.js
|
||||
*
|
||||
* @global moodle_database $DB
|
||||
* @global moodle_page $PAGE
|
||||
* @param int $courseid
|
||||
*/
|
||||
public function print_user_summaries($courseid) {
|
||||
global $DB, $PAGE;
|
||||
global $PAGE;
|
||||
$usersummaries = $this->get_user_summaries($courseid);
|
||||
$PAGE->requires->data_for_js('userSummaries', $usersummaries);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct HTML lists of group-memberships of the current set of users.
|
||||
*
|
||||
* Used in user/selector/search.php to repopulate the userSummaries JS global
|
||||
* that is created in self::print_user_summaries() above.
|
||||
*
|
||||
* @param int $courseid The course
|
||||
* @return string[] Array of HTML lists of groups.
|
||||
*/
|
||||
public function get_user_summaries($courseid) {
|
||||
global $DB;
|
||||
|
||||
$usersummaries = array();
|
||||
|
||||
|
@ -838,8 +852,7 @@ class group_non_members_selector extends groups_user_selector_base {
|
|||
$usersummaries[] = $usergrouplist;
|
||||
}
|
||||
}
|
||||
|
||||
$PAGE->requires->data_for_js('userSummaries', $usersummaries);
|
||||
return $usersummaries;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -179,6 +179,14 @@ M.core_user.init_user_selector = function (Y, name, hash, extrafields, lastsearc
|
|||
return new M.core.ajaxException(data);
|
||||
}
|
||||
this.output_options(data);
|
||||
|
||||
// If updated userSummaries are present, overwrite the global variable
|
||||
// that's output by group_non_members_selector::print_user_summaries() in user/selector/lib.php
|
||||
if (typeof data.userSummaries !== "undefined") {
|
||||
/* global userSummaries:true */
|
||||
/* exported userSummaries */
|
||||
userSummaries = data.userSummaries;
|
||||
}
|
||||
} catch (e) {
|
||||
this.listbox.setStyle('background','');
|
||||
this.searchfield.addClass('error');
|
||||
|
|
|
@ -61,7 +61,7 @@ $userselector = new $classname($name, $options);
|
|||
|
||||
// Do the search and output the results.
|
||||
$results = $userselector->find_users($search);
|
||||
$json = array();
|
||||
$jsonresults = array();
|
||||
foreach ($results as $groupname => $users) {
|
||||
$groupdata = array('name' => $groupname, 'users' => array());
|
||||
foreach ($users as $user) {
|
||||
|
@ -76,7 +76,14 @@ foreach ($results as $groupname => $users) {
|
|||
}
|
||||
$groupdata['users'][] = $output;
|
||||
}
|
||||
$json[] = $groupdata;
|
||||
$jsonresults[] = $groupdata;
|
||||
}
|
||||
|
||||
echo json_encode(array('results' => $json));
|
||||
$json = array('results' => $jsonresults);
|
||||
|
||||
// Also add users' group membership summaries, if possible.
|
||||
if (is_callable(array($userselector, 'get_user_summaries')) && isset($options['courseid'])) {
|
||||
$json['userSummaries'] = $userselector->get_user_summaries($options['courseid']);
|
||||
}
|
||||
|
||||
echo json_encode($json);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue