Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

MDL-39412 question behaviours: hide manual graded option

The ability to set all your quiz questions to require manual grading is
an interesting possibility, but practically almost useless.

If you set that accidentally, then you are badly stuck. There is no way
to fix it after the students have answered the quiz.

Therefore, we should set the config option to hide that option from the
UI. We do this for all Moodle sites as part of the upgrade, not just for
new installs.

If any admin wants to re-enable this, they can later.
commit 617947c0b7e72e8bfe805cdb699d92376db120a9 1 parent e038687
Tim Hunt timhunt authored
49 question/behaviour/manualgraded/db/install.php
... ... @@ -0,0 +1,49 @@
  1 +<?php
  2 +// This file is part of Moodle - http://moodle.org/
  3 +//
  4 +// Moodle is free software: you can redistribute it and/or modify
  5 +// it under the terms of the GNU General Public License as published by
  6 +// the Free Software Foundation, either version 3 of the License, or
  7 +// (at your option) any later version.
  8 +//
  9 +// Moodle is distributed in the hope that it will be useful,
  10 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12 +// GNU General Public License for more details.
  13 +//
  14 +// You should have received a copy of the GNU General Public License
  15 +// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
  16 +
  17 +/**
  18 + * Post-install script for manual graded question behaviour.
  19 + * @package qbehaviour_manualgraded
  20 + * @copyright 2013 The Open Universtiy
  21 + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  22 + */
  23 +
  24 +
  25 +defined('MOODLE_INTERNAL') || die();
  26 +
  27 +
  28 +/**
  29 + * Post-install script
  30 + */
  31 +function xmldb_qbehaviour_manualgraded_install() {
  32 +
  33 + // Hide the manualgraded behaviour from the list of behaviours that users
  34 + // can select in the user-interface. If a user accidentally chooses manual
  35 + // graded behaviour for a quiz, there is no way to get the questions automatically
  36 + // graded after the student has answered them. If teachers really want to do
  37 + // this they can ask their admin to enable it on the manage behaviours
  38 + // screen in the UI.
  39 + $disabledbehaviours = get_config('question', 'disabledbehaviours');
  40 + if (!empty($disabledbehaviours)) {
  41 + $disabledbehaviours = explode(',', $disabledbehaviours);
  42 + } else {
  43 + $disabledbehaviours = array();
  44 + }
  45 + if (array_search('manualgraded', $disabledbehaviours) === false) {
  46 + $disabledbehaviours[] = 'manualgraded';
  47 + set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
  48 + }
  49 +}
64 question/behaviour/manualgraded/db/upgrade.php
... ... @@ -0,0 +1,64 @@
  1 +<?php
  2 +// This file is part of Moodle - http://moodle.org/
  3 +//
  4 +// Moodle is free software: you can redistribute it and/or modify
  5 +// it under the terms of the GNU General Public License as published by
  6 +// the Free Software Foundation, either version 3 of the License, or
  7 +// (at your option) any later version.
  8 +//
  9 +// Moodle is distributed in the hope that it will be useful,
  10 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12 +// GNU General Public License for more details.
  13 +//
  14 +// You should have received a copy of the GNU General Public License
  15 +// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
  16 +
  17 +/**
  18 + * Post-install script for the manual graded question behaviour.
  19 + *
  20 + * @package qbehaviour_manualgraded
  21 + * @copyright 2013 The Open Universtiy
  22 + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  23 + */
  24 +
  25 +
  26 +defined('MOODLE_INTERNAL') || die();
  27 +
  28 +
  29 +/**
  30 + * Manual graded question behaviour upgrade code.
  31 + */
  32 +function xmldb_qbehaviour_manualgraded_upgrade($oldversion) {
  33 + global $DB;
  34 +
  35 + $dbman = $DB->get_manager();
  36 +
  37 + // Moodle v2.4.0 release upgrade line
  38 + // Put any upgrade step following this
  39 +
  40 + if ($oldversion < 2012112901) {
  41 + // Hide the manualgraded behaviour from the list of behaviours that users
  42 + // can select in the user-interface. If a user accidentally chooses manual
  43 + // graded behaviour for a quiz, there is no way to get the questions automatically
  44 + // graded after the student has answered them. If teachers really want to do
  45 + // this they can ask their admin to enable it on the manage behaviours
  46 + // screen in the UI.
  47 + $disabledbehaviours = get_config('question', 'disabledbehaviours');
  48 + if (!empty($disabledbehaviours)) {
  49 + $disabledbehaviours = explode(',', $disabledbehaviours);
  50 + } else {
  51 + $disabledbehaviours = array();
  52 + }
  53 + if (array_search('manualgraded', $disabledbehaviours) === false) {
  54 + $disabledbehaviours[] = 'manualgraded';
  55 + set_config('disabledbehaviours', implode(',', $disabledbehaviours), 'question');
  56 + }
  57 +
  58 + // Manual graded question behaviour savepoint reached.
  59 + upgrade_plugin_savepoint(true, 2012112901, 'qbehaviour', 'manualgraded');
  60 + }
  61 +
  62 + return true;
  63 +}
  64 +
2  question/behaviour/manualgraded/version.php
@@ -26,7 +26,7 @@
26 26 defined('MOODLE_INTERNAL') || die();
27 27
28 28 $plugin->component = 'qbehaviour_manualgraded';
29   -$plugin->version = 2012112900;
  29 +$plugin->version = 2012112901;
30 30
31 31 $plugin->requires = 2012112900;
32 32

0 comments on commit 617947c

Please sign in to comment.
Something went wrong with that request. Please try again.