MDL-27521 Updates the can_finalize and can_unfinalize methods to deal with passing a submission object that isn't one (in this case is a Boolean value). This will result in both methods now returning false. Kick on effect is that it corrects the bug described in MDL-27521 by removing the button if it isn't possible to finalize the submission.

This commit is contained in:
Gerwood Stewart 2011-05-16 11:57:33 +10:00 committed by Jason Fowler
parent 38e9a1cc79
commit 2388e7ca7d

View file

@ -918,9 +918,14 @@ class assignment_upload extends assignment_base {
} }
function can_unfinalize($submission) { function can_unfinalize($submission) {
if(is_bool($submission)) {
return false;
}
if (!$this->drafts_tracked()) { if (!$this->drafts_tracked()) {
return false; return false;
} }
if (has_capability('mod/assignment:grade', $this->context) if (has_capability('mod/assignment:grade', $this->context)
and $this->isopen() and $this->isopen()
and $this->is_finalized($submission)) { and $this->is_finalized($submission)) {
@ -932,6 +937,11 @@ class assignment_upload extends assignment_base {
function can_finalize($submission) { function can_finalize($submission) {
global $USER; global $USER;
if(is_bool($submission)) {
return false;
}
if (!$this->drafts_tracked()) { if (!$this->drafts_tracked()) {
return false; return false;
} }