示例#1
0
 /**
  * There is no api involved so the best we can do is test legacy data by triggering event manually.
  */
 public function test_aggregate_grades_reset_event()
 {
     $this->resetAfterTest();
     $this->setAdminUser();
     $event = \mod_workshop\event\assessment_evaluations_reset::create(array('context' => $this->context, 'courseid' => $this->course->id, 'other' => array('workshopid' => $this->workshop->id)));
     // Trigger and capture the event.
     $sink = $this->redirectEvents();
     $event->trigger();
     $events = $sink->get_events();
     $event = reset($events);
     // Check that the legacy log data is valid.
     $expected = array($this->course->id, 'workshop', 'update clear aggregated grade', 'view.php?id=' . $this->cm->id, $this->workshop->id, $this->cm->id);
     $this->assertEventLegacyLogData($expected, $event);
     $sink->close();
 }
示例#2
0
 * @copyright  2010 David Mudrak <*****@*****.**>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
require __DIR__ . '/../../config.php';
require_once __DIR__ . '/locallib.php';
$id = required_param('id', PARAM_INT);
// course_module ID
$tool = required_param('tool', PARAM_ALPHA);
$cm = get_coursemodule_from_id('workshop', $id, 0, false, MUST_EXIST);
$course = $DB->get_record('course', array('id' => $cm->course), '*', MUST_EXIST);
$workshop = $DB->get_record('workshop', array('id' => $cm->instance), '*', MUST_EXIST);
require_login($course, false, $cm);
$workshop = new workshop($workshop, $cm, $course);
require_sesskey();
$params = array('context' => $workshop->context, 'courseid' => $course->id, 'other' => array('workshopid' => $workshop->id));
switch ($tool) {
    case 'clearaggregatedgrades':
        require_capability('mod/workshop:overridegrades', $workshop->context);
        $workshop->clear_submission_grades();
        $workshop->clear_grading_grades();
        $event = \mod_workshop\event\assessment_evaluations_reset::create($params);
        $event->trigger();
        break;
    case 'clearassessments':
        require_capability('mod/workshop:overridegrades', $workshop->context);
        $workshop->clear_assessments();
        $event = \mod_workshop\event\assessments_reset::create($params);
        $event->trigger();
        break;
}
redirect($workshop->view_url());