/** * Format the submission and feedback columns * * @param string $colname The column name * @param stdClass $row The submission row * @return mixed string or NULL */ function other_cols($colname, $row) { if (($pos = strpos($colname, 'assignsubmission_')) !== false) { $plugin = $this->assignment->get_submission_plugin_by_type(substr($colname, strlen('assignsubmission_'))); if ($plugin->is_visible() && $plugin->is_enabled()) { if ($row->submissionid) { $submission = new stdClass(); $submission->id = $row->submissionid; $submission->timecreated = $row->firstsubmission; $submission->timemodified = $row->timesubmitted; $submission->assignment = $this->assignment->get_instance()->id; $submission->userid = $row->userid; return $this->format_plugin_summary_with_link($plugin, $submission, 'grading', array()); } } return ''; } if (($pos = strpos($colname, 'feedback_')) !== false) { $plugin = $this->assignment->get_feedback_plugin_by_type(substr($colname, strlen('assignfeedback_'))); if ($plugin->is_visible() && $plugin->is_enabled()) { $grade = null; if ($row->gradeid) { $grade = new stdClass(); $grade->id = $row->gradeid; $grade->timecreated = $row->firstmarked; $grade->timemodified = $row->timemarked; $grade->assignment = $this->assignment->get_instance()->id; $grade->userid = $row->userid; $grade->grade = $row->grade; $grade->mailed = $row->mailed; } if ($this->quickgrading && $plugin->supports_quickgrading()) { return $plugin->get_quickgrading_html($row->userid, $grade); } else { if ($grade) { return $this->format_plugin_summary_with_link($plugin, $grade, 'grading', array()); } } } return ''; } return NULL; }
public function test_upgrade_offline_assignment() { global $DB; $this->setUser($this->editingteachers[0]); $generator = $this->getDataGenerator()->get_plugin_generator('mod_assignment'); $params = array('course'=>$this->course->id, 'assignmenttype'=>'offline'); $record = $generator->create_instance($params); $assignment = new assignment_base($record->cmid); $this->setAdminUser(); $log = ''; $upgrader = new assign_upgrade_manager(); $this->assertTrue($upgrader->upgrade_assignment($assignment->assignment->id, $log)); $record = $DB->get_record('assign', array('course'=>$this->course->id)); $cm = get_coursemodule_from_instance('assign', $record->id); $context = context_module::instance($cm->id); $assign = new assign($context, $cm, $this->course); $plugin = $assign->get_submission_plugin_by_type('onlinetext'); $this->assertEmpty($plugin->is_enabled()); $plugin = $assign->get_submission_plugin_by_type('comments'); $this->assertEmpty($plugin->is_enabled()); $plugin = $assign->get_submission_plugin_by_type('file'); $this->assertEmpty($plugin->is_enabled()); $plugin = $assign->get_feedback_plugin_by_type('comments'); $this->assertNotEmpty($plugin->is_enabled()); $plugin = $assign->get_feedback_plugin_by_type('file'); $this->assertEmpty($plugin->is_enabled()); $plugin = $assign->get_feedback_plugin_by_type('offline'); $this->assertEmpty($plugin->is_enabled()); course_delete_module($cm->id); }