Merge branch 'MDL-58227-master' of git://github.com/jleyva/moodle
authorDan Poltawski <dan@moodle.com>
Tue, 28 Mar 2017 15:02:07 +0000 (16:02 +0100)
committerDan Poltawski <dan@moodle.com>
Tue, 28 Mar 2017 15:02:07 +0000 (16:02 +0100)
1  2 
mod/feedback/classes/completion.php
mod/feedback/db/upgrade.php
mod/feedback/version.php

Simple merge
@@@ -149,5 -149,31 +149,30 @@@ function xmldb_feedback_upgrade($oldver
      // Automatically generated Moodle v3.2.0 release upgrade line.
      // Put any upgrade step following this.
  
 -    if ($oldversion < 2017031600) {
++    if ($oldversion < 2017032800) {
+         // Delete duplicated records in feedback_completed. We just keep the last record of completion.
+         // Related values in feedback_value won't be deleted (they won't be used and can be kept there as a backup).
+         $sql = "SELECT MAX(id) as maxid, userid, feedback, courseid
+                   FROM {feedback_completed}
+                  WHERE userid <> 0
+               GROUP BY userid, feedback, courseid
+                 HAVING COUNT(id) > 1";
 -        if ($duplicatedrows = $DB->get_recordset_sql($sql)) {
 -            foreach ($duplicatedrows as $row) {
 -                $DB->delete_records_select('feedback_completed', 'userid = ? AND feedback = ? AND courseid = ? AND id <> ?', array(
 -                    $row->userid,
 -                    $row->feedback,
 -                    $row->courseid,
 -                    $row->maxid,
 -                ));
 -            }
++        $duplicatedrows = $DB->get_recordset_sql($sql);
++        foreach ($duplicatedrows as $row) {
++            $DB->delete_records_select('feedback_completed', 'userid = ? AND feedback = ? AND courseid = ? AND id <> ?', array(
++                $row->userid,
++                $row->feedback,
++                $row->courseid,
++                $row->maxid,
++            ));
+         }
+         $duplicatedrows->close();
+         // Feedback savepoint reached.
 -        upgrade_mod_savepoint(true, 2017031600, 'feedback');
++        upgrade_mod_savepoint(true, 2017032800, 'feedback');
+     }
      return true;
  }
@@@ -24,7 -24,7 +24,7 @@@
  
  defined('MOODLE_INTERNAL') || die();
  
- $plugin->version   = 2016120510;       // The current module version (Date: YYYYMMDDXX)
 -$plugin->version   = 2017031600;       // The current module version (Date: YYYYMMDDXX)
++$plugin->version   = 2017032800;       // The current module version (Date: YYYYMMDDXX)
  $plugin->requires  = 2016112900;    // Requires this Moodle version
  $plugin->component = 'mod_feedback';   // Full name of the plugin (used for diagnostics)
  $plugin->cron      = 0;