Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
moodle
moodle
Commits
a04cbf61
Commit
a04cbf61
authored
Jul 29, 2013
by
Frederic Massart
Browse files
MDL-39954 mod_assign: Replace old-style event assessable_submitted
parent
caa06f4b
Changes
3
Hide whitespace changes
Inline
Side-by-side
mod/assign/classes/event/assessable_submitted.php
0 → 100644
View file @
a04cbf61
<?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 localised description of what happened.
*
* @return \lang_string
*/
public
function
get_description
()
{
return
new
\
lang_string
(
'event_assessable_submitted_desc'
,
'mod_assign'
,
$this
->
get_data
());
}
/**
* 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
*/
protected
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.'
);
}
}
}
mod/assign/lang/en/assign.php
View file @
a04cbf61
...
...
@@ -140,6 +140,8 @@ $string['editsubmission'] = 'Edit submission';
$string
[
'editsubmission_help'
]
=
'Make changes to your submission'
;
$string
[
'editingstatus'
]
=
'Editing status'
;
$string
[
'editaction'
]
=
'Actions...'
;
$string
[
'event_assessable_submitted'
]
=
'A submission has been submitted.'
;
$string
[
'event_assessable_submitted_desc'
]
=
'User {$a->userid} has submitted the submission {$a->objectid}.'
;
$string
[
'extensionduedate'
]
=
'Extension due date'
;
$string
[
'extensionnotafterduedate'
]
=
'Extension date must be after the due date'
;
$string
[
'extensionnotafterfromdate'
]
=
'Extension date must be after the allow submissions from date'
;
...
...
mod/assign/locallib.php
View file @
a04cbf61
...
...
@@ -4509,19 +4509,21 @@ class assign {
fullname
(
$USER
));
$this
->
add_to_log
(
'submission statement accepted'
,
$logmessage
);
}
$this
->
add_to_log
(
'submit for grading'
,
$this
->
format_submission_for_log
(
$submission
));
$logdata
=
$this
->
add_to_log
(
'submit for grading'
,
$this
->
format_submission_for_log
(
$submission
)
,
''
,
true
);
$this
->
notify_graders
(
$submission
);
$this
->
notify_student_submission_receipt
(
$submission
);
// Trigger assessable_submitted event on submission.
$eventdata
=
new
stdClass
();
$eventdata
->
modulename
=
'assign'
;
$eventdata
->
cmid
=
$this
->
get_course_module
()
->
id
;
$eventdata
->
itemid
=
$submission
->
id
;
$eventdata
->
courseid
=
$this
->
get_course
()
->
id
;
$eventdata
->
userid
=
$USER
->
id
;
$eventdata
->
params
=
array
(
'submission_editable'
=>
false
);
events_trigger
(
'assessable_submitted'
,
$eventdata
);
$params
=
array
(
'context'
=>
context_module
::
instance
(
$this
->
get_course_module
()
->
id
),
'objectid'
=>
$submission
->
id
,
'other'
=>
array
(
'submission_editable'
=>
false
)
);
$event
=
\
mod_assign\event\assessable_submitted
::
create
(
$params
);
$event
->
set_legacy_logdata
(
$logdata
);
$event
->
trigger
();
}
}
return
true
;
...
...
@@ -5034,16 +5036,15 @@ class assign {
// The same logic applies here - we could not notify teachers,
// but then they would wonder why there are submitted assignments
// and they haven't been notified.
$eventdata
=
new
stdClass
();
$eventdata
->
modulename
=
'assign'
;
$eventdata
->
cmid
=
$this
->
get_course_module
()
->
id
;
$eventdata
->
itemid
=
$submission
->
id
;
$eventdata
->
courseid
=
$this
->
get_course
()
->
id
;
$eventdata
->
userid
=
$USER
->
id
;
$eventdata
->
params
=
array
(
'submission_editable'
=>
true
,
$params
=
array
(
'context'
=>
context_module
::
instance
(
$this
->
get_course_module
()
->
id
),
'objectid'
=>
$submission
->
id
,
'other'
=>
array
(
'submission_editable'
=>
true
)
);
events_trigger
(
'assessable_submitted'
,
$eventdata
);
$event
=
\
mod_assign\event\assessable_submitted
::
create
(
$params
);
$event
->
trigger
();
}
return
true
;
}
...
...
@@ -5136,16 +5137,15 @@ class assign {
$this
->
notify_student_submission_receipt
(
$submission
);
$this
->
notify_graders
(
$submission
);
// Trigger assessable_submitted event on submission.
$eventdata
=
new
stdClass
();
$eventdata
->
modulename
=
'assign'
;
$eventdata
->
cmid
=
$this
->
get_course_module
()
->
id
;
$eventdata
->
itemid
=
$submission
->
id
;
$eventdata
->
courseid
=
$this
->
get_course
()
->
id
;
$eventdata
->
userid
=
$USER
->
id
;
$eventdata
->
params
=
array
(
'submission_editable'
=>
true
,
$params
=
array
(
'context'
=>
context_module
::
instance
(
$this
->
get_course_module
()
->
id
),
'objectid'
=>
$submission
->
id
,
'other'
=>
array
(
'submission_editable'
=>
true
)
);
events_trigger
(
'assessable_submitted'
,
$eventdata
);
$event
=
\
mod_assign\event\assessable_submitted
::
create
(
$params
);
$event
->
trigger
();
}
return
true
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment