Skip to content
Snippets Groups Projects
Commit f359ecf6 authored by Isabel Uffinger's avatar Isabel Uffinger
Browse files

Colorized file attachements for teachers

parent 235c5199
No related branches found
No related tags found
No related merge requests found
......@@ -180,7 +180,7 @@ class qtype_moopt_renderer extends qtype_renderer {
global $PAGE;
$o = '<br>';
$o .= $this->output->heading(get_string('gradingscheme', 'qtype_moopt'), 3);#
$o .= $this->output->heading(get_string('gradingscheme', 'qtype_moopt'), 3);
$blockid = "moopt-gradingscheme-" . $qa->get_usage_id() . "-" . $qa->get_slot();
$PAGE->requires->js_call_amd('qtype_moopt/toggle_all_grading_scheme_buttons', 'init', [$blockid]);
......@@ -215,27 +215,45 @@ class qtype_moopt_renderer extends qtype_renderer {
private function render_downloadable_files(question_attempt $qa, question_display_options $options) {
global $DB;
$question = $qa->get_question();
$questionid = $question->id;
$o = '';
$isteacher = has_capability('mod/quiz:grade', $options->context);
$studentfiles = $DB->get_records('qtype_moopt_files', array('questionid' => $questionid,
'visibletostudents' => 'yes', 'usagebylms' => 'download'));
if(count($studentfiles) != 0) {
$o .= $this->render_downloadable_files_only($qa, $options, $studentfiles, 'providedfiles');
}
if ($isteacher){
$teacherfiles = $DB->get_records('qtype_moopt_files', array('questionid' => $questionid, 'visibletostudents' => 'no'));
if(count($teacherfiles) != 0) {
$o .= $this->render_downloadable_files_only($qa, $options, $teacherfiles, 'providedfilesteacher');
}
}
return $o;
}
private function render_downloadable_files_only (question_attempt $qa, question_display_options $options, $files, $divclass) {
$question = $qa->get_question();
$qubaid = $qa->get_usage_id();
$slot = $qa->get_slot();
$questionid = $question->id;
$o = '';
$isteacher = has_capability('mod/quiz:grade', $options->context);
$o = '';
$files = $DB->get_records('qtype_moopt_files', array('questionid' => $questionid));
$anythingtodisplay = false;
if (count($files) != 0) { // TODO: this check should happen before these render methods are called
$downloadurls = '';
$downloadurls .= $this->output->heading(get_string('providedfiles', 'qtype_moopt'), 3);
$downloadurls .= html_writer::start_div('providedfiles');
if(!$isteacher) {
$o .= $this->output->heading(get_string('providedfiles', 'qtype_moopt'), 3);
}
$downloadurls .= html_writer::start_div($divclass);
$downloadurls .= '<ul>';
foreach ($files as $file) {
// skip files that are
// - not configured to be downloadable (usagebylms)
// - not visible to students
if ($file->usagebylms == 'display'
|| ($file->visibletostudents == 'no' && !$isteacher)
|| ($file->usagebylms == 'edit' && !$isteacher)) {
if ($file->usagebylms == 'display') {
continue;
}
......@@ -253,12 +271,12 @@ class qtype_moopt_renderer extends qtype_renderer {
$downloadurls .= '<li><a href="' . $url . '">' . $linkdisplay . '</a></li>';
}
$downloadurls .= '</ul>';
$downloadurls .= html_writer::end_div('providedfiles');
$downloadurls .= html_writer::end_div($divclass);
if ($anythingtodisplay) {
$o .= $downloadurls;
}
}
return $o;
}
......
......@@ -73,7 +73,7 @@ p.expandcollapselink a {
margin-left: 10px;
}
.providedfiles{
.providedfiles, .providedfilesteacher{
margin-left: 10px;
}
......@@ -90,7 +90,7 @@ p.expandcollapselink a {
100% { transform: rotate(360deg); }
}
.internaldescription, .gradingscheme {
.internaldescription, .gradingscheme, .providedfilesteacher {
background-color: #73afdc;
margin-top: 10px;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment