MDL-40218 Assignment: Show suspended user, similar to the way they are shown in grader report
This commit is contained in:
@@ -727,10 +727,18 @@ class assign_grading_table extends table_sql implements renderable {
|
||||
if (!$this->is_downloading()) {
|
||||
$courseid = $this->assignment->get_course()->id;
|
||||
$link= new moodle_url('/user/view.php', array('id' =>$row->id, 'course'=>$courseid));
|
||||
return $this->output->action_link($link, fullname($row));
|
||||
$fullname = $this->output->action_link($link, fullname($row));
|
||||
} else {
|
||||
return fullname($row);
|
||||
$fullname = fullname($row);
|
||||
}
|
||||
|
||||
if (in_array($row->id, $this->assignment->susers)) {
|
||||
$suspendedstring = get_string('userenrolmentsuspended', 'grades');
|
||||
$fullname .= ' '.html_writer::empty_tag('img', array('src' => $this->output->pix_url('i/enrolmentsuspended'),
|
||||
'title' => $suspendedstring, 'alt' => $suspendedstring, 'class' => 'usersuspendedicon'));
|
||||
$fullname = html_writer::tag('span', $fullname, array('class' => 'usersuspended'));
|
||||
}
|
||||
return $fullname;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -126,7 +126,7 @@ class assign {
|
||||
private $showonlyactiveenrol = true;
|
||||
|
||||
/** @var array list of suspended user IDs in form of ([id1] => id1) */
|
||||
private $susers = array();
|
||||
public $susers = array();
|
||||
|
||||
/**
|
||||
* Constructor for the base assign class.
|
||||
@@ -2707,7 +2707,8 @@ class assign {
|
||||
$viewfullnames,
|
||||
$this->is_blind_marking(),
|
||||
$this->get_uniqueid_for_user($user->id),
|
||||
get_extra_user_fields($this->get_context()));
|
||||
get_extra_user_fields($this->get_context()),
|
||||
in_array($userid, $this->susers));
|
||||
$o .= $this->get_renderer()->render($usersummary);
|
||||
}
|
||||
$submission = $this->get_user_submission($userid, false, $attemptnumber);
|
||||
@@ -3380,7 +3381,8 @@ class assign {
|
||||
$this->get_course_context()),
|
||||
$this->is_blind_marking(),
|
||||
$this->get_uniqueid_for_user($user->id),
|
||||
$extrauserfields));
|
||||
$extrauserfields,
|
||||
in_array($userid, $this->susers)));
|
||||
$usercount += 1;
|
||||
}
|
||||
|
||||
@@ -3431,10 +3433,11 @@ class assign {
|
||||
$usershtml .= $this->get_renderer()->render(new assign_user_summary($user,
|
||||
$this->get_course()->id,
|
||||
has_capability('moodle/site:viewfullnames',
|
||||
$this->get_course_context()),
|
||||
$this->get_course_context()),
|
||||
$this->is_blind_marking(),
|
||||
$this->get_uniqueid_for_user($user->id),
|
||||
$extrauserfields));
|
||||
$extrauserfields,
|
||||
in_array($userid, $this->susers)));
|
||||
$usercount += 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -125,6 +125,8 @@ class assign_user_summary implements renderable {
|
||||
public $uniqueidforuser;
|
||||
/** @var array $extrauserfields */
|
||||
public $extrauserfields;
|
||||
/** @var bool $suspendeduser */
|
||||
public $suspendeduser;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@@ -134,19 +136,22 @@ class assign_user_summary implements renderable {
|
||||
* @param bool $blindmarking
|
||||
* @param int $uniqueidforuser
|
||||
* @param array $extrauserfields
|
||||
* @param bool $suspendeduser
|
||||
*/
|
||||
public function __construct(stdClass $user,
|
||||
$courseid,
|
||||
$viewfullnames,
|
||||
$blindmarking,
|
||||
$uniqueidforuser,
|
||||
$extrauserfields) {
|
||||
$extrauserfields,
|
||||
$suspendeduser = false) {
|
||||
$this->user = $user;
|
||||
$this->courseid = $courseid;
|
||||
$this->viewfullnames = $viewfullnames;
|
||||
$this->blindmarking = $blindmarking;
|
||||
$this->uniqueidforuser = $uniqueidforuser;
|
||||
$this->extrauserfields = $extrauserfields;
|
||||
$this->suspendeduser = $suspendeduser;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+12
-2
@@ -124,14 +124,23 @@ class mod_assign_renderer extends plugin_renderer_base {
|
||||
*/
|
||||
public function render_assign_user_summary(assign_user_summary $summary) {
|
||||
$o = '';
|
||||
$supendedclass = '';
|
||||
$suspendedicon = '';
|
||||
|
||||
if (!$summary->user) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($summary->suspendeduser) {
|
||||
$supendedclass = ' usersuspended';
|
||||
$suspendedstring = get_string('userenrolmentsuspended', 'grades');
|
||||
$suspendedicon = ' '.html_writer::empty_tag('img', array('src' => $this->pix_url('i/enrolmentsuspended'),
|
||||
'title' => $suspendedstring, 'alt' => $suspendedstring, 'class' => 'usersuspendedicon'));
|
||||
}
|
||||
$o .= $this->output->container_start('usersummary');
|
||||
$o .= $this->output->box_start('boxaligncenter usersummarysection');
|
||||
$o .= $this->output->box_start('boxaligncenter usersummarysection'.$supendedclass);
|
||||
if ($summary->blindmarking) {
|
||||
$o .= get_string('hiddenuser', 'assign') . $summary->uniqueidforuser;
|
||||
$o .= get_string('hiddenuser', 'assign') . $summary->uniqueidforuser.$suspendedicon;
|
||||
} else {
|
||||
$o .= $this->output->user_picture($summary->user);
|
||||
$o .= $this->output->spacer(array('width'=>30));
|
||||
@@ -145,6 +154,7 @@ class mod_assign_renderer extends plugin_renderer_base {
|
||||
if (count($extrainfo)) {
|
||||
$fullname .= ' (' . implode(', ', $extrainfo) . ')';
|
||||
}
|
||||
$fullname .= $suspendedicon;
|
||||
$o .= $this->output->action_link($url, $fullname);
|
||||
}
|
||||
$o .= $this->output->box_end();
|
||||
|
||||
Reference in New Issue
Block a user