Skip to content

Commit

Permalink
MDL-54055 gradingform_guide: Skip insertion of empty comments
Browse files Browse the repository at this point in the history
We should not be adding empty entries for the frequently-used comments.
  • Loading branch information
junpataleta committed May 11, 2016
1 parent e4b5a06 commit 5d15185
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 1 deletion.
50 changes: 50 additions & 0 deletions grade/grading/form/guide/db/upgrade.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?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/>.

/**
* This file keeps track of upgrades to the marking guide grading method.
*
* @package gradingform_guide
* @category upgrade
* @copyright 2016 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/

defined('MOODLE_INTERNAL') || die();

/**
* Marking guide grading method upgrade task.
*
* @param int $oldversion The version we are upgrading form.
* @return bool Returns true on success.
* @throws coding_exception
* @throws downgrade_exception
* @throws upgrade_exception
*/
function xmldb_gradingform_guide_upgrade($oldversion) {
global $DB;

if ($oldversion < 2016051100) {
// Clean up empty string or null marking guide comments.
$sql = $DB->sql_isempty('gradingform_guide_comments', 'description', true, true);
$sql .= " OR description IS NULL ";
$DB->delete_records_select('gradingform_guide_comments', $sql);
// Main savepoint reached.
upgrade_plugin_savepoint(true, 2016051100, 'gradingform', 'guide');
}

return true;
}
10 changes: 10 additions & 0 deletions grade/grading/form/guide/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,16 @@ public function update_or_check_guide(stdClass $newdefinition, $usermodified = n
$data = array('definitionid' => $this->definition->id, 'descriptionformat' => FORMAT_MOODLE);
foreach ($commentfields as $key) {
if (array_key_exists($key, $comment)) {
// Check if key is the comment's description.
if ($key === 'description') {
// Get a trimmed value for the comment description.
$description = trim($comment[$key]);
// Check if the comment description is empty.
if (empty($description)) {
// Continue to the next comment object if the description is empty.
continue 2;
}
}
$data[$key] = $comment[$key];
}
}
Expand Down
2 changes: 1 addition & 1 deletion grade/grading/form/guide/version.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@
defined('MOODLE_INTERNAL') || die();

$plugin->component = 'gradingform_guide';
$plugin->version = 2015111600;
$plugin->version = 2016051100;
$plugin->requires = 2015111000;
$plugin->maturity = MATURITY_STABLE;

0 comments on commit 5d15185

Please sign in to comment.