forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'MDL-39954-master' of git://github.com/FMCorz/moodle
- Loading branch information
Showing
28 changed files
with
1,521 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* Abstract assessable submitted event. | ||
* | ||
* @package core | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace core\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* Abstract assessable submitted event class. | ||
* | ||
* This class has to be extended by any event which represent that some content, | ||
* on which someone will be assessed, has been submitted and so made available | ||
* for grading. See {@link \core\event\assessable_uploaded} for when the content | ||
* has just been uploaded. | ||
* | ||
* Both events could be triggered in a row, first the uploaded, then the submitted. | ||
* | ||
* @package core | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
abstract class assessable_submitted extends \core\event\base { | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
$this->data['crud'] = 'u'; | ||
$this->data['level'] = 50; // TODO MDL-37658. | ||
} | ||
|
||
/** | ||
* Custom validation. | ||
* | ||
* @throws coding_exception on error. | ||
* @return void | ||
*/ | ||
protected function validate_data() { | ||
if (!$this->context->contextlevel === CONTEXT_MODULE) { | ||
throw new coding_exception('Content level must be CONTEXT_MODULE.'); | ||
} | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* Abstract assessable uploaded event. | ||
* | ||
* @package core | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace core\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* Abstract assessable uploaded event class. | ||
* | ||
* This class has to be extended by any event which represent that some content, | ||
* on which someone will be assessed, has been uploaded. This is different | ||
* than other events such as assessable_submitted, which means that the content | ||
* has been submitted and made available for grading. | ||
* | ||
* Both events could be triggered in a row, first the uploaded, then the submitted. | ||
* | ||
* @package core | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
abstract class assessable_uploaded extends \core\event\base { | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
$this->data['crud'] = 'c'; | ||
$this->data['level'] = 50; // TODO MDL-37658. | ||
} | ||
|
||
/** | ||
* Validation that should be shared among child classes. | ||
* | ||
* @throws coding_exception when validation fails. | ||
* @return void | ||
*/ | ||
protected function validate_data() { | ||
if (!$this->context->contextlevel === CONTEXT_MODULE) { | ||
throw new coding_exception('Content level must be CONTEXT_MODULE.'); | ||
} else if (!isset($this->other['pathnamehashes']) || !is_array($this->other['pathnamehashes'])) { | ||
throw new coding_exception('pathnamehashes must be set in $other and must be an array.'); | ||
} else if (!isset($this->other['content']) || !is_string($this->other['content'])) { | ||
throw new coding_exception('content must be set in $other and must be a string.'); | ||
} | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* mod_assign assessable submitted event. | ||
* | ||
* @package mod_assign | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
namespace mod_assign\event; | ||
|
||
defined('MOODLE_INTERNAL') || die(); | ||
|
||
/** | ||
* mod_assign assessable submitted event class. | ||
* | ||
* @package mod_assign | ||
* @copyright 2013 Frédéric Massart | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
class assessable_submitted extends \core\event\assessable_submitted { | ||
|
||
/** | ||
* Legacy log data. | ||
* | ||
* @var array | ||
*/ | ||
protected $legacylogdata; | ||
|
||
/** | ||
* Returns description of what happened. | ||
* | ||
* @return string | ||
*/ | ||
public function get_description() { | ||
return "User {$this->userid} has submitted the submission {$this->objectid}."; | ||
} | ||
|
||
/** | ||
* Legacy event data if get_legacy_eventname() is not empty. | ||
* | ||
* @return stdClass | ||
*/ | ||
protected function get_legacy_eventdata() { | ||
$eventdata = new \stdClass(); | ||
$eventdata->modulename = 'assign'; | ||
$eventdata->cmid = $this->context->instanceid; | ||
$eventdata->itemid = $this->objectid; | ||
$eventdata->courseid = $this->courseid; | ||
$eventdata->userid = $this->userid; | ||
$eventdata->params = array('submission_editable' => $this->other['submission_editable']); | ||
return $eventdata; | ||
} | ||
|
||
/** | ||
* Return the legacy event name. | ||
* | ||
* @return string | ||
*/ | ||
public static function get_legacy_eventname() { | ||
return 'assessable_submitted'; | ||
} | ||
|
||
/** | ||
* Return legacy data for add_to_log(). | ||
* | ||
* @return array | ||
*/ | ||
public function get_legacy_logdata() { | ||
return $this->legacylogdata; | ||
} | ||
|
||
/** | ||
* Return localised event name. | ||
* | ||
* @return \lang_string | ||
*/ | ||
public static function get_name() { | ||
return new \lang_string('event_assessable_submitted', 'mod_assign'); | ||
} | ||
|
||
/** | ||
* Get URL related to the action | ||
* | ||
* @return \moodle_url | ||
*/ | ||
public function get_url() { | ||
return new \moodle_url('/mod/assign/view.php', array('id' => $this->context->instanceid)); | ||
} | ||
|
||
/** | ||
* Sets the legacy event log data. | ||
* | ||
* @param stdClass $legacylogdata legacy log data. | ||
* @return void | ||
*/ | ||
public function set_legacy_logdata($legacylogdata) { | ||
$this->legacylogdata = $legacylogdata; | ||
} | ||
|
||
/** | ||
* Init method. | ||
* | ||
* @return void | ||
*/ | ||
protected function init() { | ||
parent::init(); | ||
$this->data['objecttable'] = 'assign_submission'; | ||
} | ||
|
||
/** | ||
* Custom validation. | ||
* | ||
* @throws coding_exception | ||
* @return void | ||
*/ | ||
protected function validate_data() { | ||
parent::validate_data(); | ||
if (!isset($this->other['submission_editable'])) { | ||
throw new coding_exception('Other must contain the key submission_editable.'); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.