MDL-64881 mod_workshop: add task to run allocation plugin cron
authorSimey Lameze <simey@moodle.com>
Thu, 7 Mar 2019 03:06:30 +0000 (11:06 +0800)
committerSimey Lameze <simey@moodle.com>
Thu, 7 Mar 2019 03:33:15 +0000 (11:33 +0800)
mod/workshop/classes/task/legacy_workshop_allocation_cron.php [new file with mode: 0644]
mod/workshop/db/tasks.php
mod/workshop/lang/en/workshop.php
mod/workshop/upgrade.txt

diff --git a/mod/workshop/classes/task/legacy_workshop_allocation_cron.php b/mod/workshop/classes/task/legacy_workshop_allocation_cron.php
new file mode 100644 (file)
index 0000000..bb74f6d
--- /dev/null
@@ -0,0 +1,47 @@
+<?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/>.
+
+/**
+ * Legacy workshop allocation plugins cron.
+ *
+ * @package     mod_workshop
+ * @copyright   2018 Simey Lameze <simey@moodle.com>
+ * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+namespace mod_workshop\task;
+
+defined('MOODLE_INTERNAL') || die();
+
+/**
+ * Legacy workshop allocation plugins cron.
+ *
+ * @package     mod_workshop
+ * @copyright   2018 Simey Lameze <simey@moodle.com>
+ * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+class legacy_workshop_allocation_cron extends \core\task\scheduled_task {
+
+    public function get_name() {
+        return get_string('legacyallocationplugincron', 'mod_workshop');
+    }
+
+    /**
+     * Execute all workshop allocation methods plugins cron tasks.
+     */
+    public function execute() {
+        cron_execute_plugin_type('workshopallocation', 'workshop allocation methods');
+    }
+}
index 9af7246..3530b9c 100644 (file)
@@ -33,5 +33,14 @@ $tasks = [
         'day' => '*',
         'month' => '*',
         'dayofweek' => '*'
+    ],
+    [
+        'classname' => '\mod_workshop\task\legacy_workshop_allocation_cron',
+        'blocking' => 0,
+        'minute' => '*',
+        'hour' => '*',
+        'day' => '*',
+        'month' => '*',
+        'dayofweek' => '*'
     ]
 ];
index 4151e82..1db7f8d 100644 (file)
@@ -189,6 +189,7 @@ $string['latesubmissions'] = 'Late submissions';
 $string['latesubmissions_desc'] = 'Allow submissions after the deadline';
 $string['latesubmissions_help'] = 'If enabled, an author may submit their work after the submissions deadline or during the assessment phase. Late submissions cannot be edited though.';
 $string['latesubmissionsallowed'] = 'Late submissions are allowed';
+$string['legacyallocationplugincron'] = 'Legacy cron workshop allocation';
 $string['maxbytes'] = 'Maximum submission attachment size';
 $string['modulename'] = 'Workshop';
 $string['modulename_help'] = 'The workshop activity module enables the collection, review and peer assessment of students\' work.
index 8ccc0e6..06bd0e4 100644 (file)
@@ -1,6 +1,10 @@
 This files describes API changes in /mod/workshop - activity modules,
 information provided here is intended especially for developers.
 
+=== 3.7 ===
+
+* workshop_cron() has been removed. Sub-plugins should now implement scheduled tasks.
+
 === 3.6 ===
 
 * The external function get_workshops_by_courses now returns 2 additional fields: submissiontypetext and