Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 5
CRAP
0.00% covered (danger)
0.00%
0 / 1
mark_recorded
0.00% covered (danger)
0.00%
0 / 12
0.00% covered (danger)
0.00%
0 / 5
56
0.00% covered (danger)
0.00%
0 / 1
 init
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 get_name
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 get_description
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 get_url
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 validate_data
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2// This file is part of Moodle - https://moodle.org/
3//
4// Moodle is free software: you can redistribute it and/or modify
5// it under the terms of the GNU General Public License as published by
6// the Free Software Foundation, either version 3 of the License, or
7// (at your option) any later version.
8//
9// Moodle is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12// GNU General Public License for more details.
13//
14// You should have received a copy of the GNU General Public License
15// along with Moodle.  If not, see <https://www.gnu.org/licenses/>.
16
17namespace local_doublemark\event;
18
19/**
20 * A marker recorded or changed their mark for a student.
21 *
22 * @package    local_doublemark
23 * @copyright  2026 DevLMS <contact@devlms.com>
24 * @license    https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 */
26class mark_recorded extends \core\event\base {
27    /**
28     * Set basic properties.
29     */
30    protected function init() {
31        $this->data['crud'] = 'u';
32        $this->data['edulevel'] = self::LEVEL_TEACHING;
33    }
34
35    /**
36     * Event name.
37     *
38     * @return string
39     */
40    public static function get_name() {
41        return get_string('event:markrecorded', 'local_doublemark');
42    }
43
44    /**
45     * Description for the logs.
46     *
47     * @return string
48     */
49    public function get_description() {
50        return "The user with id '{$this->userid}' recorded mark {$this->other['position']}"
51            . " for the user with id '{$this->relateduserid}'"
52            . " in the assignment with course module id '{$this->contextinstanceid}'.";
53    }
54
55    /**
56     * Link to the double marking page of the assignment.
57     *
58     * @return \moodle_url
59     */
60    public function get_url() {
61        return new \moodle_url('/local/doublemark/manage.php', ['cmid' => $this->contextinstanceid]);
62    }
63
64    /**
65     * Check the data.
66     */
67    protected function validate_data() {
68        parent::validate_data();
69        if (!isset($this->relateduserid)) {
70            throw new \coding_exception('The relateduserid must be set.');
71        }
72        if (!isset($this->other['position'])) {
73            throw new \coding_exception('The position value must be set in other.');
74        }
75    }
76}