mirror of
https://github.com/moodle/moodle.git
synced 2025-04-20 07:56:06 +02:00
Merge branch 'MDL-38061-master' of git://github.com/damyon/moodle
This commit is contained in:
commit
1343f4c02b
@ -117,7 +117,9 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
$params['assignmentid1'] = (int)$this->assignment->get_instance()->id;
|
||||
$params['assignmentid2'] = (int)$this->assignment->get_instance()->id;
|
||||
|
||||
$fields = user_picture::fields('u') . ', ';
|
||||
$extrauserfields = get_extra_user_fields($this->assignment->get_context());
|
||||
|
||||
$fields = user_picture::fields('u', $extrauserfields) . ', ';
|
||||
$fields .= 'u.id as userid, ';
|
||||
$fields .= 's.status as status, ';
|
||||
$fields .= 's.id as submissionid, ';
|
||||
@ -187,6 +189,11 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
// Fullname.
|
||||
$columns[] = 'fullname';
|
||||
$headers[] = get_string('fullname');
|
||||
|
||||
foreach ($extrauserfields as $extrafield) {
|
||||
$columns[] = $extrafield;
|
||||
$headers[] = get_user_field_name($extrafield);
|
||||
}
|
||||
} else {
|
||||
// Record ID.
|
||||
$columns[] = 'recordid';
|
||||
@ -300,6 +307,9 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
// Set the columns.
|
||||
$this->define_columns($columns);
|
||||
$this->define_headers($headers);
|
||||
foreach ($extrauserfields as $extrafield) {
|
||||
$this->column_class($extrafield, $extrafield);
|
||||
}
|
||||
// We require at least one unique column for the sort.
|
||||
$this->sortable(true, 'userid');
|
||||
$this->no_sorting('recordid');
|
||||
@ -896,6 +906,12 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
* @return mixed string or NULL
|
||||
*/
|
||||
public function other_cols($colname, $row) {
|
||||
// For extra user fields the result is already in $row.
|
||||
if (empty($this->plugincache[$colname])) {
|
||||
return $row->$colname;
|
||||
}
|
||||
|
||||
// This must be a plugin field.
|
||||
$plugincache = $this->plugincache[$colname];
|
||||
|
||||
$plugin = $plugincache[0];
|
||||
|
@ -2375,7 +2375,8 @@ class assign {
|
||||
$this->get_course()->id,
|
||||
$viewfullnames,
|
||||
$this->is_blind_marking(),
|
||||
$this->get_uniqueid_for_user($user->id));
|
||||
$this->get_uniqueid_for_user($user->id),
|
||||
get_extra_user_fields($this->get_context()));
|
||||
$o .= $this->get_renderer()->render($usersummary);
|
||||
}
|
||||
$submission = $this->get_user_submission($userid, false);
|
||||
|
@ -119,23 +119,30 @@ class assign_user_summary implements renderable {
|
||||
public $blindmarking = false;
|
||||
/** @var int $uniqueidforuser */
|
||||
public $uniqueidforuser;
|
||||
/** @var array $extrauserfields */
|
||||
public $extrauserfields;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param stdClass $user
|
||||
* @param int $courseid
|
||||
* @param bool $viewfullnames
|
||||
* @param bool $blindmarking
|
||||
* @param int $uniqueidforuser
|
||||
* @param array $extrauserfields
|
||||
*/
|
||||
public function __construct(stdClass $user,
|
||||
$courseid,
|
||||
$viewfullnames,
|
||||
$blindmarking,
|
||||
$uniqueidforuser) {
|
||||
$uniqueidforuser,
|
||||
$extrauserfields) {
|
||||
$this->user = $user;
|
||||
$this->courseid = $courseid;
|
||||
$this->viewfullnames = $viewfullnames;
|
||||
$this->blindmarking = $blindmarking;
|
||||
$this->uniqueidforuser = $uniqueidforuser;
|
||||
$this->extrauserfields = $extrauserfields;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -137,7 +137,15 @@ class mod_assign_renderer extends plugin_renderer_base {
|
||||
$o .= $this->output->spacer(array('width'=>30));
|
||||
$urlparams = array('id' => $summary->user->id, 'course'=>$summary->courseid);
|
||||
$url = new moodle_url('/user/view.php', $urlparams);
|
||||
$o .= $this->output->action_link($url, fullname($summary->user, $summary->viewfullnames));
|
||||
$fullname = fullname($summary->user, $summary->viewfullnames);
|
||||
$extrainfo = array();
|
||||
foreach ($summary->extrauserfields as $extrafield) {
|
||||
$extrainfo[] = $summary->user->$extrafield;
|
||||
}
|
||||
if (count($extrainfo)) {
|
||||
$fullname .= ' (' . implode(', ', $extrainfo) . ')';
|
||||
}
|
||||
$o .= $this->output->action_link($url, $fullname);
|
||||
}
|
||||
$o .= $this->output->box_end();
|
||||
$o .= $this->output->container_end();
|
||||
|
Loading…
x
Reference in New Issue
Block a user