Merge branch 'wip-MDL-58523-master' of git://github.com/marinaglancy/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2017-06-13 11:19:48 +02:00 committed by Dan Poltawski
commit 736973d604
2 changed files with 14 additions and 11 deletions

View File

@ -561,7 +561,8 @@ class mod_feedback_completion extends mod_feedback_structure {
// Update completion state.
$completion = new completion_info($this->cm->get_course());
if (isloggedin() && !isguestuser() && $completion->is_enabled($this->cm) && $this->feedback->completionsubmit) {
if (isloggedin() && !isguestuser() && $completion->is_enabled($this->cm) &&
$this->cm->completion == COMPLETION_TRACKING_AUTOMATIC && $this->feedback->completionsubmit) {
$completion->update_state($this->cm, COMPLETION_COMPLETE);
}
}

View File

@ -1372,11 +1372,12 @@ function feedback_items_from_template($feedback, $templateid, $deleteold = false
if ($completeds = $DB->get_records('feedback_completed', $params)) {
$completion = new completion_info($course);
foreach ($completeds as $completed) {
$DB->delete_records('feedback_completed', array('id' => $completed->id));
// Update completion state
if ($completion->is_enabled($cm) && $feedback->completionsubmit) {
if ($completion->is_enabled($cm) && $cm->completion == COMPLETION_TRACKING_AUTOMATIC &&
$feedback->completionsubmit) {
$completion->update_state($cm, COMPLETION_INCOMPLETE, $completed->userid);
}
$DB->delete_records('feedback_completed', array('id'=>$completed->id));
}
}
$DB->delete_records('feedback_completedtmp', array('feedback'=>$feedback->id));
@ -1730,11 +1731,12 @@ function feedback_delete_all_items($feedbackid) {
if ($completeds = $DB->get_records('feedback_completed', array('feedback'=>$feedback->id))) {
$completion = new completion_info($course);
foreach ($completeds as $completed) {
$DB->delete_records('feedback_completed', array('id' => $completed->id));
// Update completion state
if ($completion->is_enabled($cm) && $feedback->completionsubmit) {
if ($completion->is_enabled($cm) && $cm->completion == COMPLETION_TRACKING_AUTOMATIC &&
$feedback->completionsubmit) {
$completion->update_state($cm, COMPLETION_INCOMPLETE, $completed->userid);
}
$DB->delete_records('feedback_completed', array('id'=>$completed->id));
}
}
@ -2759,14 +2761,14 @@ function feedback_delete_completed($completed, $feedback = null, $cm = null, $co
//first we delete all related values
$DB->delete_records('feedback_value', array('completed' => $completed->id));
// Update completion state
$completion = new completion_info($course);
if ($completion->is_enabled($cm) && $feedback->completionsubmit) {
$completion->update_state($cm, COMPLETION_INCOMPLETE, $completed->userid);
}
// Last we delete the completed-record.
// Delete the completed record.
$return = $DB->delete_records('feedback_completed', array('id' => $completed->id));
// Update completion state
$completion = new completion_info($course);
if ($completion->is_enabled($cm) && $cm->completion == COMPLETION_TRACKING_AUTOMATIC && $feedback->completionsubmit) {
$completion->update_state($cm, COMPLETION_INCOMPLETE, $completed->userid);
}
// Trigger event for the delete action we performed.
$event = \mod_feedback\event\response_deleted::create_from_record($completed, $cm, $feedback);
$event->trigger();