From 9ae9bb8473d0d71810427b28640a3d3c432c10b2 Mon Sep 17 00:00:00 2001 From: Tobias Reischmann <tobias.reischmann@wi.uni-muenster.de> Date: Mon, 26 Mar 2018 15:57:29 +0200 Subject: [PATCH] Rebranded from cleanupcourses to lifecycle --- README.md | 12 +- activeprocesses.php | 14 +- adminlib.php | 110 +++++++-------- adminsettings.php | 4 +- classes/entity/process.php | 8 +- classes/entity/step_subplugin.php | 4 +- classes/entity/subplugin.php | 4 +- classes/entity/trigger_subplugin.php | 4 +- classes/entity/workflow.php | 6 +- classes/form/form_step_instance.php | 22 +-- classes/form/form_trigger_instance.php | 22 +-- classes/form/form_workflow_instance.php | 14 +- classes/local/data/manual_trigger_tool.php | 4 +- classes/manager/backup_manager.php | 22 +-- classes/manager/delayed_courses_manager.php | 14 +- classes/manager/interaction_manager.php | 20 +-- classes/manager/lib_manager.php | 22 +-- classes/manager/process_data_manager.php | 18 +-- classes/manager/process_manager.php | 32 ++--- classes/manager/settings_manager.php | 14 +- classes/manager/step_manager.php | 36 ++--- classes/manager/subplugin_manager.php | 6 +- classes/manager/trigger_manager.php | 32 ++--- classes/manager/workflow_manager.php | 34 ++--- ...eanupcoursesstep.php => lifecyclestep.php} | 12 +- ...oursestrigger.php => lifecycletrigger.php} | 16 +-- .../{cleanup_processor.php => processor.php} | 34 ++--- .../response/step_interactive_response.php | 4 +- classes/response/step_response.php | 4 +- classes/response/trigger_response.php | 8 +- .../active_automatic_workflows_table.php | 26 ++-- .../table/active_manual_workflows_table.php | 24 ++-- classes/table/active_processes_table.php | 10 +- classes/table/course_backups_table.php | 14 +- classes/table/interaction_attention_table.php | 20 +-- classes/table/interaction_remaining_table.php | 14 +- classes/table/interaction_table.php | 16 +-- classes/table/step_table.php | 36 ++--- classes/table/workflow_definition_table.php | 36 ++--- classes/table/workflow_table.php | 18 +-- ...process_cleanup.php => lifecycle_task.php} | 20 +-- classes/view_controller.php | 48 +++---- codecov.yml | 2 +- coursebackups.php | 14 +- db/access.php | 6 +- db/install.php | 6 +- db/install.xml | 30 ++--- db/subplugins.php | 6 +- db/tasks.php | 6 +- db/upgrade.php | 126 +++++++++--------- ..._cleanupcourses.php => tool_lifecycle.php} | 26 ++-- lib.php | 2 +- renderer.php | 6 +- restore.php | 4 +- settings.php | 34 ++--- ...kup.php => lifecyclestep_createbackup.php} | 2 +- step/createbackup/lib.php | 8 +- step/createbackup/version.php | 6 +- ...rse.php => lifecyclestep_deletecourse.php} | 2 +- step/deletecourse/lib.php | 6 +- step/deletecourse/version.php | 6 +- ...step_dummy.php => lifecyclestep_dummy.php} | 2 +- step/dummy/lib.php | 6 +- step/dummy/version.php | 6 +- step/duplicate/classes/form_duplicate.php | 10 +- step/duplicate/interactionlib.php | 26 ++-- ...licate.php => lifecyclestep_duplicate.php} | 2 +- step/duplicate/lib.php | 14 +- step/duplicate/version.php | 6 +- step/email/db/access.php | 6 +- step/email/db/install.xml | 4 +- step/email/interactionlib.php | 24 ++-- ...step_email.php => lifecyclestep_email.php} | 2 +- step/email/lib.php | 34 ++--- step/email/version.php | 6 +- step/interactionlib.php | 10 +- step/lib.php | 10 +- styles.css | 4 +- tests/active_workflow_is_manual_test.php | 12 +- .../active_workflow_sortindex_updown_test.php | 12 +- tests/backup_manager_test.php | 12 +- tests/behat/activate_workflow.feature | 32 ++--- tests/behat/add_workflow.feature | 18 +-- ...upcourses.php => behat_tool_lifecycle.php} | 18 +-- tests/behat/interaction.feature | 42 +++--- tests/behat/interaction_forms.feature | 58 ++++---- tests/behat/manual_trigger.feature | 34 ++--- tests/generator/lib.php | 24 ++-- tests/manual_trigger_tools_test.php | 16 +-- tests/manually_triggered_process_test.php | 18 +-- .../persistence/persist_process_data_test.php | 14 +- tests/persistence/persist_process_test.php | 10 +- tests/persistence/persist_step_test.php | 12 +- tests/persistence/persist_workflow_test.php | 10 +- tests/phpunit.xml | 2 +- tests/process_status_message_test.php | 26 ++-- tests/settings_manager_test.php | 16 +-- trigger/delayedcourses/db/install.php | 8 +- ...hp => lifecycletrigger_delayedcourses.php} | 2 +- trigger/delayedcourses/lib.php | 12 +- .../delayedcourses/tests/generator/lib.php | 14 +- trigger/delayedcourses/tests/trigger_test.php | 14 +- trigger/delayedcourses/version.php | 6 +- ...r_dummy.php => lifecycletrigger_dummy.php} | 2 +- trigger/dummy/lib.php | 8 +- trigger/dummy/version.php | 6 +- trigger/lib.php | 16 +-- ...manual.php => lifecycletrigger_manual.php} | 2 +- trigger/manual/lib.php | 14 +- trigger/manual/version.php | 6 +- trigger/sitecourse/db/install.php | 8 +- ...se.php => lifecycletrigger_sitecourse.php} | 4 +- trigger/sitecourse/lib.php | 10 +- trigger/sitecourse/tests/generator/lib.php | 14 +- trigger/sitecourse/tests/trigger_test.php | 12 +- trigger/sitecourse/version.php | 6 +- ...hp => lifecycletrigger_startdatedelay.php} | 4 +- trigger/startdatedelay/lib.php | 12 +- .../startdatedelay/tests/generator/lib.php | 16 +-- trigger/startdatedelay/tests/trigger_test.php | 12 +- trigger/startdatedelay/version.php | 6 +- version.php | 5 +- view.php | 18 +-- workflowsettings.php | 10 +- 124 files changed, 973 insertions(+), 968 deletions(-) rename classes/plugininfo/{cleanupcoursesstep.php => lifecyclestep.php} (85%) rename classes/plugininfo/{cleanupcoursestrigger.php => lifecycletrigger.php} (86%) rename classes/{cleanup_processor.php => processor.php} (86%) rename classes/task/{process_cleanup.php => lifecycle_task.php} (72%) rename lang/en/{tool_cleanupcourses.php => tool_lifecycle.php} (85%) rename step/createbackup/lang/en/{cleanupcoursesstep_createbackup.php => lifecyclestep_createbackup.php} (96%) rename step/deletecourse/lang/en/{cleanupcoursesstep_deletecourse.php => lifecyclestep_deletecourse.php} (96%) rename step/dummy/lang/en/{cleanupcoursesstep_dummy.php => lifecyclestep_dummy.php} (96%) rename step/duplicate/lang/en/{cleanupcoursesstep_duplicate.php => lifecyclestep_duplicate.php} (96%) rename step/email/lang/en/{cleanupcoursesstep_email.php => lifecyclestep_email.php} (97%) rename tests/behat/{behat_tool_cleanupcourses.php => behat_tool_lifecycle.php} (94%) rename trigger/delayedcourses/lang/en/{cleanupcoursestrigger_delayedcourses.php => lifecycletrigger_delayedcourses.php} (96%) rename trigger/dummy/lang/en/{cleanupcoursestrigger_dummy.php => lifecycletrigger_dummy.php} (95%) rename trigger/manual/lang/en/{cleanupcoursestrigger_manual.php => lifecycletrigger_manual.php} (96%) rename trigger/sitecourse/lang/en/{cleanupcoursestrigger_sitecourse.php => lifecycletrigger_sitecourse.php} (95%) rename trigger/startdatedelay/lang/en/{cleanupcoursestrigger_startdatedelay.php => lifecycletrigger_startdatedelay.php} (89%) diff --git a/README.md b/README.md index 2a87aa7..b0a9b74 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,12 @@ -# moodle-tool_cleanupcourses +# Course Life Cycle (moodle-tool_lifecycle) [WIP] This module is currently in development. -The goal is to create a modular plugin, which allows the deprovision of moodle courses. -Deprovision therefore means the cleanup and deletion of courses after they are no longer used. +The goal is to create a modular plugin, which allows the to execute recurring tasks within moodle associated with courses. +Possible use cases are (not limited to): + - Deleting courses at end of life (including asking teachers for permission). + - Doing a rollover at the end of a semester. + - Automatically setting an end date for courses. + To be adaptable to the needs of different institutions the plugin will provide multiple subplugin types. Those can be adjusted to the needs of your institution. -For more information please have a look at the [wiki](https://github.com/learnweb/moodle-tool_cleanupcourses/wiki). +For more information please have a look at the [wiki](https://github.com/learnweb/moodle-tool_lifecycle/wiki). diff --git a/activeprocesses.php b/activeprocesses.php index 65d776f..c2a227a 100644 --- a/activeprocesses.php +++ b/activeprocesses.php @@ -17,7 +17,7 @@ /** * Display the list of active processes * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -28,16 +28,16 @@ $PAGE->set_context(context_system::instance()); require_login(null, false); require_capability('moodle/site:config', context_system::instance()); -admin_externalpage_setup('tool_cleanupcourses_activeprocesses'); +admin_externalpage_setup('tool_lifecycle_activeprocesses'); -$PAGE->set_url(new \moodle_url('/admin/tool/cleanupcourses/activeprocesses.php')); +$PAGE->set_url(new \moodle_url('/admin/tool/lifecycle/activeprocesses.php')); -$table = new tool_cleanupcourses\table\active_processes_table('tool_cleanupcourses_active_processes'); +$table = new tool_lifecycle\table\active_processes_table('tool_lifecycle_active_processes'); -$PAGE->set_title(get_string('active_processes_list_header', 'tool_cleanupcourses')); -$PAGE->set_heading(get_string('active_processes_list_header', 'tool_cleanupcourses')); +$PAGE->set_title(get_string('active_processes_list_header', 'tool_lifecycle')); +$PAGE->set_heading(get_string('active_processes_list_header', 'tool_lifecycle')); -$renderer = $PAGE->get_renderer('tool_cleanupcourses'); +$renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); diff --git a/adminlib.php b/adminlib.php index 1258127..234649d 100644 --- a/adminlib.php +++ b/adminlib.php @@ -14,22 +14,22 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses; - -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\form\form_workflow_instance; -use tool_cleanupcourses\form\form_step_instance; -use tool_cleanupcourses\form\form_trigger_instance; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\table\active_manual_workflows_table; -use tool_cleanupcourses\table\workflow_definition_table; -use tool_cleanupcourses\table\active_automatic_workflows_table; -use tool_cleanupcourses\table\step_table; +namespace tool_lifecycle; + +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\form\form_workflow_instance; +use tool_lifecycle\form\form_step_instance; +use tool_lifecycle\form\form_trigger_instance; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\table\active_manual_workflows_table; +use tool_lifecycle\table\workflow_definition_table; +use tool_lifecycle\table\active_automatic_workflows_table; +use tool_lifecycle\table\step_table; defined('MOODLE_INTERNAL') || die; @@ -37,9 +37,9 @@ require_once($CFG->libdir . '/adminlib.php'); require_once(__DIR__ . '/lib.php'); /** - * External Page for showing active cleanup processes + * External Page for showing active lifecycle processes * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -51,9 +51,9 @@ class admin_page_active_processes extends \admin_externalpage { * */ public function __construct() { - $url = new \moodle_url('/admin/tool/cleanupcourses/activeprocesses.php'); - parent::__construct('tool_cleanupcourses_activeprocesses', - get_string('active_processes_list_header', 'tool_cleanupcourses'), + $url = new \moodle_url('/admin/tool/lifecycle/activeprocesses.php'); + parent::__construct('tool_lifecycle_activeprocesses', + get_string('active_processes_list_header', 'tool_lifecycle'), $url); } } @@ -61,7 +61,7 @@ class admin_page_active_processes extends \admin_externalpage { /** * External Page for showing course backups * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -73,9 +73,9 @@ class admin_page_course_backups extends \admin_externalpage { * */ public function __construct() { - $url = new \moodle_url('/admin/tool/cleanupcourses/coursebackups.php'); - parent::__construct('tool_cleanupcourses_coursebackups', - get_string('course_backups_list_header', 'tool_cleanupcourses'), + $url = new \moodle_url('/admin/tool/lifecycle/coursebackups.php'); + parent::__construct('tool_lifecycle_coursebackups', + get_string('course_backups_list_header', 'tool_lifecycle'), $url); } } @@ -83,7 +83,7 @@ class admin_page_course_backups extends \admin_externalpage { /** * External Page for defining settings for subplugins * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -95,9 +95,9 @@ class admin_page_sublugins extends \admin_externalpage { * */ public function __construct() { - $url = new \moodle_url('/admin/tool/cleanupcourses/adminsettings.php'); - parent::__construct('tool_cleanupcourses_adminsettings', - get_string('adminsettings_heading', 'tool_cleanupcourses'), + $url = new \moodle_url('/admin/tool/lifecycle/adminsettings.php'); + parent::__construct('tool_lifecycle_adminsettings', + get_string('adminsettings_heading', 'tool_lifecycle'), $url); } } @@ -105,7 +105,7 @@ class admin_page_sublugins extends \admin_externalpage { /** * Class that handles the display and configuration the settings. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2015 Tobias Reischmann * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -119,7 +119,7 @@ class admin_settings { */ public function __construct() { global $PAGE; - $this->pageurl = new \moodle_url('/admin/tool/cleanupcourses/adminsettings.php'); + $this->pageurl = new \moodle_url('/admin/tool/lifecycle/adminsettings.php'); $PAGE->set_url($this->pageurl); } @@ -132,28 +132,28 @@ class admin_settings { // Set up the table. $this->view_header(); - echo $OUTPUT->heading(get_string('active_automatic_workflows_heading', 'tool_cleanupcourses')); + echo $OUTPUT->heading(get_string('active_automatic_workflows_heading', 'tool_lifecycle')); - $table = new active_automatic_workflows_table('tool_cleanupcourses_active_automatic_workflows'); - echo $OUTPUT->box_start("cleanupcourses-enable-overflow cleanupcourses-table"); + $table = new active_automatic_workflows_table('tool_lifecycle_active_automatic_workflows'); + echo $OUTPUT->box_start("lifecycle-enable-overflow lifecycle-table"); $table->out(10, false); echo $OUTPUT->box_end(); - echo $OUTPUT->heading(get_string('active_manual_workflows_heading', 'tool_cleanupcourses')); + echo $OUTPUT->heading(get_string('active_manual_workflows_heading', 'tool_lifecycle')); - $table = new active_manual_workflows_table('tool_cleanupcourses_manual_workflows'); - echo $OUTPUT->box_start("cleanupcourses-enable-overflow cleanupcourses-table"); + $table = new active_manual_workflows_table('tool_lifecycle_manual_workflows'); + echo $OUTPUT->box_start("lifecycle-enable-overflow lifecycle-table"); $table->out(10, false); echo $OUTPUT->box_end(); - echo $OUTPUT->heading(get_string('workflow_definition_heading', 'tool_cleanupcourses')); + echo $OUTPUT->heading(get_string('workflow_definition_heading', 'tool_lifecycle')); echo $OUTPUT->single_button(new \moodle_url($PAGE->url, array('action' => ACTION_WORKFLOW_INSTANCE_FROM, 'sesskey' => sesskey())), - get_string('add_workflow', 'tool_cleanupcourses')); + get_string('add_workflow', 'tool_lifecycle')); - $table = new workflow_definition_table('tool_cleanupcourses_workflow_definitions'); - echo $OUTPUT->box_start("cleanupcourses-enable-overflow cleanupcourses-table"); + $table = new workflow_definition_table('tool_lifecycle_workflow_definitions'); + echo $OUTPUT->box_start("lifecycle-enable-overflow lifecycle-table"); $table->out(10, false); echo $OUTPUT->box_end(); @@ -170,7 +170,7 @@ class admin_settings { // Set up the table. $this->view_header(); - echo $OUTPUT->heading(get_string('adminsettings_edit_workflow_definition_heading', 'tool_cleanupcourses')); + echo $OUTPUT->heading(get_string('adminsettings_edit_workflow_definition_heading', 'tool_lifecycle')); echo $form->render(); @@ -183,7 +183,7 @@ class admin_settings { * @throws \moodle_exception */ private function view_workflow_details($workflowid) { - $url = new \moodle_url('/admin/tool/cleanupcourses/workflowsettings.php', + $url = new \moodle_url('/admin/tool/lifecycle/workflowsettings.php', array('workflowid' => $workflowid, 'sesskey' => sesskey())); redirect($url); } @@ -223,7 +223,7 @@ class admin_settings { $this->check_permissions(); // Has to be called before moodleform is created! - admin_externalpage_setup('tool_cleanupcourses_adminsettings'); + admin_externalpage_setup('tool_lifecycle_adminsettings'); workflow_manager::handle_action($action, $workflowid); @@ -258,7 +258,7 @@ class admin_settings { /** * Class that handles the display and configuration of a workflow. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2015 Tobias Reischmann * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -277,8 +277,8 @@ class workflow_settings { public function __construct($workflowid) { global $PAGE; // Has to be called before moodleform is created! - admin_externalpage_setup('tool_cleanupcourses_adminsettings'); - $this->pageurl = new \moodle_url('/admin/tool/cleanupcourses/workflowsettings.php'); + admin_externalpage_setup('tool_lifecycle_adminsettings'); + $this->pageurl = new \moodle_url('/admin/tool/lifecycle/workflowsettings.php'); $PAGE->set_url($this->pageurl); $this->workflowid = $workflowid; } @@ -292,18 +292,18 @@ class workflow_settings { // Set up the table. $this->view_header(); - echo $OUTPUT->heading(get_string('adminsettings_workflow_definition_steps_heading', 'tool_cleanupcourses')); + echo $OUTPUT->heading(get_string('adminsettings_workflow_definition_steps_heading', 'tool_lifecycle')); if (!workflow_manager::is_active($this->workflowid)) { $steps = step_manager::get_step_types(); echo $OUTPUT->single_select(new \moodle_url($PAGE->url, array('action' => ACTION_STEP_INSTANCE_FORM, 'sesskey' => sesskey(), 'workflowid' => $this->workflowid)), - 'subpluginname', $steps, '', array('' => get_string('add_new_step_instance', 'tool_cleanupcourses'))); + 'subpluginname', $steps, '', array('' => get_string('add_new_step_instance', 'tool_lifecycle'))); } - echo $OUTPUT->single_button( new \moodle_url('/admin/tool/cleanupcourses/adminsettings.php'), + echo $OUTPUT->single_button( new \moodle_url('/admin/tool/lifecycle/adminsettings.php'), get_string('back')); - $table = new step_table('tool_cleanupcourses_workflows', $this->workflowid); + $table = new step_table('tool_lifecycle_workflows', $this->workflowid); $table->out(50, false); $this->view_footer(); @@ -316,7 +316,7 @@ class workflow_settings { private function view_step_instance_form($form) { $workflow = workflow_manager::get_workflow($this->workflowid); $this->view_instance_form($form, - get_string('adminsettings_edit_step_instance_heading', 'tool_cleanupcourses', + get_string('adminsettings_edit_step_instance_heading', 'tool_lifecycle', $workflow->title)); } @@ -327,7 +327,7 @@ class workflow_settings { private function view_trigger_instance_form($form) { $workflow = workflow_manager::get_workflow($this->workflowid); $this->view_instance_form($form, - get_string('adminsettings_edit_trigger_instance_heading', 'tool_cleanupcourses', + get_string('adminsettings_edit_trigger_instance_heading', 'tool_lifecycle', $workflow->title)); } @@ -436,7 +436,7 @@ class workflow_settings { // In case the workflow is active, we do not allow changes to the steps or trigger. if (workflow_manager::is_active($this->workflowid)) { echo $OUTPUT->notification( - get_string('active_workflow_not_changeable', 'tool_cleanupcourses'), + get_string('active_workflow_not_changeable', 'tool_lifecycle'), 'warning'); } else { if (!empty($data->id)) { @@ -489,7 +489,7 @@ class workflow_settings { // In case the workflow is active, we do not allow changes to the steps or trigger. if (workflow_manager::is_active($this->workflowid)) { echo $OUTPUT->notification( - get_string('active_workflow_not_changeable', 'tool_cleanupcourses'), + get_string('active_workflow_not_changeable', 'tool_lifecycle'), 'warning'); } else { if (!empty($data->id)) { diff --git a/adminsettings.php b/adminsettings.php index 5e8d294..cbbc36a 100644 --- a/adminsettings.php +++ b/adminsettings.php @@ -17,7 +17,7 @@ /** * Displays the tables of active and inactive workflow definitions and handles all action associated with it. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -29,7 +29,7 @@ require_login(null, false); require_capability('moodle/site:config', context_system::instance()); // Create the class for this controller. -$adminsettings = new tool_cleanupcourses\admin_settings(); +$adminsettings = new tool_lifecycle\admin_settings(); // Execute the controller. $adminsettings->execute(optional_param('action', null, PARAM_TEXT), diff --git a/classes/entity/process.php b/classes/entity/process.php index c0e5a97..a0ce049 100644 --- a/classes/entity/process.php +++ b/classes/entity/process.php @@ -14,14 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\entity; +namespace tool_lifecycle\entity; defined('MOODLE_INTERNAL') || die(); /** - * Cleanup Course Process class + * Life Cycle Process class * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -60,7 +60,7 @@ class process { } /** - * Creates a Cleanup Course Process from a db record. + * Creates a Life Cycle Process from a db record. * @param $record * @return process */ diff --git a/classes/entity/step_subplugin.php b/classes/entity/step_subplugin.php index 38b7c61..2b5871c 100644 --- a/classes/entity/step_subplugin.php +++ b/classes/entity/step_subplugin.php @@ -14,14 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\entity; +namespace tool_lifecycle\entity; defined('MOODLE_INTERNAL') || die(); /** * Subplugin class * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/entity/subplugin.php b/classes/entity/subplugin.php index 2a253bb..f2f731b 100644 --- a/classes/entity/subplugin.php +++ b/classes/entity/subplugin.php @@ -14,14 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\entity; +namespace tool_lifecycle\entity; defined('MOODLE_INTERNAL') || die(); /** * Subplugin class * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/entity/trigger_subplugin.php b/classes/entity/trigger_subplugin.php index 3b49b76..fe3f89c 100644 --- a/classes/entity/trigger_subplugin.php +++ b/classes/entity/trigger_subplugin.php @@ -14,14 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\entity; +namespace tool_lifecycle\entity; defined('MOODLE_INTERNAL') || die(); /** * Trigger subplugin class * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/entity/workflow.php b/classes/entity/workflow.php index b850027..3858c03 100644 --- a/classes/entity/workflow.php +++ b/classes/entity/workflow.php @@ -14,14 +14,14 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\entity; +namespace tool_lifecycle\entity; defined('MOODLE_INTERNAL') || die(); /** - * Cleanup Course Workflow class + * Life Cycle Workflow class * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/form/form_step_instance.php b/classes/form/form_step_instance.php index 2a90bad..daa3dd0 100644 --- a/classes/form/form_step_instance.php +++ b/classes/form/form_step_instance.php @@ -17,16 +17,16 @@ /** * Offers the possibility to add or modify a step instance. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\form; +namespace tool_lifecycle\form; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\step\libbase; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\step\libbase; defined('MOODLE_INTERNAL') || die(); @@ -104,14 +104,14 @@ class form_step_instance extends \moodleform { $mform->setType('action', PARAM_TEXT); $mform->setDefault('action', ACTION_STEP_INSTANCE_FORM); - $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_cleanupcourses')); + $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_lifecycle')); $elementname = 'instancename'; - $mform->addElement('text', $elementname, get_string('step_instancename', 'tool_cleanupcourses')); + $mform->addElement('text', $elementname, get_string('step_instancename', 'tool_lifecycle')); $mform->setType($elementname, PARAM_TEXT); $elementname = 'subpluginnamestatic'; - $mform->addElement('static', $elementname, get_string('step_subpluginname', 'tool_cleanupcourses')); + $mform->addElement('static', $elementname, get_string('step_subpluginname', 'tool_lifecycle')); $mform->setType($elementname, PARAM_TEXT); $elementname = 'subpluginname'; $mform->addElement('hidden', $elementname); @@ -119,7 +119,7 @@ class form_step_instance extends \moodleform { // Insert the subplugin specific settings. if (!empty($this->lib->instance_settings())) { - $mform->addElement('header', 'step_settings_header', get_string('step_settings_header', 'tool_cleanupcourses')); + $mform->addElement('header', 'step_settings_header', get_string('step_settings_header', 'tool_lifecycle')); $this->lib->extend_add_instance_form_definition($mform); } @@ -161,7 +161,7 @@ class form_step_instance extends \moodleform { $subpluginname = $this->subpluginname; } $mform->setDefault('subpluginnamestatic', - get_string('pluginname', 'cleanupcoursesstep_' . $subpluginname)); + get_string('pluginname', 'lifecyclestep_' . $subpluginname)); $mform->setDefault('subpluginname', $subpluginname); // Setting the default values for the local step settings. diff --git a/classes/form/form_trigger_instance.php b/classes/form/form_trigger_instance.php index 3721a26..898d3f8 100644 --- a/classes/form/form_trigger_instance.php +++ b/classes/form/form_trigger_instance.php @@ -17,17 +17,17 @@ /** * Offers the possibility to add or modify a step instance. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\form; +namespace tool_lifecycle\form; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\trigger\base; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\trigger\base; defined('MOODLE_INTERNAL') || die(); @@ -109,10 +109,10 @@ class form_trigger_instance extends \moodleform { $mform->setType('action', PARAM_TEXT); $mform->setDefault('action', ACTION_TRIGGER_INSTANCE_FORM); - $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_cleanupcourses')); + $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_lifecycle')); $elementname = 'instancename'; - $mform->addElement('text', $elementname, get_string('trigger_instancename', 'tool_cleanupcourses')); + $mform->addElement('text', $elementname, get_string('trigger_instancename', 'tool_lifecycle')); $mform->setType($elementname, PARAM_TEXT); // If workflow is active, then all trigger types have to be used to also show the preset triggers. @@ -124,13 +124,13 @@ class form_trigger_instance extends \moodleform { $elementname = 'subpluginname'; $mform->addElement('select', $elementname, - get_string('trigger_subpluginname', 'tool_cleanupcourses'), + get_string('trigger_subpluginname', 'tool_lifecycle'), $triggers); $mform->setType($elementname, PARAM_TEXT); // Insert the subplugin specific settings. if (isset($this->lib) && !empty($this->lib->instance_settings())) { - $mform->addElement('header', 'trigger_settings_header', get_string('trigger_settings_header', 'tool_cleanupcourses')); + $mform->addElement('header', 'trigger_settings_header', get_string('trigger_settings_header', 'tool_lifecycle')); $this->lib->extend_add_instance_form_definition($mform); } diff --git a/classes/form/form_workflow_instance.php b/classes/form/form_workflow_instance.php index ae935fb..d7f137d 100644 --- a/classes/form/form_workflow_instance.php +++ b/classes/form/form_workflow_instance.php @@ -17,13 +17,13 @@ /** * Offers the possibility to add or modify a workflow instance. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\form; +namespace tool_lifecycle\form; -use tool_cleanupcourses\entity\workflow; +use tool_lifecycle\entity\workflow; defined('MOODLE_INTERNAL') || die(); @@ -65,18 +65,18 @@ class form_workflow_instance extends \moodleform { $mform->setDefault($elementname, $this->workflow->id); } - $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_cleanupcourses')); + $mform->addElement('header', 'general_settings_header', get_string('general_settings_header', 'tool_lifecycle')); $elementname = 'title'; - $mform->addElement('text', $elementname, get_string('workflow_title', 'tool_cleanupcourses')); + $mform->addElement('text', $elementname, get_string('workflow_title', 'tool_lifecycle')); $mform->setType($elementname, PARAM_TEXT); if (isset($this->workflow)) { $mform->setDefault($elementname, $this->workflow->title); } $elementname = 'displaytitle'; - $mform->addElement('text', $elementname, get_string('workflow_displaytitle', 'tool_cleanupcourses')); - $mform->addHelpButton($elementname, 'workflow_displaytitle', 'tool_cleanupcourses'); + $mform->addElement('text', $elementname, get_string('workflow_displaytitle', 'tool_lifecycle')); + $mform->addHelpButton($elementname, 'workflow_displaytitle', 'tool_lifecycle'); $mform->setType($elementname, PARAM_TEXT); if (isset($this->workflow)) { $mform->setDefault($elementname, $this->workflow->displaytitle); diff --git a/classes/local/data/manual_trigger_tool.php b/classes/local/data/manual_trigger_tool.php index e6659e7..cd211de 100644 --- a/classes/local/data/manual_trigger_tool.php +++ b/classes/local/data/manual_trigger_tool.php @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\local\data; +namespace tool_lifecycle\local\data; use renderable; @@ -23,7 +23,7 @@ defined('MOODLE_INTERNAL') || die(); /** * Class representing a manual trigger tool * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/classes/manager/backup_manager.php b/classes/manager/backup_manager.php index efd2e81..c272849 100644 --- a/classes/manager/backup_manager.php +++ b/classes/manager/backup_manager.php @@ -17,11 +17,11 @@ /** * Manager to create & restore backups for courses * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; defined('MOODLE_INTERNAL') || die(); @@ -32,7 +32,7 @@ require_once($CFG->dirroot . '/backup/util/includes/restore_includes.php'); class backup_manager { /** - * Creates a course backup in a specific cleanup courses backup folder + * Creates a course backup in a specific life cycle backup folder * @param int $courseid id of the course the backup should be created for. * @return bool tells if the backup was completed successfully. */ @@ -44,20 +44,20 @@ class backup_manager { $record->courseid = $courseid; $record->fullname = $course->fullname; $record->shortname = $course->shortname; - $recordid = $DB->insert_record('tool_cleanupcourses_backups', $record, true); + $recordid = $DB->insert_record('tool_lifecycle_backups', $record, true); $record->id = $recordid; // Build filename. $archivefile = date("Y-m-d") . "-ID-{$recordid}-COURSE-{$courseid}.mbz"; // Path of backup folder. - $path = $CFG->dataroot . '/cleanupcourses_backups'; + $path = $CFG->dataroot . '/lifecycle_backups'; // If the path doesn't exist, make it so! if (!is_dir($path)) { umask(0000); // Create the directory for Backups. if (!mkdir($path, $CFG->directorypermissions, true)) { - throw new \moodle_exception(get_string('errorbackuppath', 'tool_cleanupcourses')); + throw new \moodle_exception(get_string('errorbackuppath', 'tool_lifecycle')); } } // Perform Backup. @@ -80,7 +80,7 @@ class backup_manager { $record->backupfile = $archivefile; $record->backupcreated = time(); - $DB->update_record('tool_cleanupcourses_backups', $record, true); + $DB->update_record('tool_lifecycle_backups', $record, true); return true; } catch (\moodle_exception $e) { @@ -92,7 +92,7 @@ class backup_manager { /** * Restores a course backup via a backupid - * The function copies the backup file from the cleanupcourse backup folder to a temporary folder. + * The function copies the backup file from the lifecycle backup folder to a temporary folder. * It then redirects to the backup/restore.php, which leads the user through the interactive restore process. * @param int $backupid id of backup entry. * @throws \moodle_exception @@ -100,7 +100,7 @@ class backup_manager { */ public static function restore_course_backup($backupid) { global $DB, $CFG; - $backuprecord = $DB->get_record('tool_cleanupcourses_backups', array('id' => $backupid)); + $backuprecord = $DB->get_record('tool_lifecycle_backups', array('id' => $backupid)); // Check if backup tmp dir exists. $backuptmpdir = $CFG->tempdir . '/backup'; @@ -112,10 +112,10 @@ class backup_manager { $targetfilename = \restore_controller::get_tempdir_name($backuprecord->courseid, get_admin()->id); $target = $backuptmpdir . '/' . $targetfilename; // Create the location of the actual backup file. - $source = $CFG->dataroot . '/cleanupcourses_backups/' . $backuprecord->backupfile; + $source = $CFG->dataroot . '/lifecycle_backups/' . $backuprecord->backupfile; // Check if the backup file exists. if (!file_exists($source)) { - throw new \moodle_exception('errorbackupfiledoesnotexist', 'tool_cleanupprocess', $source); + throw new \moodle_exception('errorbackupfiledoesnotexist', 'tool_lifecycle', $source); } // Copy the file to the backup temp dir. diff --git a/classes/manager/delayed_courses_manager.php b/classes/manager/delayed_courses_manager.php index 096b2f3..4d06cda 100644 --- a/classes/manager/delayed_courses_manager.php +++ b/classes/manager/delayed_courses_manager.php @@ -18,11 +18,11 @@ * Manager for Delayed Courses * Each entry tells that the trigger-check for a certain course is delayed until a certain timestamp. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; defined('MOODLE_INTERNAL') || die(); @@ -36,16 +36,16 @@ class delayed_courses_manager { public static function set_course_delayed($courseid, $duration) { global $DB; $delayeduntil = time() + $duration; - $record = $DB->get_record('tool_cleanupcourses_delayed', array('courseid' => $courseid)); + $record = $DB->get_record('tool_lifecycle_delayed', array('courseid' => $courseid)); if (!$record) { $record = new \stdClass(); $record->courseid = $courseid; $record->delayeduntil = $delayeduntil; - $DB->insert_record('tool_cleanupcourses_delayed', $record); + $DB->insert_record('tool_lifecycle_delayed', $record); } else { if ($record->delayeduntil < $delayeduntil) { $record->delayeduntil = $delayeduntil; - $DB->update_record('tool_cleanupcourses_delayed', $record); + $DB->update_record('tool_lifecycle_delayed', $record); } } } @@ -57,7 +57,7 @@ class delayed_courses_manager { */ public static function get_course_delayed($courseid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_delayed', array('courseid' => $courseid)); + $record = $DB->get_record('tool_lifecycle_delayed', array('courseid' => $courseid)); if ($record) { return $record->delayeduntil; } else { @@ -71,6 +71,6 @@ class delayed_courses_manager { */ public static function remove_delay_entry($courseid) { global $DB; - $DB->delete_records('tool_cleanupcourses_delayed', array('courseid' => $courseid)); + $DB->delete_records('tool_lifecycle_delayed', array('courseid' => $courseid)); } } diff --git a/classes/manager/interaction_manager.php b/classes/manager/interaction_manager.php index 0b14f07..d59d755 100644 --- a/classes/manager/interaction_manager.php +++ b/classes/manager/interaction_manager.php @@ -17,14 +17,14 @@ /** * Manager to handle interactions by users * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\cleanup_processor; -use tool_cleanupcourses\response\step_interactive_response; +use tool_lifecycle\processor; +use tool_lifecycle\response\step_interactive_response; defined('MOODLE_INTERNAL') || die(); @@ -55,10 +55,10 @@ class interaction_manager { $step = step_manager::get_step_instance($stepid); $process = process_manager::get_process_by_id($processid); if (!$step) { - throw new \invalid_parameter_exception(get_string('nostepfound', 'tool_cleanupcourses')); + throw new \invalid_parameter_exception(get_string('nostepfound', 'tool_lifecycle')); } if (!$process) { - throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_cleanupcourses')); + throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_lifecycle')); } $interactionlib = lib_manager::get_step_interactionlib($step->subpluginname); $response = $interactionlib->handle_interaction($process, $step, $action); @@ -70,7 +70,7 @@ class interaction_manager { case step_interactive_response::no_action(): break; case step_interactive_response::proceed(): - $processor = new cleanup_processor(); + $processor = new processor(); return $processor->process_course_interactive($processid); break; case step_interactive_response::rollback(): @@ -115,7 +115,7 @@ class interaction_manager { $interactionlib = lib_manager::get_step_interactionlib($subpluginname); $process = process_manager::get_process_by_id($processid); if (!$process) { - throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_cleanupcourses')); + throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_lifecycle')); } return $interactionlib->get_action_tools($process); } @@ -130,7 +130,7 @@ class interaction_manager { public static function get_process_status_message($processid) { $process = process_manager::get_process_by_id($processid); if (!$process) { - throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_cleanupcourses')); + throw new \invalid_parameter_exception(get_string('noprocessfound', 'tool_lifecycle')); } if ($process->stepindex == 0) { @@ -141,7 +141,7 @@ class interaction_manager { $step = step_manager::get_step_instance_by_workflow_index($process->workflowid, $process->stepindex); $interactionlib = lib_manager::get_step_interactionlib($step->subpluginname); if ($interactionlib === null) { - return get_string("workflow_is_running", "tool_cleanupcourses"); + return get_string("workflow_is_running", "tool_lifecycle"); } return $interactionlib->get_status_message($process); diff --git a/classes/manager/lib_manager.php b/classes/manager/lib_manager.php index a691b85..2db928d 100644 --- a/classes/manager/lib_manager.php +++ b/classes/manager/lib_manager.php @@ -17,14 +17,14 @@ /** * Manager to retrive the lib of each subplugin. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\trigger\base_automatic; -use tool_cleanupcourses\trigger\base_manual; +use tool_lifecycle\trigger\base_automatic; +use tool_lifecycle\trigger\base_manual; defined('MOODLE_INTERNAL') || die(); @@ -33,7 +33,7 @@ class lib_manager { /** * Gets the trigger class of a subplugin lib. * @param string $subpluginname name of the subplugin - * @return \tool_cleanupcourses\trigger\base + * @return \tool_lifecycle\trigger\base */ public static function get_trigger_lib($subpluginname) { return self::get_lib($subpluginname, 'trigger'); @@ -42,7 +42,7 @@ class lib_manager { /** * Gets the lib class for an manual trigger subplugin. * @param string $subpluginname name of the subplugin - * @return \tool_cleanupcourses\trigger\base_manual + * @return \tool_lifecycle\trigger\base_manual * @throws \coding_exception */ public static function get_manual_trigger_lib($subpluginname) { @@ -56,7 +56,7 @@ class lib_manager { /** * Gets the lib class for an automatic trigger subplugin. * @param string $subpluginname name of the subplugin - * @return \tool_cleanupcourses\trigger\base_automatic + * @return \tool_lifecycle\trigger\base_automatic * @throws \coding_exception */ public static function get_automatic_trigger_lib($subpluginname) { @@ -72,7 +72,7 @@ class lib_manager { /** * Gets the step class of a subplugin lib. * @param string $subpluginname name of the subplugin - * @return \tool_cleanupcourses\step\libbase + * @return \tool_lifecycle\step\libbase */ public static function get_step_lib($subpluginname) { return self::get_lib($subpluginname, 'step'); @@ -81,7 +81,7 @@ class lib_manager { /** * Gets the step class of a subplugin lib. * @param string $subpluginname name of the subplugin - * @return \tool_cleanupcourses\step\interactionlibbase + * @return \tool_lifecycle\step\interactionlibbase */ public static function get_step_interactionlib($subpluginname) { return self::get_lib($subpluginname, 'step', 'interaction'); @@ -95,14 +95,14 @@ class lib_manager { * @return */ private static function get_lib($subpluginname, $subplugintype, $libsubtype = '') { - $triggerlist = \core_component::get_plugin_list('cleanupcourses' . $subplugintype); + $triggerlist = \core_component::get_plugin_list('lifecycle' . $subplugintype); if (!array_key_exists($subpluginname, $triggerlist)) { return null; } $filename = $triggerlist[$subpluginname].'/'.$libsubtype.'lib.php'; if (file_exists($filename)) { require_once($filename); - $extendedclass = "tool_cleanupcourses\\$subplugintype\\$libsubtype$subpluginname"; + $extendedclass = "tool_lifecycle\\$subplugintype\\$libsubtype$subpluginname"; if (class_exists($extendedclass)) { return new $extendedclass(); } diff --git a/classes/manager/process_data_manager.php b/classes/manager/process_data_manager.php index 8a69faf..eae43e1 100644 --- a/classes/manager/process_data_manager.php +++ b/classes/manager/process_data_manager.php @@ -15,19 +15,19 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Manager for data of Cleanup Course Processes + * Manager for data of Life Cycle Processes * Data means every additional data, which is produced, stored and queried by steps during the process. * This class stores and queries the process data using a key/value-store. * Only strings can be stored. Every other data has to be parsed manually! * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\entity\process; -use tool_cleanupcourses\entity\trigger_subplugin; +use tool_lifecycle\entity\process; +use tool_lifecycle\entity\trigger_subplugin; defined('MOODLE_INTERNAL') || die(); @@ -51,7 +51,7 @@ class process_data_manager { } else { $params['subpluginname'] = step_manager::get_step_instance($stepid)->subpluginname; } - if ($value = $DB->get_record('tool_cleanupcourses_procdata', $params)) { + if ($value = $DB->get_record('tool_lifecycle_procdata', $params)) { return $value->value; } return null; @@ -75,12 +75,12 @@ class process_data_manager { } else { $entry['subpluginname'] = step_manager::get_step_instance($stepid)->subpluginname; } - if ($oldentry = $DB->get_record('tool_cleanupcourses_procdata', $entry)) { + if ($oldentry = $DB->get_record('tool_lifecycle_procdata', $entry)) { $oldentry->value = $value; - $DB->update_record('tool_cleanupcourses_procdata', $oldentry); + $DB->update_record('tool_lifecycle_procdata', $oldentry); } else { $entry['value'] = $value; - $DB->insert_record('tool_cleanupcourses_procdata', (object) $entry); + $DB->insert_record('tool_lifecycle_procdata', (object) $entry); } } diff --git a/classes/manager/process_manager.php b/classes/manager/process_manager.php index 5a17586..8ef3772 100644 --- a/classes/manager/process_manager.php +++ b/classes/manager/process_manager.php @@ -15,15 +15,15 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Manager for Cleanup Course Processes + * Manager for Life Cycle Processes * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\entity\process; +use tool_lifecycle\entity\process; defined('MOODLE_INTERNAL') || die(); @@ -44,7 +44,7 @@ class process_manager { $record->workflowid = $workflowid; $record->timestepchanged = time(); $process = process::from_record($record); - $process->id = $DB->insert_record('tool_cleanupcourses_process', $process); + $process->id = $DB->insert_record('tool_lifecycle_process', $process); return $process; } return null; @@ -60,12 +60,12 @@ class process_manager { public static function manually_trigger_process($courseid, $triggerid) { $trigger = trigger_manager::get_instance($triggerid); if (!$trigger) { - throw new \moodle_exception('trigger_does_not_exist', 'tool_cleanupcourses'); + throw new \moodle_exception('trigger_does_not_exist', 'tool_lifecycle'); } $workflow = workflow_manager::get_workflow($trigger->workflowid); if (!$workflow || !workflow_manager::is_active($workflow->id) || !workflow_manager::is_valid($workflow->id) || $workflow->manual !== true) { - throw new \moodle_exception('cannot_trigger_workflow_manually', 'tool_cleanupcourses'); + throw new \moodle_exception('cannot_trigger_workflow_manually', 'tool_lifecycle'); } return self::create_process($courseid, $workflow->id); } @@ -76,7 +76,7 @@ class process_manager { */ public static function get_processes() { global $DB; - $records = $DB->get_records('tool_cleanupcourses_process'); + $records = $DB->get_records('tool_lifecycle_process'); $processes = array(); foreach ($records as $record) { $processes [] = process::from_record($record); @@ -91,7 +91,7 @@ class process_manager { */ public static function get_process_by_id($processid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_process', array('id' => $processid)); + $record = $DB->get_record('tool_lifecycle_process', array('id' => $processid)); if ($record) { return process::from_record($record); } else { @@ -106,7 +106,7 @@ class process_manager { */ public static function count_processes_by_workflow($workflowid) { global $DB; - return $DB->count_records('tool_cleanupcourses_process', array('workflowid' => $workflowid)); + return $DB->count_records('tool_lifecycle_process', array('workflowid' => $workflowid)); } /** @@ -121,7 +121,7 @@ class process_manager { $process->stepindex++; $process->waiting = false; $process->timestepchanged = time(); - $DB->update_record('tool_cleanupcourses_process', $process); + $DB->update_record('tool_lifecycle_process', $process); return true; } else { self::remove_process($process); @@ -136,7 +136,7 @@ class process_manager { public static function set_process_waiting(&$process) { global $DB; $process->waiting = true; - $DB->update_record('tool_cleanupcourses_process', $process); + $DB->update_record('tool_lifecycle_process', $process); } /** @@ -146,7 +146,7 @@ class process_manager { public static function rollback_process($process) { global $CFG; // TODO: Add logic to revert changes made by steps. - delayed_courses_manager::set_course_delayed($process->courseid, $CFG->cleanupcourses_duration); + delayed_courses_manager::set_course_delayed($process->courseid, $CFG->lifecycle_duration); self::remove_process($process); } @@ -156,13 +156,13 @@ class process_manager { */ private static function remove_process($process) { global $DB; - $DB->delete_records('tool_cleanupcourses_procdata', array('processid' => $process->id)); - $DB->delete_records('tool_cleanupcourses_process', (array) $process); + $DB->delete_records('tool_lifecycle_procdata', array('processid' => $process->id)); + $DB->delete_records('tool_lifecycle_process', (array) $process); } public static function get_process_by_course_id($courseid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_process', array('courseid' => $courseid)); + $record = $DB->get_record('tool_lifecycle_process', array('courseid' => $courseid)); if ($record) { return process::from_record($record); } else { diff --git a/classes/manager/settings_manager.php b/classes/manager/settings_manager.php index b11fa10..e19c511 100644 --- a/classes/manager/settings_manager.php +++ b/classes/manager/settings_manager.php @@ -17,11 +17,11 @@ /** * Manager to retrive the local settings for each step subplugin. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__.'/../../lib.php'); @@ -67,7 +67,7 @@ class settings_manager { $value = $value['text']; } $cleanedvalue = clean_param($value, $setting->paramtype); - $record = $DB->get_record('tool_cleanupcourses_settings', + $record = $DB->get_record('tool_lifecycle_settings', array( 'instanceid' => $instanceid, 'type' => $type, @@ -75,14 +75,14 @@ class settings_manager { ); if ($record) { $record->value = $cleanedvalue; - $DB->update_record('tool_cleanupcourses_settings', $record); + $DB->update_record('tool_lifecycle_settings', $record); } else { $newrecord = new \stdClass(); $newrecord->instanceid = $instanceid; $newrecord->name = $setting->name; $newrecord->value = $cleanedvalue; $newrecord->type = $type; - $DB->insert_record('tool_cleanupcourses_settings', $newrecord); + $DB->insert_record('tool_lifecycle_settings', $newrecord); } } } @@ -117,7 +117,7 @@ class settings_manager { $settingsvalues = array(); foreach ($lib->instance_settings() as $setting) { - $record = $DB->get_record('tool_cleanupcourses_settings', array('instanceid' => $instanceid, + $record = $DB->get_record('tool_lifecycle_settings', array('instanceid' => $instanceid, 'type' => $type, 'name' => $setting->name)); if ($record) { @@ -137,7 +137,7 @@ class settings_manager { global $DB; self::validate_type($type); - $DB->delete_records('tool_cleanupcourses_settings', + $DB->delete_records('tool_lifecycle_settings', array('instanceid' => $instanceid, 'type' => $type)); } diff --git a/classes/manager/step_manager.php b/classes/manager/step_manager.php index 65fa590..94cb199 100644 --- a/classes/manager/step_manager.php +++ b/classes/manager/step_manager.php @@ -17,13 +17,13 @@ /** * Manager for Subplugins * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\entity\step_subplugin; +use tool_lifecycle\entity\step_subplugin; defined('MOODLE_INTERNAL') || die(); @@ -36,7 +36,7 @@ class step_manager extends subplugin_manager { */ public static function get_step_instance($stepinstanceid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_step', array('id' => $stepinstanceid)); + $record = $DB->get_record('tool_lifecycle_step', array('id' => $stepinstanceid)); if ($record) { $subplugin = step_subplugin::from_record($record); return $subplugin; @@ -53,7 +53,7 @@ class step_manager extends subplugin_manager { */ public static function get_step_instance_by_workflow_index($workflowid, $sortindex) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_step', + $record = $DB->get_record('tool_lifecycle_step', array( 'workflowid' => $workflowid, 'sortindex' => $sortindex) @@ -74,10 +74,10 @@ class step_manager extends subplugin_manager { global $DB; $transaction = $DB->start_delegated_transaction(); if ($subplugin->id) { - $DB->update_record('tool_cleanupcourses_step', $subplugin); + $DB->update_record('tool_lifecycle_step', $subplugin); } else { $subplugin->sortindex = self::count_steps_of_workflow($subplugin->workflowid) + 1; - $subplugin->id = $DB->insert_record('tool_cleanupcourses_step', $subplugin); + $subplugin->id = $DB->insert_record('tool_lifecycle_step', $subplugin); } $transaction->allow_commit(); } @@ -101,11 +101,11 @@ class step_manager extends subplugin_manager { private static function remove($stepinstanceid) { global $DB; $transaction = $DB->start_delegated_transaction(); - if ($record = $DB->get_record('tool_cleanupcourses_step', array('id' => $stepinstanceid))) { + if ($record = $DB->get_record('tool_lifecycle_step', array('id' => $stepinstanceid))) { $step = step_subplugin::from_record($record); self::remove_from_sortindex($step); settings_manager::remove_settings($step->id, SETTINGS_TYPE_STEP); - $DB->delete_records('tool_cleanupcourses_step', (array) $step); + $DB->delete_records('tool_lifecycle_step', (array) $step); } $transaction->allow_commit(); } @@ -117,7 +117,7 @@ class step_manager extends subplugin_manager { private static function remove_from_sortindex(&$toberemoved) { global $DB; if (isset($toberemoved->sortindex)) { - $subplugins = $DB->get_records_select('tool_cleanupcourses_step', + $subplugins = $DB->get_records_select('tool_lifecycle_step', "sortindex > $toberemoved->sortindex", array('workflowid' => $toberemoved->workflowid)); foreach ($subplugins as $record) { @@ -152,7 +152,7 @@ class step_manager extends subplugin_manager { } $transaction = $DB->start_delegated_transaction(); - $otherrecord = $DB->get_record('tool_cleanupcourses_step', + $otherrecord = $DB->get_record('tool_lifecycle_step', array( 'sortindex' => $otherindex, 'workflowid' => $step->workflowid) @@ -175,7 +175,7 @@ class step_manager extends subplugin_manager { public static function get_step_instances($workflowid) { // TODO: Alter calls to include workflow id. global $DB; - $records = $DB->get_records('tool_cleanupcourses_step', array( + $records = $DB->get_records('tool_lifecycle_step', array( 'workflowid' => $workflowid )); $steps = array(); @@ -191,7 +191,7 @@ class step_manager extends subplugin_manager { */ public static function get_step_instances_by_subpluginname($subpluginname) { global $DB; - $records = $DB->get_records('tool_cleanupcourses_step', array('subpluginname' => $subpluginname)); + $records = $DB->get_records('tool_lifecycle_step', array('subpluginname' => $subpluginname)); $steps = array(); foreach ($records as $id => $record) { $steps[$id] = step_subplugin::from_record($record); @@ -204,10 +204,10 @@ class step_manager extends subplugin_manager { * @return array of step subplugins. */ public static function get_step_types() { - $subplugins = \core_component::get_plugin_list('cleanupcoursesstep'); + $subplugins = \core_component::get_plugin_list('lifecyclestep'); $result = array(); foreach (array_keys($subplugins) as $plugin) { - $result[$plugin] = get_string('pluginname', 'cleanupcoursesstep_' . $plugin); + $result[$plugin] = get_string('pluginname', 'lifecyclestep_' . $plugin); } return $result; } @@ -231,7 +231,7 @@ class step_manager extends subplugin_manager { self::remove($subpluginid); } } else { - echo $OUTPUT->notification(get_string('active_workflow_not_changeable', 'tool_cleanupcourses'), 'warning'); + echo $OUTPUT->notification(get_string('active_workflow_not_changeable', 'tool_lifecycle'), 'warning'); } } } @@ -259,7 +259,7 @@ class step_manager extends subplugin_manager { */ public static function count_steps_of_workflow($workflowid) { global $DB; - return $DB->count_records('tool_cleanupcourses_step', + return $DB->count_records('tool_lifecycle_step', array('workflowid' => $workflowid) ); } @@ -270,7 +270,7 @@ class step_manager extends subplugin_manager { */ public static function remove_instances_of_workflow($workflowid) { global $DB; - $DB->delete_records('tool_cleanupcourses_step', array('workflowid' => $workflowid)); + $DB->delete_records('tool_lifecycle_step', array('workflowid' => $workflowid)); } /** diff --git a/classes/manager/subplugin_manager.php b/classes/manager/subplugin_manager.php index d5553be..a702048 100644 --- a/classes/manager/subplugin_manager.php +++ b/classes/manager/subplugin_manager.php @@ -17,11 +17,11 @@ /** * Manager for Subplugins * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; defined('MOODLE_INTERNAL') || die(); @@ -34,7 +34,7 @@ abstract class subplugin_manager { * @return bool */ protected static function is_subplugin($subpluginname, $subplugintype) { - $subplugintypes = \core_component::get_subplugins('tool_cleanupcourses'); + $subplugintypes = \core_component::get_subplugins('tool_lifecycle'); if (array_key_exists($subplugintype, $subplugintypes)) { $subplugins = $subplugintypes[$subplugintype]; if (in_array($subpluginname, $subplugins)) { diff --git a/classes/manager/trigger_manager.php b/classes/manager/trigger_manager.php index 525da30..3f63902 100644 --- a/classes/manager/trigger_manager.php +++ b/classes/manager/trigger_manager.php @@ -17,14 +17,14 @@ /** * Manager for Trigger subplugins * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\workflow; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\workflow; defined('MOODLE_INTERNAL') || die(); @@ -36,10 +36,10 @@ class trigger_manager extends subplugin_manager { */ public static function register_workflow($subpluginname) { $workflow = workflow_manager::create_workflow( - get_string('pluginname', 'cleanupcoursestrigger_' . $subpluginname)); + get_string('pluginname', 'lifecycletrigger_' . $subpluginname)); $record = new \stdClass(); $record->subpluginname = $subpluginname; - $record->instancename = get_string('pluginname', 'cleanupcoursestrigger_' . $subpluginname); + $record->instancename = get_string('pluginname', 'lifecycletrigger_' . $subpluginname); $record->workflowid = $workflow->id; $trigger = trigger_subplugin::from_record($record); self::insert_or_update($trigger); @@ -63,7 +63,7 @@ class trigger_manager extends subplugin_manager { public static function get_instances($subpluginname) { global $DB; $result = array(); - $records = $DB->get_records('tool_cleanupcourses_trigger', array('subpluginname' => $subpluginname)); + $records = $DB->get_records('tool_lifecycle_trigger', array('subpluginname' => $subpluginname)); foreach ($records as $record) { $subplugin = trigger_subplugin::from_record($record); $result [] = $subplugin; @@ -78,7 +78,7 @@ class trigger_manager extends subplugin_manager { */ private static function get_subplugin_by_id($subpluginid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_trigger', array('id' => $subpluginid)); + $record = $DB->get_record('tool_lifecycle_trigger', array('id' => $subpluginid)); if ($record) { $subplugin = trigger_subplugin::from_record($record); return $subplugin; @@ -95,9 +95,9 @@ class trigger_manager extends subplugin_manager { global $DB; $transaction = $DB->start_delegated_transaction(); if ($subplugin->id) { - $DB->update_record('tool_cleanupcourses_trigger', $subplugin); + $DB->update_record('tool_lifecycle_trigger', $subplugin); } else { - $subplugin->id = $DB->insert_record('tool_cleanupcourses_trigger', $subplugin); + $subplugin->id = $DB->insert_record('tool_lifecycle_trigger', $subplugin); } $transaction->allow_commit(); } @@ -109,11 +109,11 @@ class trigger_manager extends subplugin_manager { */ public static function remove_all_instances($subpluginname) { global $DB; - $records = $DB->get_records('tool_cleanupcourses_trigger', array('subpluginname' => $subpluginname)); + $records = $DB->get_records('tool_lifecycle_trigger', array('subpluginname' => $subpluginname)); foreach ($records as $record) { settings_manager::remove_settings($record->id, SETTINGS_TYPE_TRIGGER); } - $DB->delete_records('tool_cleanupcourses_trigger', array('subpluginname' => $subpluginname)); + $DB->delete_records('tool_lifecycle_trigger', array('subpluginname' => $subpluginname)); } /** @@ -124,7 +124,7 @@ class trigger_manager extends subplugin_manager { */ public static function get_trigger_for_workflow($workflowid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_trigger', array('workflowid' => $workflowid)); + $record = $DB->get_record('tool_lifecycle_trigger', array('workflowid' => $workflowid)); if ($record) { $subplugin = trigger_subplugin::from_record($record); return $subplugin; @@ -138,10 +138,10 @@ class trigger_manager extends subplugin_manager { * @return array of step subplugins. */ public static function get_trigger_types() { - $subplugins = \core_component::get_plugin_list('cleanupcoursestrigger'); + $subplugins = \core_component::get_plugin_list('lifecycletrigger'); $result = array(); foreach (array_keys($subplugins) as $plugin) { - $result[$plugin] = get_string('pluginname', 'cleanupcoursestrigger_' . $plugin); + $result[$plugin] = get_string('pluginname', 'lifecycletrigger_' . $plugin); } return $result; } @@ -168,7 +168,7 @@ class trigger_manager extends subplugin_manager { */ public static function remove_instances_of_workflow($workflowid) { global $DB; - $DB->delete_records('tool_cleanupcourses_trigger', array('workflowid' => $workflowid)); + $DB->delete_records('tool_lifecycle_trigger', array('workflowid' => $workflowid)); } /** diff --git a/classes/manager/workflow_manager.php b/classes/manager/workflow_manager.php index fbc6bb0..407ff83 100644 --- a/classes/manager/workflow_manager.php +++ b/classes/manager/workflow_manager.php @@ -15,17 +15,17 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Manager for Cleanup Course Workflows + * Manager for Life Cycle Workflows * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\manager; +namespace tool_lifecycle\manager; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\local\data\manual_trigger_tool; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\local\data\manual_trigger_tool; defined('MOODLE_INTERNAL') || die(); @@ -39,9 +39,9 @@ class workflow_manager { global $DB; $transaction = $DB->start_delegated_transaction(); if ($workflow->id) { - $DB->update_record('tool_cleanupcourses_workflow', $workflow); + $DB->update_record('tool_lifecycle_workflow', $workflow); } else { - $workflow->id = $DB->insert_record('tool_cleanupcourses_workflow', $workflow); + $workflow->id = $DB->insert_record('tool_lifecycle_workflow', $workflow); } $transaction->allow_commit(); } @@ -54,7 +54,7 @@ class workflow_manager { global $DB; trigger_manager::remove_instances_of_workflow($workflowid); step_manager::remove_instances_of_workflow($workflowid); - $DB->delete_records('tool_cleanupcourses_workflow', array('id' => $workflowid)); + $DB->delete_records('tool_lifecycle_workflow', array('id' => $workflowid)); } /** @@ -64,7 +64,7 @@ class workflow_manager { */ public static function get_workflow($workflowid) { global $DB; - $record = $DB->get_record('tool_cleanupcourses_workflow', array('id' => $workflowid)); + $record = $DB->get_record('tool_lifecycle_workflow', array('id' => $workflowid)); if ($record) { $workflow = workflow::from_record($record); return $workflow; @@ -79,7 +79,7 @@ class workflow_manager { */ public static function get_active_workflows() { global $DB; - $records = $DB->get_records('tool_cleanupcourses_workflow', array('active' => true), + $records = $DB->get_records('tool_lifecycle_workflow', array('active' => true), 'sortindex ASC'); $result = array(); foreach ($records as $record) { @@ -94,7 +94,7 @@ class workflow_manager { */ public static function get_active_automatic_workflows() { global $DB; - $records = $DB->get_records('tool_cleanupcourses_workflow', array('active' => true, 'manual' => false), + $records = $DB->get_records('tool_lifecycle_workflow', array('active' => true, 'manual' => false), 'sortindex ASC'); $result = array(); foreach ($records as $record) { @@ -109,7 +109,7 @@ class workflow_manager { */ public static function get_active_manual_workflow_triggers() { global $DB; - $sql = 'SELECT t.* FROM {tool_cleanupcourses_workflow} w JOIN {tool_cleanupcourses_trigger} t ON t.workflowid = w.id'. + $sql = 'SELECT t.* FROM {tool_lifecycle_workflow} w JOIN {tool_lifecycle_trigger} t ON t.workflowid = w.id'. ' WHERE w.active = ? AND w.manual = ?'; $records = $DB->get_records_sql($sql, array(true, true)); $result = array(); @@ -142,7 +142,7 @@ class workflow_manager { global $DB, $OUTPUT; if (!self::is_valid($workflowid)) { echo $OUTPUT->notification( - get_string('invalid_workflow_cannot_be_activated', 'tool_cleanupcourses'), + get_string('invalid_workflow_cannot_be_activated', 'tool_lifecycle'), 'warning'); return; } @@ -183,7 +183,7 @@ class workflow_manager { } if ($action === ACTION_WORKFLOW_DELETE) { if (self::is_active($workflowid)) { - echo $OUTPUT->notification(get_string('active_workflow_not_removeable', 'tool_cleanupcourses') + echo $OUTPUT->notification(get_string('active_workflow_not_removeable', 'tool_lifecycle') , 'warning'); } else { @@ -220,7 +220,7 @@ class workflow_manager { } $transaction = $DB->start_delegated_transaction(); - $otherrecord = $DB->get_record('tool_cleanupcourses_workflow', + $otherrecord = $DB->get_record('tool_lifecycle_workflow', array( 'sortindex' => $otherindex) ); @@ -279,7 +279,7 @@ class workflow_manager { public static function duplicate_workflow($workflowid) { $oldworkflow = self::get_workflow($workflowid); try { - $newtitle = get_string('workflow_duplicate_title', 'tool_cleanupcourses', $oldworkflow->title); + $newtitle = get_string('workflow_duplicate_title', 'tool_lifecycle', $oldworkflow->title); } catch (\coding_exception $e) { $newtitle = $oldworkflow->title; } diff --git a/classes/plugininfo/cleanupcoursesstep.php b/classes/plugininfo/lifecyclestep.php similarity index 85% rename from classes/plugininfo/cleanupcoursesstep.php rename to classes/plugininfo/lifecyclestep.php index 41d79fe..c98c550 100644 --- a/classes/plugininfo/cleanupcoursesstep.php +++ b/classes/plugininfo/lifecyclestep.php @@ -15,23 +15,23 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Pluginfo for cleanup courses step + * Pluginfo for life cycle step * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\plugininfo; +namespace tool_lifecycle\plugininfo; use core\plugininfo\base; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die(); -class cleanupcoursesstep extends base { +class lifecyclestep extends base { public function is_uninstall_allowed() { if ($this->is_standard()) { return false; diff --git a/classes/plugininfo/cleanupcoursestrigger.php b/classes/plugininfo/lifecycletrigger.php similarity index 86% rename from classes/plugininfo/cleanupcoursestrigger.php rename to classes/plugininfo/lifecycletrigger.php index a8fedc6..7b252e9 100644 --- a/classes/plugininfo/cleanupcoursestrigger.php +++ b/classes/plugininfo/lifecycletrigger.php @@ -15,26 +15,26 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Pluginfo for cleanup courses trigger + * Pluginfo for life cycle trigger * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\plugininfo; +namespace tool_lifecycle\plugininfo; use core\plugininfo\base; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; use tool_usertours\step; defined('MOODLE_INTERNAL') || die(); -class cleanupcoursestrigger extends base { +class lifecycletrigger extends base { public function is_uninstall_allowed() { if ($this->is_standard()) { return false; diff --git a/classes/cleanup_processor.php b/classes/processor.php similarity index 86% rename from classes/cleanup_processor.php rename to classes/processor.php index 6dc4094..3d91ae5 100644 --- a/classes/cleanup_processor.php +++ b/classes/processor.php @@ -15,28 +15,28 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Offers functionality to trigger, process and finish cleanup processes. + * Offers functionality to trigger, process and finish lifecycle processes. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses; +namespace tool_lifecycle; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\response\step_interactive_response; -use tool_cleanupcourses\response\step_response; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\response\step_interactive_response; +use tool_lifecycle\response\step_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die; -class cleanup_processor { +class processor { public function __construct() { @@ -151,15 +151,15 @@ class cleanup_processor { /** * Returns a record set with all relevant courses. - * Relevant means that there is currently no cleanup process running for this course. + * Relevant means that there is currently no lifecycle process running for this course. * @return \moodle_recordset with relevant courses. */ private function get_course_recordset() { global $DB; $sql = 'SELECT {course}.* from {course} '. - 'left join {tool_cleanupcourses_process} '. - 'ON {course}.id = {tool_cleanupcourses_process}.courseid '. - 'WHERE {tool_cleanupcourses_process}.courseid is null'; + 'left join {tool_lifecycle_process} '. + 'ON {course}.id = {tool_lifecycle_process}.courseid '. + 'WHERE {tool_lifecycle_process}.courseid is null'; return $DB->get_recordset_sql($sql); } diff --git a/classes/response/step_interactive_response.php b/classes/response/step_interactive_response.php index 59d0ee5..c9e2cb2 100644 --- a/classes/response/step_interactive_response.php +++ b/classes/response/step_interactive_response.php @@ -17,11 +17,11 @@ /** * Possible Responses of a Subplugin for interaction handling * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\response; +namespace tool_lifecycle\response; defined('MOODLE_INTERNAL') || die(); diff --git a/classes/response/step_response.php b/classes/response/step_response.php index c47bf49..6008503 100644 --- a/classes/response/step_response.php +++ b/classes/response/step_response.php @@ -17,11 +17,11 @@ /** * Possible Responses of a Subplugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\response; +namespace tool_lifecycle\response; defined('MOODLE_INTERNAL') || die(); diff --git a/classes/response/trigger_response.php b/classes/response/trigger_response.php index f23d30d..090704e 100644 --- a/classes/response/trigger_response.php +++ b/classes/response/trigger_response.php @@ -17,11 +17,11 @@ /** * Possible Responses of a Trigger Subplugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\response; +namespace tool_lifecycle\response; defined('MOODLE_INTERNAL') || die(); @@ -51,7 +51,7 @@ class trigger_response { } /** - * Creates a TriggerResponse telling that the subplugin wants to exlude the course from cleanup. + * Creates a TriggerResponse telling that the subplugin wants to exlude the course from being processed. * @return trigger_response */ public static function exclude() { @@ -59,7 +59,7 @@ class trigger_response { } /** - * Creates a TriggerResponse telling that the subplugin wants to trigger the cleanup process for the course. + * Creates a TriggerResponse telling that the subplugin wants to trigger a lifecycle process for the course. * @return trigger_response */ public static function trigger() { diff --git a/classes/table/active_automatic_workflows_table.php b/classes/table/active_automatic_workflows_table.php index ee2b0ce..28663c8 100644 --- a/classes/table/active_automatic_workflows_table.php +++ b/classes/table/active_automatic_workflows_table.php @@ -17,16 +17,16 @@ /** * Table listing all active automatically triggered workflows. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -42,7 +42,7 @@ class active_automatic_workflows_table extends workflow_table { list($sqlwheremanual, $paramsmanual) = $DB->get_in_or_equal(false); $sqlwhere = 'active ' . $sqlwhereactive . ' AND manual ' . $sqlwheremanual; $params[1] = $paramsmanual[0]; - $this->set_sql("id, title, displaytitle, timeactive, sortindex", '{tool_cleanupcourses_workflow}', + $this->set_sql("id, title, displaytitle, timeactive, sortindex", '{tool_lifecycle_workflow}', $sqlwhere, $params); $this->define_baseurl($PAGE->url); $this->pageable(false); @@ -52,12 +52,12 @@ class active_automatic_workflows_table extends workflow_table { public function init() { $this->define_columns(['title', 'timeactive', 'trigger', 'processes', 'sortindex', 'tools']); $this->define_headers([ - get_string('workflow_title', 'tool_cleanupcourses'), - get_string('workflow_timeactive', 'tool_cleanupcourses'), - get_string('trigger', 'tool_cleanupcourses'), - get_string('workflow_processes', 'tool_cleanupcourses'), - get_string('workflow_sortindex', 'tool_cleanupcourses'), - get_string('workflow_tools', 'tool_cleanupcourses'), + get_string('workflow_title', 'tool_lifecycle'), + get_string('workflow_timeactive', 'tool_lifecycle'), + get_string('trigger', 'tool_lifecycle'), + get_string('workflow_processes', 'tool_lifecycle'), + get_string('workflow_sortindex', 'tool_lifecycle'), + get_string('workflow_tools', 'tool_lifecycle'), ]); $this->sortable(false, 'sortindex'); $this->setup(); diff --git a/classes/table/active_manual_workflows_table.php b/classes/table/active_manual_workflows_table.php index 6abc497..e4ba56e 100644 --- a/classes/table/active_manual_workflows_table.php +++ b/classes/table/active_manual_workflows_table.php @@ -17,16 +17,16 @@ /** * Table listing all active manually triggered workflows. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -42,7 +42,7 @@ class active_manual_workflows_table extends workflow_table { list($sqlwheremanual, $paramsmanual) = $DB->get_in_or_equal(true); $sqlwhere = 'active ' . $sqlwhereactive . ' AND manual ' . $sqlwheremanual; $params[1] = $paramsmanual[0]; - $this->set_sql("id, title, displaytitle, timeactive", '{tool_cleanupcourses_workflow}', + $this->set_sql("id, title, displaytitle, timeactive", '{tool_lifecycle_workflow}', $sqlwhere, $params); $this->define_baseurl($PAGE->url); $this->pageable(false); @@ -52,11 +52,11 @@ class active_manual_workflows_table extends workflow_table { public function init() { $this->define_columns(['title', 'timeactive', 'trigger', 'processes', 'tools']); $this->define_headers([ - get_string('workflow_title', 'tool_cleanupcourses'), - get_string('workflow_timeactive', 'tool_cleanupcourses'), - get_string('trigger', 'tool_cleanupcourses'), - get_string('workflow_processes', 'tool_cleanupcourses'), - get_string('workflow_tools', 'tool_cleanupcourses'), + get_string('workflow_title', 'tool_lifecycle'), + get_string('workflow_timeactive', 'tool_lifecycle'), + get_string('trigger', 'tool_lifecycle'), + get_string('workflow_processes', 'tool_lifecycle'), + get_string('workflow_tools', 'tool_lifecycle'), ]); $this->sortable(true, 'title'); $this->setup(); diff --git a/classes/table/active_processes_table.php b/classes/table/active_processes_table.php index 6e866f6..942d0ab 100644 --- a/classes/table/active_processes_table.php +++ b/classes/table/active_processes_table.php @@ -17,11 +17,11 @@ /** * Table listing active processes * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; defined('MOODLE_INTERNAL') || die; @@ -37,9 +37,9 @@ class active_processes_table extends \table_sql { 'c.fullname as coursefullname, ' . 'c.shortname as courseshortname, ' . 'instancename as instancename ', - '{tool_cleanupcourses_process} p join ' . + '{tool_lifecycle_process} p join ' . '{course} c on p.courseid = c.id join ' . - '{tool_cleanupcourses_step} s '. + '{tool_lifecycle_step} s '. 'on p.workflowid = s.workflowid AND p.stepindex = s.sortindex', "TRUE"); $this->define_baseurl($PAGE->url); @@ -52,7 +52,7 @@ class active_processes_table extends \table_sql { get_string('course'), get_string('shortnamecourse'), get_string('fullnamecourse'), - get_string('step', 'tool_cleanupcourses')]); + get_string('step', 'tool_lifecycle')]); $this->setup(); } diff --git a/classes/table/course_backups_table.php b/classes/table/course_backups_table.php index ab57a8e..6e75856 100644 --- a/classes/table/course_backups_table.php +++ b/classes/table/course_backups_table.php @@ -17,11 +17,11 @@ /** * Table listing course backups * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; defined('MOODLE_INTERNAL') || die; @@ -34,7 +34,7 @@ class course_backups_table extends \table_sql { global $PAGE; $this->set_attribute('class', $this->attributes['class'] . ' ' . $uniqueid); $this->set_sql('b.*', - '{tool_cleanupcourses_backups} b', + '{tool_lifecycle_backups} b', "TRUE"); $this->define_baseurl($PAGE->url); $this->init(); @@ -46,8 +46,8 @@ class course_backups_table extends \table_sql { get_string('course'), get_string('shortnamecourse'), get_string('fullnamecourse'), - get_string('backupcreated', 'tool_cleanupcourses'), - get_string('tools', 'tool_cleanupcourses')]); + get_string('backupcreated', 'tool_lifecycle'), + get_string('tools', 'tool_lifecycle')]); $this->setup(); } @@ -106,8 +106,8 @@ class course_backups_table extends \table_sql { */ public function col_tools($row) { return \html_writer::link( - new \moodle_url('/admin/tool/cleanupcourses/restore.php', array('backupid' => $row->id)), - get_string('restore', 'tool_cleanupcourses') + new \moodle_url('/admin/tool/lifecycle/restore.php', array('backupid' => $row->id)), + get_string('restore', 'tool_lifecycle') ); } } \ No newline at end of file diff --git a/classes/table/interaction_attention_table.php b/classes/table/interaction_attention_table.php index 00cafc9..1483186 100644 --- a/classes/table/interaction_attention_table.php +++ b/classes/table/interaction_attention_table.php @@ -17,15 +17,15 @@ /** * Table listing all courses for a specific user and a specific subplugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\interaction_manager; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\step_manager; +use tool_lifecycle\manager\interaction_manager; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\step_manager; defined('MOODLE_INTERNAL') || die; @@ -39,9 +39,9 @@ class interaction_attention_table extends interaction_table { $fields = 'p.id as processid, c.id as courseid, c.fullname as coursefullname, c.shortname as courseshortname, '. 's.id as stepinstanceid, s.instancename as stepinstancename, s.subpluginname as subpluginname'; - $from = '{tool_cleanupcourses_process} p join ' . + $from = '{tool_lifecycle_process} p join ' . '{course} c on p.courseid = c.id join ' . - '{tool_cleanupcourses_step} s '. + '{tool_lifecycle_step} s '. 'on p.workflowid = s.workflowid AND p.stepindex = s.sortindex'; $ids = implode(',', $courseids); @@ -65,9 +65,9 @@ class interaction_attention_table extends interaction_table { get_string('course'), get_string('shortnamecourse'), get_string('fullnamecourse'), - get_string('status', 'tool_cleanupcourses'), - get_string('tools', 'tool_cleanupcourses'), - get_string('date', 'tool_cleanupcourses'), + get_string('status', 'tool_lifecycle'), + get_string('tools', 'tool_lifecycle'), + get_string('date', 'tool_lifecycle'), ]); $this->setup(); } diff --git a/classes/table/interaction_remaining_table.php b/classes/table/interaction_remaining_table.php index 82915c1..859f23f 100644 --- a/classes/table/interaction_remaining_table.php +++ b/classes/table/interaction_remaining_table.php @@ -17,13 +17,13 @@ /** * Table listing all courses for a specific user and a specific subplugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -42,7 +42,7 @@ class interaction_remaining_table extends interaction_table { $fields = 'c.id as courseid, p.id as processid, c.fullname as coursefullname, c.shortname as courseshortname '; $from = '{course} c left join ' . - '{tool_cleanupcourses_process} p on p.courseid = c.id '; + '{tool_lifecycle_process} p on p.courseid = c.id '; $ids = implode(',', $courseids); @@ -65,8 +65,8 @@ class interaction_remaining_table extends interaction_table { get_string('course'), get_string('shortnamecourse'), get_string('fullnamecourse'), - get_string('status', 'tool_cleanupcourses'), - get_string('tools', 'tool_cleanupcourses'), + get_string('status', 'tool_lifecycle'), + get_string('tools', 'tool_lifecycle'), ]); $this->setup(); } @@ -85,7 +85,7 @@ class interaction_remaining_table extends interaction_table { $actions = []; foreach ($this->availabletools as $tool) { - if (has_capability($tool->capability, \context_course::instance($row->courseid))) { + if (has_capability($tool->capability, \context_course::instance($row->courseid), null, false)) { $actions[$tool->triggerid] = new \action_menu_link_secondary( new \moodle_url($PAGE->url, array('triggerid' => $tool->triggerid, 'courseid' => $row->courseid, 'sesskey' => sesskey())), diff --git a/classes/table/interaction_table.php b/classes/table/interaction_table.php index 5d4830d..cf338f9 100644 --- a/classes/table/interaction_table.php +++ b/classes/table/interaction_table.php @@ -17,17 +17,17 @@ /** * Table listing all courses for a specific user and a specific subplugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\interaction_manager; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\interaction_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -106,6 +106,6 @@ abstract class interaction_table extends \table_sql { $this->print_initials_bar(); - echo $OUTPUT->box(get_string('nocoursestodisplay', 'tool_cleanupcourses')); + echo $OUTPUT->box(get_string('nocoursestodisplay', 'tool_lifecycle')); } } \ No newline at end of file diff --git a/classes/table/step_table.php b/classes/table/step_table.php index 70e4714..3306de0 100644 --- a/classes/table/step_table.php +++ b/classes/table/step_table.php @@ -17,16 +17,16 @@ /** * Table listing step instances * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -45,7 +45,7 @@ class step_table extends \table_sql { $this->workflowid = $workflowid; list($sqlwhere, $params) = $DB->get_in_or_equal($workflowid); $this->set_sql("id, subpluginname, instancename, sortindex", - '{tool_cleanupcourses_step}', + '{tool_lifecycle_step}', "workflowid " . $sqlwhere, $params); $this->define_baseurl($PAGE->url); $this->pageable(false); @@ -69,20 +69,20 @@ class step_table extends \table_sql { public function init() { $columns = ['type', 'instancename', 'subpluginname']; $headers = [ - get_string('step_type', 'tool_cleanupcourses'), - get_string('step_instancename', 'tool_cleanupcourses'), - get_string('step_subpluginname', 'tool_cleanupcourses'), + get_string('step_type', 'tool_lifecycle'), + get_string('step_instancename', 'tool_lifecycle'), + get_string('step_subpluginname', 'tool_lifecycle'), ]; if (workflow_manager::is_active($this->workflowid)) { $columns [] = 'show'; - $headers [] = get_string('step_show', 'tool_cleanupcourses'); + $headers [] = get_string('step_show', 'tool_lifecycle'); } else { $columns [] = 'sortindex'; - $headers [] = get_string('step_sortindex', 'tool_cleanupcourses'); + $headers [] = get_string('step_sortindex', 'tool_lifecycle'); $columns [] = 'edit'; - $headers [] = get_string('step_edit', 'tool_cleanupcourses'); + $headers [] = get_string('step_edit', 'tool_lifecycle'); $columns [] = 'delete'; - $headers [] = get_string('step_delete', 'tool_cleanupcourses'); + $headers [] = get_string('step_delete', 'tool_lifecycle'); } $this->define_columns($columns); $this->define_headers($headers); @@ -97,9 +97,9 @@ class step_table extends \table_sql { */ public function col_type($row) { if (empty($row->type)) { - return get_string('step', 'tool_cleanupcourses'); + return get_string('step', 'tool_lifecycle'); } - return get_string('trigger', 'tool_cleanupcourses'); + return get_string('trigger', 'tool_lifecycle'); } /** @@ -111,9 +111,9 @@ class step_table extends \table_sql { $subpluginname = $row->subpluginname; if (empty($row->type)) { - return get_string('pluginname', 'cleanupcoursesstep_' . $subpluginname); + return get_string('pluginname', 'lifecyclestep_' . $subpluginname); } else { - return get_string('pluginname', 'cleanupcoursestrigger_' . $subpluginname); + return get_string('pluginname', 'lifecycletrigger_' . $subpluginname); } } diff --git a/classes/table/workflow_definition_table.php b/classes/table/workflow_definition_table.php index b5cccdd..d0d6a54 100644 --- a/classes/table/workflow_definition_table.php +++ b/classes/table/workflow_definition_table.php @@ -17,16 +17,16 @@ /** * Table listing all workflow definitions. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -38,7 +38,7 @@ class workflow_definition_table extends workflow_table { public function __construct($uniqueid) { parent::__construct($uniqueid); global $PAGE; - $this->set_sql("id, title, timeactive, displaytitle", '{tool_cleanupcourses_workflow}', "TRUE"); + $this->set_sql("id, title, timeactive, displaytitle", '{tool_lifecycle_workflow}', "TRUE"); $this->define_baseurl($PAGE->url); $this->pageable(false); $this->init(); @@ -47,9 +47,9 @@ class workflow_definition_table extends workflow_table { public function init() { $this->define_columns(['title', 'timeactive', 'tools']); $this->define_headers([ - get_string('workflow_title', 'tool_cleanupcourses'), - get_string('workflow_timeactive', 'tool_cleanupcourses'), - get_string('workflow_tools', 'tool_cleanupcourses'), + get_string('workflow_title', 'tool_lifecycle'), + get_string('workflow_timeactive', 'tool_lifecycle'), + get_string('workflow_tools', 'tool_lifecycle'), ]); $this->sortable(false, 'title'); $this->setup(); @@ -70,10 +70,10 @@ class workflow_definition_table extends workflow_table { array('action' => ACTION_WORKFLOW_ACTIVATE, 'sesskey' => sesskey(), 'workflowid' => $row->id)), - get_string('activateworkflow', 'tool_cleanupcourses')); + get_string('activateworkflow', 'tool_lifecycle')); } else { - return $OUTPUT->pix_icon('i/warning', get_string('invalid_workflow_details', 'tool_cleanupcourses')) . - get_string('invalid_workflow', 'tool_cleanupcourses'); + return $OUTPUT->pix_icon('i/warning', get_string('invalid_workflow_details', 'tool_lifecycle')) . + get_string('invalid_workflow', 'tool_lifecycle'); } } @@ -86,9 +86,9 @@ class workflow_definition_table extends workflow_table { global $OUTPUT; $output = ''; - $alt = get_string('viewsteps', 'tool_cleanupcourses'); + $alt = get_string('viewsteps', 'tool_lifecycle'); $icon = 't/viewdetails'; - $url = new \moodle_url('/admin/tool/cleanupcourses/workflowsettings.php', + $url = new \moodle_url('/admin/tool/lifecycle/workflowsettings.php', array('workflowid' => $row->id, 'sesskey' => sesskey())); $output .= $OUTPUT->action_icon($url, new \pix_icon($icon, $alt, 'moodle', array('title' => $alt)), null, array('title' => $alt)); @@ -101,18 +101,18 @@ class workflow_definition_table extends workflow_table { if (!isset($lib) || $lib->has_multiple_instances()) { $action = ACTION_WORKFLOW_DUPLICATE; - $alt = get_string('duplicateworkflow', 'tool_cleanupcourses'); + $alt = get_string('duplicateworkflow', 'tool_lifecycle'); $icon = 't/copy'; $output .= $this->format_icon_link($action, $row->id, $icon, $alt); $action = ACTION_WORKFLOW_INSTANCE_FROM; - $alt = get_string('editworkflow', 'tool_cleanupcourses'); + $alt = get_string('editworkflow', 'tool_lifecycle'); $icon = 't/edit'; $output .= $this->format_icon_link($action, $row->id, $icon, $alt); if (!workflow_manager::is_active($row->id)) { $action = ACTION_WORKFLOW_DELETE; - $alt = get_string('deleteworkflow', 'tool_cleanupcourses'); + $alt = get_string('deleteworkflow', 'tool_lifecycle'); $icon = 't/delete'; $output .= $this->format_icon_link($action, $row->id, $icon, $alt); } diff --git a/classes/table/workflow_table.php b/classes/table/workflow_table.php index 642901f..1ddc25b 100644 --- a/classes/table/workflow_table.php +++ b/classes/table/workflow_table.php @@ -17,16 +17,16 @@ /** * Table listing all active automatically triggered workflows. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2018 Jan Dageförde WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\table; +namespace tool_lifecycle\table; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; defined('MOODLE_INTERNAL') || die; @@ -62,7 +62,7 @@ abstract class workflow_table extends \table_sql { array('action' => ACTION_WORKFLOW_ACTIVATE, 'sesskey' => sesskey(), 'workflowid' => $row->id)), - get_string('activateworkflow', 'tool_cleanupcourses')); + get_string('activateworkflow', 'tool_lifecycle')); } /** @@ -95,9 +95,9 @@ abstract class workflow_table extends \table_sql { global $OUTPUT; $output = ''; - $alt = get_string('viewsteps', 'tool_cleanupcourses'); + $alt = get_string('viewsteps', 'tool_lifecycle'); $icon = 't/viewdetails'; - $url = new \moodle_url('/admin/tool/cleanupcourses/workflowsettings.php', + $url = new \moodle_url('/admin/tool/lifecycle/workflowsettings.php', array('workflowid' => $row->id, 'sesskey' => sesskey())); $output .= $OUTPUT->action_icon($url, new \pix_icon($icon, $alt, 'moodle', array('title' => $alt)), null , array('title' => $alt)); diff --git a/classes/task/process_cleanup.php b/classes/task/lifecycle_task.php similarity index 72% rename from classes/task/process_cleanup.php rename to classes/task/lifecycle_task.php index 2e4ecc4..12092df 100644 --- a/classes/task/process_cleanup.php +++ b/classes/task/lifecycle_task.php @@ -15,32 +15,32 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Scheduled task for processing the cleanup + * Scheduled task for working on lifecycle processes * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\task; +namespace tool_lifecycle\task; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\cleanup_processor; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\processor; defined('MOODLE_INTERNAL') || die; -class process_cleanup extends \core\task\scheduled_task { +class lifecycle_task extends \core\task\scheduled_task { public function get_name() { - return get_string('process_cleanup', 'tool_cleanupcourses'); + return get_string('lifecycle_task', 'tool_lifecycle'); } public function execute() { - $processor = new cleanup_processor(); + $processor = new processor(); $processor->call_trigger(); $steps = step_manager::get_step_types(); - /* @var \tool_cleanupcourses\step\libbase[] $steplibs stores the lib classes of all step subplugins.*/ + /* @var \tool_lifecycle\step\libbase[] $steplibs stores the lib classes of all step subplugins.*/ $steplibs = array(); foreach ($steps as $id => $step) { $steplibs[$id] = lib_manager::get_step_lib($id); diff --git a/classes/view_controller.php b/classes/view_controller.php index 34e5bff..d893986 100644 --- a/classes/view_controller.php +++ b/classes/view_controller.php @@ -16,28 +16,28 @@ /** * Controller for view.php - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2018 Tamara Gunkel, Jan Dageförde (WWU) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses; +namespace tool_lifecycle; use core\notification; -use tool_cleanupcourses\manager\interaction_manager; -use tool_cleanupcourses\manager\lib_manager; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\table\interaction_remaining_table; -use tool_cleanupcourses\table\interaction_attention_table; +use tool_lifecycle\manager\interaction_manager; +use tool_lifecycle\manager\lib_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\table\interaction_remaining_table; +use tool_lifecycle\table\interaction_attention_table; defined('MOODLE_INTERNAL') || die(); /** * Controller for view.php - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2018 Tamara Gunkel, Jan Dageförde (WWU) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -52,7 +52,7 @@ class view_controller { public function handle_view($renderer) { global $DB; - $courses = get_user_capability_course('tool/cleanupcourses:managecourses', null, false); + $courses = get_user_capability_course('tool/lifecycle:managecourses', null, false); if (!$courses) { echo 'no courses'; // TODO show error. @@ -67,9 +67,9 @@ class view_controller { $processes = $DB->get_recordset_sql("SELECT p.id as processid, c.id as courseid, c.fullname as coursefullname, " . "c.shortname as courseshortname, s.id as stepinstanceid, s.instancename as stepinstancename, s.subpluginname " . - "FROM {tool_cleanupcourses_process} p join " . + "FROM {tool_lifecycle_process} p join " . "{course} c on p.courseid = c.id join " . - "{tool_cleanupcourses_step} s ". + "{tool_lifecycle_step} s ". "on p.workflowid = s.workflowid AND p.stepindex = s.sortindex " . "WHERE p.courseid IN (". $listofcourseids . ")"); @@ -86,18 +86,18 @@ class view_controller { } } - echo $renderer->heading(get_string('tablecoursesrequiringattention', 'tool_cleanupcourses'), 3); - $table1 = new interaction_attention_table('tool_cleanupcourses_interaction', $requiresinteraction); + echo $renderer->heading(get_string('tablecoursesrequiringattention', 'tool_lifecycle'), 3); + $table1 = new interaction_attention_table('tool_lifecycle_interaction', $requiresinteraction); echo $renderer->box_start("managing_courses_tables"); $table1->out(50, false); echo $renderer->box_end(); echo $renderer->box(""); - echo $renderer->heading(get_string('tablecoursesremaining', 'tool_cleanupcourses'), 3); - $table2 = new interaction_remaining_table('tool_cleanupcourses_remaining', $arrayofcourseids); + echo $renderer->heading(get_string('tablecoursesremaining', 'tool_lifecycle'), 3); + $table2 = new interaction_remaining_table('tool_lifecycle_remaining', $arrayofcourseids); - echo $renderer->box_start("cleanupcourses-enable-overflow cleanupcourses-table"); + echo $renderer->box_start("lifecycle-enable-overflow lifecycle-table"); $table2->out(50, false); echo $renderer->box_end(); } @@ -118,7 +118,7 @@ class view_controller { require_capability($capability, \context_course::instance($process->courseid), null, false); if (interaction_manager::handle_interaction($stepid, $processid, $action)) { - redirect($PAGE->url, get_string('interaction_success', 'tool_cleanupcourses'), null, notification::SUCCESS); + redirect($PAGE->url, get_string('interaction_success', 'tool_lifecycle'), null, notification::SUCCESS); } } @@ -135,7 +135,7 @@ class view_controller { $trigger = trigger_manager::get_instance($triggerid); $lib = lib_manager::get_trigger_lib($trigger->subpluginname); if (!$lib->is_manual_trigger()) { - throw new \moodle_exception('error_wrong_trigger_selected', 'tool_cleanupcourses'); + throw new \moodle_exception('error_wrong_trigger_selected', 'tool_lifecycle'); } // Check if user has capability. @@ -145,15 +145,15 @@ class view_controller { // Check if course does not have a running process. $runningprocess = process_manager::get_process_by_course_id($courseid); if ($runningprocess !== null) { - redirect($PAGE->url, get_string('manual_trigger_process_existed', 'tool_cleanupcourses'), null, notification::ERROR); + redirect($PAGE->url, get_string('manual_trigger_process_existed', 'tool_lifecycle'), null, notification::ERROR); } // Actually trigger process. $process = process_manager::manually_trigger_process($courseid, $triggerid); - $processor = new cleanup_processor(); + $processor = new processor(); if ($processor->process_course_interactive($process->id)) { - redirect($PAGE->url, get_string('manual_trigger_success', 'tool_cleanupcourses'), null, notification::SUCCESS); + redirect($PAGE->url, get_string('manual_trigger_success', 'tool_lifecycle'), null, notification::SUCCESS); } } } \ No newline at end of file diff --git a/codecov.yml b/codecov.yml index eaa2a44..82b2913 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,5 +1,5 @@ fixes: - - "moodle/admin/tool/cleanupcourses/::" + - "moodle/admin/tool/lifecycle/::" ignore: # artificial/Moodle API files - "classes/plugininfo/*" diff --git a/coursebackups.php b/coursebackups.php index b31f158..6c8aee2 100644 --- a/coursebackups.php +++ b/coursebackups.php @@ -17,7 +17,7 @@ /** * Display the list of all course backups * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -28,16 +28,16 @@ $PAGE->set_context(context_system::instance()); require_login(null, false); require_capability('moodle/site:config', context_system::instance()); -admin_externalpage_setup('tool_cleanupcourses_coursebackups'); +admin_externalpage_setup('tool_lifecycle_coursebackups'); -$PAGE->set_url(new \moodle_url('/admin/tool/cleanupcourses/coursebackups.php')); +$PAGE->set_url(new \moodle_url('/admin/tool/lifecycle/coursebackups.php')); -$table = new tool_cleanupcourses\table\course_backups_table('tool_cleanupcourses_course_backups'); +$table = new tool_lifecycle\table\course_backups_table('tool_lifecycle_course_backups'); -$PAGE->set_title(get_string('course_backups_list_header', 'tool_cleanupcourses')); -$PAGE->set_heading(get_string('course_backups_list_header', 'tool_cleanupcourses')); +$PAGE->set_title(get_string('course_backups_list_header', 'tool_lifecycle')); +$PAGE->set_heading(get_string('course_backups_list_header', 'tool_lifecycle')); -$renderer = $PAGE->get_renderer('tool_cleanupcourses'); +$renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); $table->out(50, false); diff --git a/db/access.php b/db/access.php index 0102a2c..37c42da 100644 --- a/db/access.php +++ b/db/access.php @@ -15,8 +15,8 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Capability definitions for the tool_cleanupcourses plugin - * @package tool_cleanupcourses + * Capability definitions for the tool_lifecycle plugin + * @package tool_lifecycle * @copyright 2018 Tamara Gunkel, Jan Dageförde (WWU) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -24,7 +24,7 @@ defined('MOODLE_INTERNAL') || die(); $capabilities = array( - 'tool/cleanupcourses:managecourses' => array( + 'tool/lifecycle:managecourses' => array( 'contextlevel' => CONTEXT_COURSE, 'captype' => 'write', 'archetypes' => array( diff --git a/db/install.php b/db/install.php index 5d544f7..34d36a2 100644 --- a/db/install.php +++ b/db/install.php @@ -15,15 +15,15 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Install script for course cleanup + * Install script for lifecycle plugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); -function xmldb_tool_cleanupcourses_install() { +function xmldb_tool_lifecycle_install() { } \ No newline at end of file diff --git a/db/install.xml b/db/install.xml index d7c8f33..e103a55 100644 --- a/db/install.xml +++ b/db/install.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<XMLDB PATH="admin/tool/cleanupcourses/db" VERSION="2018022102" COMMENT="XMLDB file for Moodle tool/cleanupcourses" +<XMLDB PATH="admin/tool/lifecycle/db" VERSION="2018022102" COMMENT="XMLDB file for Moodle tool/lifecycle" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../lib/xmldb/xmldb.xsd" > <TABLES> - <TABLE NAME="tool_cleanupcourses_process" COMMENT="table containing the state of all courses currently within the cleanup process"> + <TABLE NAME="tool_lifecycle_process" COMMENT="table containing the state of all courses currently within a lifecycle process"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="true" COMMENT="id of the process"/> <FIELD NAME="courseid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="course id"/> @@ -16,10 +16,10 @@ <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> <KEY NAME="courseid_fk" TYPE="foreign-unique" FIELDS="courseid" REFTABLE="course" REFFIELDS="id" COMMENT="Foreign key on course table"/> - <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_cleanupcourses_workflow" REFFIELDS="id"/> + <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_lifecycle_workflow" REFFIELDS="id"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_delayed" COMMENT="List of courses, for which the next check is delayed until a certain timestamp."> + <TABLE NAME="tool_lifecycle_delayed" COMMENT="List of courses, for which the next check is delayed until a certain timestamp."> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="courseid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="id of the course"/> @@ -30,7 +30,7 @@ <KEY NAME="courseid_fk" TYPE="foreign" FIELDS="courseid" REFTABLE="course" REFFIELDS="id" COMMENT="Foreign key on course table"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_trigger" COMMENT="Trigger subplugins for the cleanup courses"> + <TABLE NAME="tool_lifecycle_trigger" COMMENT="Trigger subplugins for the life cycle"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="instancename" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" COMMENT="instancename of the trigger"/> @@ -39,10 +39,10 @@ </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_cleanupcourses_workflow" REFFIELDS="id"/> + <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_lifecycle_workflow" REFFIELDS="id"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_step" COMMENT="Step subplugins for the cleanup courses"> + <TABLE NAME="tool_lifecycle_step" COMMENT="Step subplugins for the life cycle"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="instancename" TYPE="char" LENGTH="50" NOTNULL="true" SEQUENCE="false" COMMENT="instancename of the step"/> @@ -52,10 +52,10 @@ </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_cleanupcourses_workflow" REFFIELDS="id"/> + <KEY NAME="workflowid_fk" TYPE="foreign" FIELDS="workflowid" REFTABLE="tool_lifecycle_workflow" REFFIELDS="id"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_settings" COMMENT="Settings for step instances"> + <TABLE NAME="tool_lifecycle_settings" COMMENT="Settings for step instances"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="instanceid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="id of the step instance"/> @@ -65,10 +65,10 @@ </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - <KEY NAME="instanceid_fk" TYPE="foreign" FIELDS="instanceid" REFTABLE="tool_cleanupcourses_step" REFFIELDS="id" COMMENT="Foreignkey for step instance"/> + <KEY NAME="instanceid_fk" TYPE="foreign" FIELDS="instanceid" REFTABLE="tool_lifecycle_step" REFFIELDS="id" COMMENT="Foreignkey for step instance"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_procdata" COMMENT="Stores the process data in a key/value-store"> + <TABLE NAME="tool_lifecycle_procdata" COMMENT="Stores the process data in a key/value-store"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="processid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="id of the process"/> @@ -79,11 +79,11 @@ </FIELDS> <KEYS> <KEY NAME="primary" TYPE="primary" FIELDS="id"/> - <KEY NAME="processid_fk" TYPE="foreign" FIELDS="processid" REFTABLE="tool_cleanupcourses_process" REFFIELDS="id" COMMENT="Foreign key on process table"/> - <KEY NAME="stepid_fk" TYPE="foreign" FIELDS="stepid" REFTABLE="tool_cleanupcourses_step" REFFIELDS="id" COMMENT="Foreign key on step table"/> + <KEY NAME="processid_fk" TYPE="foreign" FIELDS="processid" REFTABLE="tool_lifecycle_process" REFFIELDS="id" COMMENT="Foreign key on process table"/> + <KEY NAME="stepid_fk" TYPE="foreign" FIELDS="stepid" REFTABLE="tool_lifecycle_step" REFFIELDS="id" COMMENT="Foreign key on step table"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_backups" COMMENT="Saves the location of course backups and the relevant information of the course."> + <TABLE NAME="tool_lifecycle_backups" COMMENT="Saves the location of course backups and the relevant information of the course."> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="courseid" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="id of the course the backup belongs to"/> @@ -96,7 +96,7 @@ <KEY NAME="primary" TYPE="primary" FIELDS="id"/> </KEYS> </TABLE> - <TABLE NAME="tool_cleanupcourses_workflow" COMMENT="Workflow definitions for processes"> + <TABLE NAME="tool_lifecycle_workflow" COMMENT="Workflow definitions for processes"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/> <FIELD NAME="title" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="Title of a workflow"/> diff --git a/db/subplugins.php b/db/subplugins.php index 86740ec..4b76bb1 100644 --- a/db/subplugins.php +++ b/db/subplugins.php @@ -17,13 +17,13 @@ /** * Definition of subplugins * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); $subplugins = array( - 'cleanupcoursestrigger' => 'admin/tool/cleanupcourses/trigger', - 'cleanupcoursesstep' => 'admin/tool/cleanupcourses/step', + 'lifecycletrigger' => 'admin/tool/lifecycle/trigger', + 'lifecyclestep' => 'admin/tool/lifecycle/step', ); diff --git a/db/tasks.php b/db/tasks.php index 64b0c55..22611f5 100644 --- a/db/tasks.php +++ b/db/tasks.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Definition of cleanup courses scheduled tasks. + * Definition of life cycle scheduled tasks. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @category task * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -27,7 +27,7 @@ defined('MOODLE_INTERNAL') || die(); $tasks = array( array( - 'classname' => 'tool_cleanupcourses\task\process_cleanup', + 'classname' => 'tool_lifecycle\task\lifecycle_task', 'blocking' => 0, 'minute' => '*', 'hour' => '*', diff --git a/db/upgrade.php b/db/upgrade.php index f700214..35bc838 100644 --- a/db/upgrade.php +++ b/db/upgrade.php @@ -15,24 +15,24 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Update script for course cleanup + * Update script for lifecycle plugin * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); -function xmldb_tool_cleanupcourses_upgrade($oldversion) { +function xmldb_tool_lifecycle_upgrade($oldversion) { global $DB; $dbman = $DB->get_manager(); if ($oldversion < 2017081101) { - // Create table tool_cleanupcourses_workflow. - $table = new xmldb_table('tool_cleanupcourses_workflow'); + // Create table tool_lifecycle_workflow. + $table = new xmldb_table('tool_lifecycle_workflow'); $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null); $table->add_field('title', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, 'id'); $table->add_field('active', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, '0', 'title'); @@ -44,8 +44,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->create_table($table); } - // Changing structure of table tool_cleanupcourses_step. - $table = new xmldb_table('tool_cleanupcourses_step'); + // Changing structure of table tool_lifecycle_step. + $table = new xmldb_table('tool_lifecycle_step'); $field = new xmldb_field('followedby'); // Conditionally drop followedby field. @@ -54,7 +54,7 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { } $field = new xmldb_field('workflowid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'subpluginname'); - $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_cleanupcourses_workflow', array('id')); + $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_lifecycle_workflow', array('id')); // Conditionally create the field. if (!$dbman->field_exists($table, $field)) { @@ -69,8 +69,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Changing structure of table tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Changing structure of table tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('followedby'); // Conditionally drop followedby field. @@ -80,7 +80,7 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { // Add workflowfield to trigger. $field = new xmldb_field('workflowid', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'enabled'); - $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_cleanupcourses_workflow', array('id')); + $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_lifecycle_workflow', array('id')); // Conditionally create the field. if (!$dbman->field_exists($table, $field)) { @@ -88,8 +88,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_key($table, $key); } - // Changing structure of table tool_cleanupcourses_process. - $table = new xmldb_table('tool_cleanupcourses_process'); + // Changing structure of table tool_lifecycle_process. + $table = new xmldb_table('tool_lifecycle_process'); $field = new xmldb_field('stepid'); // Conditionally drop followedby field. @@ -98,7 +98,7 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { } $field = new xmldb_field('workflowid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'courseid'); - $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_cleanupcourses_workflow', array('id')); + $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_lifecycle_workflow', array('id')); // Conditionally create the field. if (!$dbman->field_exists($table, $field)) { @@ -113,14 +113,14 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2017081101, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2017081101, 'tool', 'lifecycle'); } if ($oldversion < 2018021300) { - // Define field sortindex to be added to tool_cleanupcourses_workflow. - $table = new xmldb_table('tool_cleanupcourses_workflow'); + // Define field sortindex to be added to tool_lifecycle_workflow. + $table = new xmldb_table('tool_lifecycle_workflow'); $field = new xmldb_field('sortindex', XMLDB_TYPE_INTEGER, '3', null, null, null, null, 'timeactive'); // Conditionally launch add field sortindex. @@ -128,14 +128,14 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018021300, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018021300, 'tool', 'lifecycle'); } if ($oldversion < 2018021301) { - // Define field type to be added to tool_cleanupcourses_settings. - $table = new xmldb_table('tool_cleanupcourses_settings'); + // Define field type to be added to tool_lifecycle_settings. + $table = new xmldb_table('tool_lifecycle_settings'); $field = new xmldb_field('type', XMLDB_TYPE_CHAR, '7', null, XMLDB_NOTNULL, null, null, 'instanceid'); // Conditionally launch add field type. @@ -143,16 +143,16 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - $DB->execute('update {tool_cleanupcourses_settings} set type = \'step\''); + $DB->execute('update {tool_lifecycle_settings} set type = \'step\''); - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018021301, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018021301, 'tool', 'lifecycle'); } if ($oldversion < 2018021302) { - // Define field workflowid to be added to tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Define field workflowid to be added to tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('workflowid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'subpluginname'); // Conditionally launch add field workflowid. @@ -160,8 +160,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Define field instancename to be added to tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Define field instancename to be added to tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('instancename', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'workflowid'); // Conditionally launch add field instancename. @@ -169,8 +169,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Define field enabled to be dropped from tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Define field enabled to be dropped from tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('enabled'); // Conditionally launch drop field enabled. @@ -178,8 +178,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->drop_field($table, $field); } - // Define field sortindex to be dropped from tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Define field sortindex to be dropped from tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('sortindex'); // Conditionally launch drop field sortindex. @@ -187,8 +187,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->drop_field($table, $field); } - // Define field sortindex to be dropped from tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); + // Define field sortindex to be dropped from tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); $field = new xmldb_field('sortindex'); // Conditionally launch drop field sortindex. @@ -196,21 +196,21 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->drop_field($table, $field); } - // Define key workflowid_fk (foreign) to be added to tool_cleanupcourses_trigger. - $table = new xmldb_table('tool_cleanupcourses_trigger'); - $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_cleanupcourses_workflow', array('id')); + // Define key workflowid_fk (foreign) to be added to tool_lifecycle_trigger. + $table = new xmldb_table('tool_lifecycle_trigger'); + $key = new xmldb_key('workflowid_fk', XMLDB_KEY_FOREIGN, array('workflowid'), 'tool_lifecycle_workflow', array('id')); // Launch add key workflowid_fk. $dbman->add_key($table, $key); - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018021302, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018021302, 'tool', 'lifecycle'); } if ($oldversion < 2018022001) { - // Define field manual to be added to tool_cleanupcourses_workflow. - $table = new xmldb_table('tool_cleanupcourses_workflow'); + // Define field manual to be added to tool_lifecycle_workflow. + $table = new xmldb_table('tool_lifecycle_workflow'); $field = new xmldb_field('manual', XMLDB_TYPE_INTEGER, '1', null, null, null, null, 'sortindex'); // Conditionally launch add field manual. @@ -218,60 +218,60 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018022001, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018022001, 'tool', 'lifecycle'); } if ($oldversion < 2018022002) { - // Define field manual to be added to tool_cleanupcourses_workflow. - $table = new xmldb_table('tool_cleanupcourses_procdata'); + // Define field manual to be added to tool_lifecycle_workflow. + $table = new xmldb_table('tool_lifecycle_procdata'); $field = new xmldb_field('key', XMLDB_TYPE_CHAR, '50', null, XMLDB_NOTNULL, null, null, 'subpluginname'); // Launch rename field key. $dbman->rename_field($table, $field, 'keyname'); - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018022002, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018022002, 'tool', 'lifecycle'); } if ($oldversion < 2018022005) { - $workflows = \tool_cleanupcourses\manager\workflow_manager::get_active_workflows(); + $workflows = \tool_lifecycle\manager\workflow_manager::get_active_workflows(); foreach ($workflows as $workflow) { if ($workflow->manual === null) { - $trigger = \tool_cleanupcourses\manager\trigger_manager::get_trigger_for_workflow($workflow->id); - $lib = \tool_cleanupcourses\manager\lib_manager::get_trigger_lib($trigger->subpluginname); + $trigger = \tool_lifecycle\manager\trigger_manager::get_trigger_for_workflow($workflow->id); + $lib = \tool_lifecycle\manager\lib_manager::get_trigger_lib($trigger->subpluginname); $workflow->manual = $lib->is_manual_trigger(); - \tool_cleanupcourses\manager\workflow_manager::insert_or_update($workflow); + \tool_lifecycle\manager\workflow_manager::insert_or_update($workflow); } } - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018022005, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018022005, 'tool', 'lifecycle'); } if ($oldversion < 2018022101) { - // Define key courseid_fk (foreign) to be dropped form tool_cleanupcourses_process. - $table = new xmldb_table('tool_cleanupcourses_process'); + // Define key courseid_fk (foreign) to be dropped form tool_lifecycle_process. + $table = new xmldb_table('tool_lifecycle_process'); $key = new xmldb_key('courseid_fk', XMLDB_KEY_FOREIGN, array('courseid'), 'course', array('id')); // Launch drop key courseid_fk. $dbman->drop_key($table, $key); - // Define key courseid_fk (foreign-unique) to be added to tool_cleanupcourses_process. + // Define key courseid_fk (foreign-unique) to be added to tool_lifecycle_process. $key = new xmldb_key('courseid_fk', XMLDB_KEY_FOREIGN_UNIQUE, array('courseid'), 'course', array('id')); // Launch add key courseid_fk. $dbman->add_key($table, $key); - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018022101, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018022101, 'tool', 'lifecycle'); } if ($oldversion < 2018022102) { - // Define field displaytitle to be added to tool_cleanupcourses_workflow. - $table = new xmldb_table('tool_cleanupcourses_workflow'); + // Define field displaytitle to be added to tool_lifecycle_workflow. + $table = new xmldb_table('tool_lifecycle_workflow'); $field = new xmldb_field('displaytitle', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'manual'); // Conditionally launch add field displaytitle. @@ -279,8 +279,8 @@ function xmldb_tool_cleanupcourses_upgrade($oldversion) { $dbman->add_field($table, $field); } - // Cleanupcourses savepoint reached. - upgrade_plugin_savepoint(true, 2018022102, 'tool', 'cleanupcourses'); + // lifecycle savepoint reached. + upgrade_plugin_savepoint(true, 2018022102, 'tool', 'lifecycle'); } return true; diff --git a/lang/en/tool_cleanupcourses.php b/lang/en/tool_lifecycle.php similarity index 85% rename from lang/en/tool_cleanupcourses.php rename to lang/en/tool_lifecycle.php index 31425ec..a7541f9 100644 --- a/lang/en/tool_cleanupcourses.php +++ b/lang/en/tool_lifecycle.php @@ -15,23 +15,23 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Course Cleanup langauge strings. + * Life cycle langauge strings. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -$string['pluginname'] = 'Cleanup Courses'; -$string['plugintitle'] = 'Cleanup Courses'; +$string['pluginname'] = 'Life Cycle'; +$string['plugintitle'] = 'Course Life Cycle'; -$string['cleanupcourses:managecourses'] = 'May manage courses in tool_cleanupcourses'; +$string['lifecycle:managecourses'] = 'May manage courses in tool_lifecycle'; $string['general_config_header'] = "General & Subplugins"; $string['config_delay_duration'] = 'Duration of a course delay'; -$string['config_delay_duration_desc'] = 'Defines the time frame, which a course is excluded from the cleanup course, when rolled back via user interaction.'; +$string['config_delay_duration_desc'] = 'Defines the time frame, which a course is excluded from the life cycle processes, when rolled back via user interaction.'; $string['active_processes_list_header'] = 'Active Processes'; $string['adminsettings_heading'] = 'Workflow Settings'; $string['active_manual_workflows_heading'] = 'Active Manual Workflows'; @@ -55,7 +55,7 @@ $string['trigger_does_not_exist'] = 'The requested trigger could not be found.'; $string['cannot_trigger_workflow_manually'] = 'The requested workflow could not be triggered manually.'; $string['error_wrong_trigger_selected'] = 'You tried to request a non-manual trigger.'; -$string['process_cleanup'] = 'Run the cleanup courses processes'; +$string['lifecycle_task'] = 'Run the life cycle processes'; $string['trigger_subpluginname'] = 'Subplugin Name'; $string['trigger_instancename'] = 'Instance Name'; @@ -92,13 +92,13 @@ $string['step'] = 'Process step'; $string['workflow_trigger'] = 'Trigger for the workflow'; -$string['cleanupcoursestrigger'] = 'Trigger'; -$string['cleanupcoursesstep'] = 'Process step'; +$string['lifecycletrigger'] = 'Trigger'; +$string['lifecyclestep'] = 'Process step'; -$string['subplugintype_cleanupcoursestrigger'] = 'Trigger for starting the course cleanup'; -$string['subplugintype_cleanupcoursestrigger_plural'] = 'Triggers for starting the course cleanup'; -$string['subplugintype_cleanupcoursesstep'] = 'Step within a course cleanup process'; -$string['subplugintype_cleanupcoursesstep_plural'] = 'Steps within a course cleanup process'; +$string['subplugintype_lifecycletrigger'] = 'Trigger for starting a lifecycle process'; +$string['subplugintype_lifecycletrigger_plural'] = 'Triggers for starting a lifecycle process'; +$string['subplugintype_lifecyclestep'] = 'Step within a lifecycle process'; +$string['subplugintype_lifecyclestep_plural'] = 'Steps within a lifecycle process'; $string['nointeractioninterface'] = 'No Interaction Interface available!'; $string['tools'] = 'Tools'; diff --git a/lib.php b/lib.php index cd04603..ebb3713 100644 --- a/lib.php +++ b/lib.php @@ -15,7 +15,7 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ diff --git a/renderer.php b/renderer.php index cda6b10..393c52b 100644 --- a/renderer.php +++ b/renderer.php @@ -15,15 +15,15 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Renderer for cleanup courses + * Renderer for life cycle * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); -class tool_cleanupcourses_renderer extends plugin_renderer_base { +class tool_lifecycle_renderer extends plugin_renderer_base { /** * Write the page footer diff --git a/restore.php b/restore.php index 0502d83..37277f4 100644 --- a/restore.php +++ b/restore.php @@ -17,13 +17,13 @@ /** * Display the list of courses relevant for a specific user in a specific step instance. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__ . '/../../../config.php'); -use tool_cleanupcourses\manager\backup_manager; +use tool_lifecycle\manager\backup_manager; $PAGE->set_context(context_system::instance()); require_login(null, false); diff --git a/settings.php b/settings.php index a25a14b..ebec712 100644 --- a/settings.php +++ b/settings.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Settings page which gives an overview over running cleanup processes. + * Settings page which gives an overview over running lifecycle processes. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -26,29 +26,29 @@ defined('MOODLE_INTERNAL') || die; if ($hassiteconfig) { require_once(__DIR__ . '/adminlib.php'); - $category = new admin_category('cleanupcourses_category', - get_string('pluginname', 'tool_cleanupcourses')); + $category = new admin_category('lifecycle_category', + get_string('pluginname', 'tool_lifecycle')); $ADMIN->add('tools', $category); - $settings = new admin_settingpage('tool_cleanupcourses', - get_string('general_config_header', 'tool_cleanupcourses')); - $ADMIN->add('cleanupcourses_category', $settings); + $settings = new admin_settingpage('tool_lifecycle', + get_string('general_config_header', 'tool_lifecycle')); + $ADMIN->add('lifecycle_category', $settings); - $settings->add(new admin_setting_configduration('cleanupcourses_duration', - get_string('config_delay_duration', 'tool_cleanupcourses'), - get_string('config_delay_duration_desc', 'tool_cleanupcourses'), + $settings->add(new admin_setting_configduration('lifecycle_duration', + get_string('config_delay_duration', 'tool_lifecycle'), + get_string('config_delay_duration_desc', 'tool_lifecycle'), 183 * 24 * 60 * 60)); // Dafault value is 180 days. - $ADMIN->add('cleanupcourses_category', new tool_cleanupcourses\admin_page_active_processes()); - $ADMIN->add('cleanupcourses_category', new tool_cleanupcourses\admin_page_course_backups()); - $ADMIN->add('cleanupcourses_category', new tool_cleanupcourses\admin_page_sublugins()); + $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_active_processes()); + $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_course_backups()); + $ADMIN->add('lifecycle_category', new tool_lifecycle\admin_page_sublugins()); if ($ADMIN->fulltree) { - $triggers = core_component::get_plugin_list('cleanupcoursestrigger'); + $triggers = core_component::get_plugin_list('lifecycletrigger'); foreach ($triggers as $trigger => $path) { if (file_exists($settingsfile = $path . '/settings.php')) { - $settings->add(new admin_setting_heading('cleanupcoursestriggersetting'.$trigger, - get_string('trigger', 'tool_cleanupcourses') . - ' - ' . get_string('pluginname', 'cleanupcoursestrigger_' . $trigger), '')); + $settings->add(new admin_setting_heading('lifecycletriggersetting'.$trigger, + get_string('trigger', 'tool_lifecycle') . + ' - ' . get_string('pluginname', 'lifecycletrigger_' . $trigger), '')); include($settingsfile); } } diff --git a/step/createbackup/lang/en/cleanupcoursesstep_createbackup.php b/step/createbackup/lang/en/lifecyclestep_createbackup.php similarity index 96% rename from step/createbackup/lang/en/cleanupcoursesstep_createbackup.php rename to step/createbackup/lang/en/lifecyclestep_createbackup.php index 05d2010..caf33d8 100644 --- a/step/createbackup/lang/en/cleanupcoursesstep_createbackup.php +++ b/step/createbackup/lang/en/lifecyclestep_createbackup.php @@ -17,7 +17,7 @@ /** * Lang strings for create backup step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage createbackup * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/step/createbackup/lib.php b/step/createbackup/lib.php index d2df654..3c5c22c 100644 --- a/step/createbackup/lib.php +++ b/step/createbackup/lib.php @@ -18,15 +18,15 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage createbackup * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\response\step_response; -use tool_cleanupcourses\manager\backup_manager; +use tool_lifecycle\response\step_response; +use tool_lifecycle\manager\backup_manager; defined('MOODLE_INTERNAL') || die(); diff --git a/step/createbackup/version.php b/step/createbackup/version.php index 6819071..53e977c 100644 --- a/step/createbackup/version.php +++ b/step/createbackup/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Create Backup Step + * Life Cycle Create Backup Step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage createbackup * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050901; -$plugin->component = 'cleanupcoursesstep_createbackup'; \ No newline at end of file +$plugin->component = 'lifecyclestep_createbackup'; \ No newline at end of file diff --git a/step/deletecourse/lang/en/cleanupcoursesstep_deletecourse.php b/step/deletecourse/lang/en/lifecyclestep_deletecourse.php similarity index 96% rename from step/deletecourse/lang/en/cleanupcoursesstep_deletecourse.php rename to step/deletecourse/lang/en/lifecyclestep_deletecourse.php index 666a4d4..edcc753 100644 --- a/step/deletecourse/lang/en/cleanupcoursesstep_deletecourse.php +++ b/step/deletecourse/lang/en/lifecyclestep_deletecourse.php @@ -17,7 +17,7 @@ /** * Lang strings for delete course step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage deletecourse * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/step/deletecourse/lib.php b/step/deletecourse/lib.php index dfeeb60..012b56e 100644 --- a/step/deletecourse/lib.php +++ b/step/deletecourse/lib.php @@ -18,14 +18,14 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage deletecourse * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\response\step_response; +use tool_lifecycle\response\step_response; defined('MOODLE_INTERNAL') || die(); diff --git a/step/deletecourse/version.php b/step/deletecourse/version.php index b9ae1dc..e157ebb 100644 --- a/step/deletecourse/version.php +++ b/step/deletecourse/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Delete Course Step + * Life Cycle Delete Course Step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage deletecourse * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050901; -$plugin->component = 'cleanupcoursesstep_deletecourse'; \ No newline at end of file +$plugin->component = 'lifecyclestep_deletecourse'; \ No newline at end of file diff --git a/step/dummy/lang/en/cleanupcoursesstep_dummy.php b/step/dummy/lang/en/lifecyclestep_dummy.php similarity index 96% rename from step/dummy/lang/en/cleanupcoursesstep_dummy.php rename to step/dummy/lang/en/lifecyclestep_dummy.php index c4535bf..2159a69 100644 --- a/step/dummy/lang/en/cleanupcoursesstep_dummy.php +++ b/step/dummy/lang/en/lifecyclestep_dummy.php @@ -17,7 +17,7 @@ /** * Lang strings for dummy step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage dummy * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/step/dummy/lib.php b/step/dummy/lib.php index 8353715..4418309 100644 --- a/step/dummy/lib.php +++ b/step/dummy/lib.php @@ -18,14 +18,14 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage dummy * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\response\step_response; +use tool_lifecycle\response\step_response; defined('MOODLE_INTERNAL') || die(); diff --git a/step/dummy/version.php b/step/dummy/version.php index 591a577..63fc199 100644 --- a/step/dummy/version.php +++ b/step/dummy/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Dummy Step + * Life Cycle Dummy Step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage dummy * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050901; -$plugin->component = 'cleanupcoursesstep_dummy'; \ No newline at end of file +$plugin->component = 'lifecyclestep_dummy'; \ No newline at end of file diff --git a/step/duplicate/classes/form_duplicate.php b/step/duplicate/classes/form_duplicate.php index 79f94b6..7baaed6 100644 --- a/step/duplicate/classes/form_duplicate.php +++ b/step/duplicate/classes/form_duplicate.php @@ -17,14 +17,14 @@ /** * Offers the possibility to enter a new coursename * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace cleanupcoursesstep_duplicate; +namespace lifecyclestep_duplicate; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\step\interactionduplicate; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\step\interactionduplicate; defined('MOODLE_INTERNAL') || die(); @@ -70,7 +70,7 @@ class form_duplicate extends \moodleform { $mform->setDefault('action', 'duplicateform'); $mform->addElement('header', 'duplicate_course_header', - get_string('duplicate_course_header', 'cleanupcoursesstep_duplicate')); + get_string('duplicate_course_header', 'lifecyclestep_duplicate')); $elementname = 'shortname'; $mform->addElement('text', $elementname, get_string('shortnamecourse')); diff --git a/step/duplicate/interactionlib.php b/step/duplicate/interactionlib.php index 5e2e44d..51f13a3 100644 --- a/step/duplicate/interactionlib.php +++ b/step/duplicate/interactionlib.php @@ -18,19 +18,19 @@ * Interface for the interactions of the subplugintype step * It has to be implemented by all subplugins that want to use the interaction view. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @subpackage step * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use cleanupcoursesstep_duplicate\form_duplicate; -use tool_cleanupcourses\entity\process; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\process_data_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\response\step_interactive_response; +use lifecyclestep_duplicate\form_duplicate; +use tool_lifecycle\entity\process; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\process_data_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\response\step_interactive_response; defined('MOODLE_INTERNAL') || die(); @@ -47,7 +47,7 @@ class interactionduplicate extends interactionlibbase { * @return string capability string. */ public function get_relevant_capability() { - return 'cleanupcoursesstep/email:preventdeletion'; + return 'lifecyclestep/email:preventdeletion'; } /** @@ -67,7 +67,7 @@ class interactionduplicate extends interactionlibbase { } return array( array('action' => self::ACTION_DUPLICATE_FORM, - 'alt' => get_string('duplicate_form', 'cleanupcoursesstep_duplicate'), + 'alt' => get_string('duplicate_form', 'lifecyclestep_duplicate'), ), ); } @@ -82,9 +82,9 @@ class interactionduplicate extends interactionlibbase { $shortname = process_data_manager::get_process_data($process->id, $step->id, duplicate::PROC_DATA_COURSESHORTNAME); $fullname = process_data_manager::get_process_data($process->id, $step->id, duplicate::PROC_DATA_COURSEFULLNAME); if (!empty($fullname) && !empty($shortname)) { - return get_string('status_message_duplication', 'cleanupcoursesstep_duplicate'); + return get_string('status_message_duplication', 'lifecyclestep_duplicate'); } - return get_string('status_message_form', 'cleanupcoursesstep_duplicate'); + return get_string('status_message_form', 'lifecyclestep_duplicate'); } /** @@ -132,7 +132,7 @@ class interactionduplicate extends interactionlibbase { */ private function render_form($mform) { global $PAGE; - $renderer = $PAGE->get_renderer('tool_cleanupcourses'); + $renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); $mform->display(); diff --git a/step/duplicate/lang/en/cleanupcoursesstep_duplicate.php b/step/duplicate/lang/en/lifecyclestep_duplicate.php similarity index 96% rename from step/duplicate/lang/en/cleanupcoursesstep_duplicate.php rename to step/duplicate/lang/en/lifecyclestep_duplicate.php index 136c1f3..bf663dd 100644 --- a/step/duplicate/lang/en/cleanupcoursesstep_duplicate.php +++ b/step/duplicate/lang/en/lifecyclestep_duplicate.php @@ -17,7 +17,7 @@ /** * Lang strings for duplicate step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage duplicate * @copyright 2018 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/step/duplicate/lib.php b/step/duplicate/lib.php index db127c7..609278b 100644 --- a/step/duplicate/lib.php +++ b/step/duplicate/lib.php @@ -18,18 +18,18 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\response\step_response; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\process_data_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\response\step_response; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\process_data_manager; use tool_usertours\step; defined('MOODLE_INTERNAL') || die(); diff --git a/step/duplicate/version.php b/step/duplicate/version.php index 2808263..20dd38f 100644 --- a/step/duplicate/version.php +++ b/step/duplicate/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Email Step + * Life Cycle Email Step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2018080300; -$plugin->component = 'cleanupcoursesstep_duplicate'; \ No newline at end of file +$plugin->component = 'lifecyclestep_duplicate'; \ No newline at end of file diff --git a/step/email/db/access.php b/step/email/db/access.php index 64f994d..94ddebb 100644 --- a/step/email/db/access.php +++ b/step/email/db/access.php @@ -16,7 +16,7 @@ /** * Capability definitions for the email step subplugin - * @package cleanupcourses_step + * @package lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -25,7 +25,7 @@ defined('MOODLE_INTERNAL') || die(); $capabilities = array( - 'cleanupcoursesstep/email:preventdeletion' => array( + 'lifecyclestep/email:preventdeletion' => array( 'contextlevel' => CONTEXT_COURSE, 'captype' => 'write', 'archetypes' => array( @@ -34,7 +34,7 @@ $capabilities = array( 'teacher' => CAP_PREVENT, 'students' => CAP_PREVENT, ), - 'clonepermissionsfrom' => 'tool/cleanupcourses:managecourses' + 'clonepermissionsfrom' => 'tool/lifecycle:managecourses' ), ); diff --git a/step/email/db/install.xml b/step/email/db/install.xml index 6b94cbe..1620fde 100644 --- a/step/email/db/install.xml +++ b/step/email/db/install.xml @@ -1,9 +1,9 @@ <?xml version="1.0" encoding="UTF-8" ?> -<XMLDB PATH="admin/tool/cleanupcourses/step/email/db" VERSION="2017052300" COMMENT="XMLDB file for Moodle cleanupcourses_step/email" +<XMLDB PATH="admin/tool/lifecycle/step/email/db" VERSION="2017052300" COMMENT="XMLDB file for Moodle lifecycle_step/email" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"> <TABLES> - <TABLE NAME="cleanupcoursesstep_email" COMMENT="table containing all mails which still have to be sent"> + <TABLE NAME="lifecyclestep_email" COMMENT="table containing all mails which still have to be sent"> <FIELDS> <FIELD NAME="id" TYPE="int" LENGTH="20" NOTNULL="true" SEQUENCE="true" COMMENT="id of the mail"/> <FIELD NAME="touser" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="user id to which the email should go to"/> diff --git a/step/email/interactionlib.php b/step/email/interactionlib.php index ccccb84..2483ca6 100644 --- a/step/email/interactionlib.php +++ b/step/email/interactionlib.php @@ -18,20 +18,20 @@ * Interface for the interactions of the subplugintype step * It has to be implemented by all subplugins that want to use the interaction view. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @subpackage step * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\entity\process; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\process_data_manager; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\response\step_interactive_response; +use tool_lifecycle\entity\process; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\process_data_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\response\step_interactive_response; defined('MOODLE_INTERNAL') || die(); @@ -48,7 +48,7 @@ class interactionemail extends interactionlibbase { * @return string capability string. */ public function get_relevant_capability() { - return 'cleanupcoursesstep/email:preventdeletion'; + return 'lifecyclestep/email:preventdeletion'; } /** @@ -62,7 +62,7 @@ class interactionemail extends interactionlibbase { public function get_action_tools($process) { return array( array('action' => self::ACTION_KEEP, - 'alt' => get_string('keep_course', 'cleanupcoursesstep_email'), + 'alt' => get_string('keep_course', 'lifecyclestep_email'), ), ); } @@ -73,7 +73,7 @@ class interactionemail extends interactionlibbase { * @return string status message */ public function get_status_message($process) { - return get_string('status_message_requiresattention', 'cleanupcoursesstep_email'); + return get_string('status_message_requiresattention', 'lifecyclestep_email'); } /** diff --git a/step/email/lang/en/cleanupcoursesstep_email.php b/step/email/lang/en/lifecyclestep_email.php similarity index 97% rename from step/email/lang/en/cleanupcoursesstep_email.php rename to step/email/lang/en/lifecyclestep_email.php index 9909c33..3513136 100644 --- a/step/email/lang/en/cleanupcoursesstep_email.php +++ b/step/email/lang/en/lifecyclestep_email.php @@ -17,7 +17,7 @@ /** * Lang strings for email step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/step/email/lib.php b/step/email/lib.php index 779d28b..c1e317d 100644 --- a/step/email/lib.php +++ b/step/email/lib.php @@ -18,18 +18,18 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\response\step_response; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\process_data_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\response\step_response; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\process_data_manager; defined('MOODLE_INTERNAL') || die(); @@ -54,13 +54,13 @@ class email extends libbase { public function process_course($processid, $instanceid, $course) { global $DB; $coursecontext = \context_course::instance($course->id); - $userstobeinformed = get_users_by_capability($coursecontext, 'cleanupcoursesstep/email:preventdeletion'); + $userstobeinformed = get_users_by_capability($coursecontext, 'lifecyclestep/email:preventdeletion'); foreach ($userstobeinformed as $user) { $record = new \stdClass(); $record->touser = $user->id; $record->courseid = $course->id; $record->instanceid = $instanceid; - $DB->insert_record('cleanupcoursesstep_email', $record); + $DB->insert_record('lifecyclestep_email', $record); } return step_response::waiting(); } @@ -96,12 +96,12 @@ class email extends libbase { // Format the raw string in the DB to FORMAT_HTML. $settings['contenthtml'] = format_text($settings['contenthtml'], FORMAT_HTML); - $userstobeinformed = $DB->get_records('cleanupcoursesstep_email', + $userstobeinformed = $DB->get_records('lifecyclestep_email', array('instanceid' => $step->id), '', 'distinct touser'); foreach ($userstobeinformed as $userrecord) { $user = \core_user::get_user($userrecord->touser); $transaction = $DB->start_delegated_transaction(); - $mailentries = $DB->get_records('cleanupcoursesstep_email', + $mailentries = $DB->get_records('lifecyclestep_email', array('instanceid' => $step->id, 'touser' => $user->id)); @@ -112,7 +112,7 @@ class email extends libbase { $contenthtml = $parsedsettings['contenthtml']; // TODO: use course info to parse content template! email_to_user($user, \core_user::get_noreply_user(), $subject, $content, $contenthtml); - $DB->delete_records('cleanupcoursesstep_email', + $DB->delete_records('lifecyclestep_email', array('instanceid' => $step->id, 'touser' => $user->id)); $transaction->allow_commit(); @@ -142,7 +142,7 @@ class email extends libbase { $replacements [] = $user->lastname; // Replace link to interaction page. - $interactionlink = new \moodle_url('admin/tool/cleanupcourses/view.php'); + $interactionlink = new \moodle_url('admin/tool/lifecycle/view.php'); $url = $CFG->wwwroot . '/' . $interactionlink->out(); $patterns [] = '##link##'; $replacements [] = $url; @@ -211,18 +211,18 @@ class email extends libbase { public function extend_add_instance_form_definition($mform) { $elementname = 'responsetimeout'; - $mform->addElement('duration', $elementname, get_string('email_responsetimeout', 'cleanupcoursesstep_email')); + $mform->addElement('duration', $elementname, get_string('email_responsetimeout', 'lifecyclestep_email')); $mform->setType($elementname, PARAM_INT); $elementname = 'subject'; - $mform->addElement('text', $elementname, get_string('email_subject', 'cleanupcoursesstep_email')); + $mform->addElement('text', $elementname, get_string('email_subject', 'lifecyclestep_email')); $mform->setType($elementname, PARAM_TEXT); $elementname = 'content'; - $mform->addElement('textarea', $elementname, get_string('email_content', 'cleanupcoursesstep_email')); + $mform->addElement('textarea', $elementname, get_string('email_content', 'lifecyclestep_email')); $mform->setType($elementname, PARAM_TEXT); $elementname = 'contenthtml'; - $mform->addElement('editor', $elementname, get_string('email_content_html', 'cleanupcoursesstep_email')); + $mform->addElement('editor', $elementname, get_string('email_content_html', 'lifecyclestep_email')); $mform->setType($elementname, PARAM_RAW); } diff --git a/step/email/version.php b/step/email/version.php index b6fc249..94a4be6 100644 --- a/step/email/version.php +++ b/step/email/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Email Step + * Life Cycle Email Step * - * @package tool_cleanupcourses_step + * @package tool_lifecycle_step * @subpackage email * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017052302; -$plugin->component = 'cleanupcoursesstep_email'; \ No newline at end of file +$plugin->component = 'lifecyclestep_email'; \ No newline at end of file diff --git a/step/interactionlib.php b/step/interactionlib.php index 6166a09..04cadf9 100644 --- a/step/interactionlib.php +++ b/step/interactionlib.php @@ -18,16 +18,16 @@ * Interface for the interactions of the subplugintype step * It has to be implemented by all subplugins that want to use the interaction view. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @subpackage step * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\entity\process; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\response\step_interactive_response; +use tool_lifecycle\entity\process; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\response\step_interactive_response; defined('MOODLE_INTERNAL') || die(); diff --git a/step/lib.php b/step/lib.php index 2516f40..d9078a5 100644 --- a/step/lib.php +++ b/step/lib.php @@ -18,15 +18,15 @@ * Interface for the subplugintype step * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @subpackage step * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\step; +namespace tool_lifecycle\step; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\response\step_response; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\response\step_response; defined('MOODLE_INTERNAL') || die(); @@ -109,7 +109,7 @@ abstract class libbase { /** * Class representing a local settings object for a subplugin instance. - * @package tool_cleanupcourses\step + * @package tool_lifecycle\step */ class instance_setting { diff --git a/styles.css b/styles.css index 14ad71f..566f3a5 100644 --- a/styles.css +++ b/styles.css @@ -1,8 +1,8 @@ -.cleanupcourses-enable-overflow > .no-overflow { +.lifecycle-enable-overflow > .no-overflow { overflow: initial; } -.cleanupcourses-table span.workflow_displaytitle { +.lifecycle-table span.workflow_displaytitle { color: #888; font-size: .9em; padding: 0.5em; diff --git a/tests/active_workflow_is_manual_test.php b/tests/active_workflow_is_manual_test.php index 3cd2f25..1b081b1 100644 --- a/tests/active_workflow_is_manual_test.php +++ b/tests/active_workflow_is_manual_test.php @@ -19,18 +19,18 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/generator/lib.php'); require_once(__DIR__ . '/../lib.php'); -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\entity\workflow; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\entity\workflow; /** * Tests the field is manual after activating workflows. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_workflow_is_manual_testcase extends \advanced_testcase { +class tool_lifecycle_workflow_is_manual_testcase extends \advanced_testcase { const MANUAL_TRIGGER1_ICON = 't/up'; const MANUAL_TRIGGER1_DISPLAYNAME = 'Up'; const MANUAL_TRIGGER1_CAPABILITY = 'moodle/course:manageactivities'; @@ -40,7 +40,7 @@ class tool_cleanupcourses_workflow_is_manual_testcase extends \advanced_testcase public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $settings = new stdClass(); $settings->icon = self::MANUAL_TRIGGER1_ICON; diff --git a/tests/active_workflow_sortindex_updown_test.php b/tests/active_workflow_sortindex_updown_test.php index 46b4daf..982093d 100644 --- a/tests/active_workflow_sortindex_updown_test.php +++ b/tests/active_workflow_sortindex_updown_test.php @@ -19,18 +19,18 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/generator/lib.php'); require_once(__DIR__ . '/../lib.php'); -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\entity\workflow; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\entity\workflow; /** * Tests the different state changes of the workflow sortindex for up and down action. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_workflow_sortindex_updown_testcase extends \advanced_testcase { +class tool_lifecycle_workflow_sortindex_updown_testcase extends \advanced_testcase { private $workflow1; private $workflow2; @@ -38,7 +38,7 @@ class tool_cleanupcourses_workflow_sortindex_updown_testcase extends \advanced_t public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); // Remove preset workflows. $workflows = workflow_manager::get_active_automatic_workflows(); diff --git a/tests/backup_manager_test.php b/tests/backup_manager_test.php index 9d7b074..b05c5fc 100644 --- a/tests/backup_manager_test.php +++ b/tests/backup_manager_test.php @@ -16,17 +16,17 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\manager\backup_manager; +use tool_lifecycle\manager\backup_manager; /** * Tests the beckup manager. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses_backup + * @group tool_lifecycle_backup * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_backup_manager_testcase extends \advanced_testcase { +class tool_lifecycle_backup_manager_testcase extends \advanced_testcase { /** course */ private $course; @@ -43,7 +43,7 @@ class tool_cleanupcourses_backup_manager_testcase extends \advanced_testcase { global $DB; $result = backup_manager::create_course_backup($this->course->id); $this->assertTrue($result); - $backups = $DB->get_records('tool_cleanupcourses_backups'); + $backups = $DB->get_records('tool_lifecycle_backups'); $this->assertEquals(1, count($backups)); } @@ -52,7 +52,7 @@ class tool_cleanupcourses_backup_manager_testcase extends \advanced_testcase { */ public function test_backup_restore() { global $DB; - $backups = $DB->get_records('tool_cleanupcourses_backups'); + $backups = $DB->get_records('tool_lifecycle_backups'); $this->assertEquals(1, count($backups)); $backupid = array_pop($backups)->id; try { diff --git a/tests/behat/activate_workflow.feature b/tests/behat/activate_workflow.feature index 07e10b2..c45ff64 100644 --- a/tests/behat/activate_workflow.feature +++ b/tests/behat/activate_workflow.feature @@ -1,10 +1,10 @@ -@tool @tool_cleanupcourses +@tool @tool_lifecycle Feature: Add a workflow definition activate it Further, check that all edit possibilities are disabled. Scenario: Add a new workflow definition with steps and rearange Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -39,19 +39,19 @@ Feature: Add a workflow definition activate it And I set the field "Instance Name" to "Delete Course 2" And I press "Save changes" And I press "Back" - Then I should see the tool "View Workflow Steps" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should see the tool "Duplicate Workflow" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should see the tool "Edit Title" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should see the tool "Delete Workflow" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table + Then I should see the tool "View Workflow Steps" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should see the tool "Duplicate Workflow" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should see the tool "Edit Title" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should see the tool "Delete Workflow" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table When I press "Activate" - Then I should see the tool "View Workflow Steps" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should see the tool "Duplicate Workflow" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should see the tool "Edit Title" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - And I should not see the tool "Delete Workflow" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - When I click on the tool "View Workflow Steps" in the "My Workflow" row of the "tool_cleanupcourses_workflow_definitions" table - Then I should not see the tool "Edit" in any row of the "tool_cleanupcourses_workflows" table - And I should not see the tool "Delete" in any row of the "tool_cleanupcourses_workflows" table - And I should not see the tool "Up" in any row of the "tool_cleanupcourses_workflows" table - And I should not see the tool "Down" in any row of the "tool_cleanupcourses_workflows" table - And I should see the tool "View" in all rows of the "tool_cleanupcourses_workflows" table + Then I should see the tool "View Workflow Steps" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should see the tool "Duplicate Workflow" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should see the tool "Edit Title" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + And I should not see the tool "Delete Workflow" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + When I click on the tool "View Workflow Steps" in the "My Workflow" row of the "tool_lifecycle_workflow_definitions" table + Then I should not see the tool "Edit" in any row of the "tool_lifecycle_workflows" table + And I should not see the tool "Delete" in any row of the "tool_lifecycle_workflows" table + And I should not see the tool "Up" in any row of the "tool_lifecycle_workflows" table + And I should not see the tool "Down" in any row of the "tool_lifecycle_workflows" table + And I should see the tool "View" in all rows of the "tool_lifecycle_workflows" table And I should not see "Add New Step Instance" \ No newline at end of file diff --git a/tests/behat/add_workflow.feature b/tests/behat/add_workflow.feature index ce6009c..07dd408 100644 --- a/tests/behat/add_workflow.feature +++ b/tests/behat/add_workflow.feature @@ -1,10 +1,10 @@ -@tool @tool_cleanupcourses +@tool @tool_lifecycle Feature: Add a workflow definition Scenario: Add a new workflow definition without steps For displaying the additional trigger settings the "Save changes" button is used. Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -31,7 +31,7 @@ Feature: Add a workflow definition Scenario: Add a new workflow definition with steps For displaying the additional trigger settings the "reload" button is used. Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -57,7 +57,7 @@ Feature: Add a workflow definition Scenario: Add a new workflow definition and alter trigger Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -75,7 +75,7 @@ Feature: Add a workflow definition And I press "Save changes" Then I should see "Workflow Steps" And I should see "Start date delay trigger" - When I click on the tool "Edit" in the "Trigger" row of the "tool_cleanupcourses_workflows" table + When I click on the tool "Edit" in the "Trigger" row of the "tool_lifecycle_workflows" table Then the following fields match these values: | Instance Name | My Trigger | | Subplugin Name | Start date delay trigger | @@ -91,7 +91,7 @@ Feature: Add a workflow definition | Capability | moodle/course:manageactivities | And I press "Save changes" Then I should see "Manual trigger" - When I click on the tool "Edit" in the "Trigger" row of the "tool_cleanupcourses_workflows" table + When I click on the tool "Edit" in the "Trigger" row of the "tool_lifecycle_workflows" table Then the following fields match these values: | Instance Name | My updated Trigger | | Subplugin Name | Manual trigger | @@ -101,7 +101,7 @@ Feature: Add a workflow definition Scenario: Add a new workflow definition with steps and rearange Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -131,11 +131,11 @@ Feature: Add a workflow definition Then the step "Delete Course 1" should be at the 1 position And the step "Delete Course 2" should be at the 2 position And the step "Create Backup Step" should be at the 3 position - And I click on the tool "Down" in the "Delete Course 1" row of the "tool_cleanupcourses_workflows" table + And I click on the tool "Down" in the "Delete Course 1" row of the "tool_lifecycle_workflows" table Then the step "Delete Course 1" should be at the 2 position And the step "Delete Course 2" should be at the 1 position And the step "Create Backup Step" should be at the 3 position - And I click on the tool "Up" in the "Create Backup Step" row of the "tool_cleanupcourses_workflows" table + And I click on the tool "Up" in the "Create Backup Step" row of the "tool_lifecycle_workflows" table Then the step "Delete Course 1" should be at the 3 position And the step "Delete Course 2" should be at the 1 position And the step "Create Backup Step" should be at the 2 position diff --git a/tests/behat/behat_tool_cleanupcourses.php b/tests/behat/behat_tool_lifecycle.php similarity index 94% rename from tests/behat/behat_tool_cleanupcourses.php rename to tests/behat/behat_tool_lifecycle.php index 14165ca..866c682 100644 --- a/tests/behat/behat_tool_cleanupcourses.php +++ b/tests/behat/behat_tool_lifecycle.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Step definition for cleanup courses. + * Step definition for life cycle. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test * @copyright 2018 Tobias Reischmann * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -29,14 +29,14 @@ use Behat\Mink\Exception\ExpectationException; require_once(__DIR__ . '/../../../../../lib/behat/behat_base.php'); /** - * Step definition for cleanup courses. + * Step definition for life cycle. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test * @copyright 2018 Tobias Reischmann * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class behat_tool_cleanupcourses extends behat_base { +class behat_tool_lifecycle extends behat_base { /** * Click on an entry in the tools menu of a table. @@ -204,7 +204,7 @@ class behat_tool_cleanupcourses extends behat_base { * @throws ExpectationException */ public function the_step_should_be_at_the_position($stepname, $position) { - $xpathelement = "//table/tbody/tr[@id = 'tool_cleanupcourses_workflows_r$position']/td[contains(text(),'$stepname')]"; + $xpathelement = "//table/tbody/tr[@id = 'tool_lifecycle_workflows_r$position']/td[contains(text(),'$stepname')]"; try { $this->find('xpath', $xpathelement); @@ -218,9 +218,9 @@ class behat_tool_cleanupcourses extends behat_base { /** * Opens Teacher's Courses Overview. * - * @Given /^I am on cleanupcourses view$/ + * @Given /^I am on lifecycle view$/ */ - public function i_am_on_cleanupcourses_view() { - $this->getSession()->visit($this->locate_path('/admin/tool/cleanupcourses/view.php')); + public function i_am_on_lifecycle_view() { + $this->getSession()->visit($this->locate_path('/admin/tool/lifecycle/view.php')); } } diff --git a/tests/behat/interaction.feature b/tests/behat/interaction.feature index c7c62db..1c8fc09 100644 --- a/tests/behat/interaction.feature +++ b/tests/behat/interaction.feature @@ -1,4 +1,4 @@ -@tool @tool_cleanupcourses +@tool @tool_lifecycle Feature: Add a workflow with an email step and test the interaction as a teacher Background: @@ -16,7 +16,7 @@ Feature: Add a workflow with an email step and test the interaction as a teacher | teacher1 | C2 | editingteacher | | teacher1 | C3 | editingteacher | And I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -48,24 +48,24 @@ Feature: Add a workflow with an email step and test the interaction as a teacher Scenario: Test interaction of email step Given I log in as "teacher1" - When I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 2" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 3" in the "tool_cleanupcourses_remaining" "table" - When I run the scheduled task "tool_cleanupcourses\task\process_cleanup" - And I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 2" in the "tool_cleanupcourses_interaction" "table" - And I should see "Course 3" in the "tool_cleanupcourses_interaction" "table" - And I should see the tool "Keep Course" in the "Course 2" row of the "tool_cleanupcourses_interaction" table - And I should see the tool "Keep Course" in the "Course 3" row of the "tool_cleanupcourses_interaction" table - When I click on the tool "Keep Course" in the "Course 2" row of the "tool_cleanupcourses_interaction" table - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 2" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 3" in the "tool_cleanupcourses_interaction" "table" + When I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see "Course 2" in the "tool_lifecycle_remaining" "table" + And I should see "Course 3" in the "tool_lifecycle_remaining" "table" + When I run the scheduled task "tool_lifecycle\task\lifecycle_task" + And I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see "Course 2" in the "tool_lifecycle_interaction" "table" + And I should see "Course 3" in the "tool_lifecycle_interaction" "table" + And I should see the tool "Keep Course" in the "Course 2" row of the "tool_lifecycle_interaction" table + And I should see the tool "Keep Course" in the "Course 3" row of the "tool_lifecycle_interaction" table + When I click on the tool "Keep Course" in the "Course 2" row of the "tool_lifecycle_interaction" table + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see "Course 2" in the "tool_lifecycle_remaining" "table" + And I should see "Course 3" in the "tool_lifecycle_interaction" "table" When I wait "10" seconds - And I run the scheduled task "tool_cleanupcourses\task\process_cleanup" - And I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 2" in the "tool_cleanupcourses_remaining" "table" + And I run the scheduled task "tool_lifecycle\task\lifecycle_task" + And I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see "Course 2" in the "tool_lifecycle_remaining" "table" And I should not see "Course 3" \ No newline at end of file diff --git a/tests/behat/interaction_forms.feature b/tests/behat/interaction_forms.feature index 27c8844..3be67a0 100644 --- a/tests/behat/interaction_forms.feature +++ b/tests/behat/interaction_forms.feature @@ -1,4 +1,4 @@ -@tool @tool_cleanupcourses +@tool @tool_lifecycle Feature: Add a workflow with a manual trigger and a duplicate step and test the interaction as a teacher Background: @@ -12,7 +12,7 @@ Feature: Add a workflow with a manual trigger and a duplicate step and test the | user | course | role | | teacher1 | C1 | editingteacher | And I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -38,57 +38,57 @@ Feature: Add a workflow with a manual trigger and a duplicate step and test the Scenario: Test interaction of duplicate step including the correct handling of the form for aditional information Given I log in as "teacher1" - When I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table + When I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table + When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table Then I should see "Duplicate Course" When I set the following fields to these values: | Course short name | C2 | | Course full name | Course 2 | And I press "Save changes" - Then I should see "Duplicated course will be available shortly." in the "tool_cleanupcourses_remaining" "table" + Then I should see "Duplicated course will be available shortly." in the "tool_lifecycle_remaining" "table" When I log out And I log in as "admin" - And I run the scheduled task "tool_cleanupcourses\task\process_cleanup" + And I run the scheduled task "tool_lifecycle\task\lifecycle_task" And I log out And I log in as "teacher1" - And I am on cleanupcourses view - Then I should see "Course 2" in the "tool_cleanupcourses_remaining" "table" - And I should see "C2" in the "tool_cleanupcourses_remaining" "table" + And I am on lifecycle view + Then I should see "Course 2" in the "tool_lifecycle_remaining" "table" + And I should see "C2" in the "tool_lifecycle_remaining" "table" Scenario: Test interaction of duplicate step when interaction is interrupted Given I log in as "teacher1" - When I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table + When I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table + When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table Then I should see "Duplicate Course" - When I am on cleanupcourses view - Then I should see the tool "Enter data" in the "Course 1" row of the "tool_cleanupcourses_interaction" table - When I click on the tool "Enter data" in the "Course 1" row of the "tool_cleanupcourses_interaction" table + When I am on lifecycle view + Then I should see the tool "Enter data" in the "Course 1" row of the "tool_lifecycle_interaction" table + When I click on the tool "Enter data" in the "Course 1" row of the "tool_lifecycle_interaction" table Then I should see "Duplicate Course" When I set the following fields to these values: | Course short name | C2 | | Course full name | Course 2 | And I press "Save changes" - Then I should see "Duplicated course will be available shortly." in the "tool_cleanupcourses_remaining" "table" + Then I should see "Duplicated course will be available shortly." in the "tool_lifecycle_remaining" "table" When I log out And I log in as "admin" - And I run the scheduled task "tool_cleanupcourses\task\process_cleanup" + And I run the scheduled task "tool_lifecycle\task\lifecycle_task" And I log out And I log in as "teacher1" - And I am on cleanupcourses view - Then I should see "Course 2" in the "tool_cleanupcourses_remaining" "table" - And I should see "C2" in the "tool_cleanupcourses_remaining" "table" + And I am on lifecycle view + Then I should see "Course 2" in the "tool_lifecycle_remaining" "table" + And I should see "C2" in the "tool_lifecycle_remaining" "table" Scenario: Test interaction of duplicate step when interaction is canceled Given I log in as "teacher1" - When I am on cleanupcourses view - Then I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" - And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table + When I am on lifecycle view + Then I should see "Course 1" in the "tool_lifecycle_remaining" "table" + And I should see the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table + When I click on the tool "Duplicate course" in the "Course 1" row of the "tool_lifecycle_remaining" table Then I should see "Duplicate Course" When I press "Cancel" - Then I should not see "Duplicated course will be available shortly." in the "tool_cleanupcourses_remaining" "table" - And I should see "Course 1" in the "tool_cleanupcourses_remaining" "table" \ No newline at end of file + Then I should not see "Duplicated course will be available shortly." in the "tool_lifecycle_remaining" "table" + And I should see "Course 1" in the "tool_lifecycle_remaining" "table" \ No newline at end of file diff --git a/tests/behat/manual_trigger.feature b/tests/behat/manual_trigger.feature index df35658..88e5c03 100644 --- a/tests/behat/manual_trigger.feature +++ b/tests/behat/manual_trigger.feature @@ -1,4 +1,4 @@ -@tool @tool_cleanupcourses +@tool @tool_lifecycle Feature: Add a manual trigger and test view and actions as a teacher Background: @@ -18,12 +18,12 @@ Feature: Add a manual trigger and test view and actions as a teacher Scenario: Test displayed action tools for different capabilities Given I log in as "admin" - # Allow teacher role to view courses in cleanup courses view + # Allow teacher role to view courses in life cycle view # to allow for different visibility levels of manual tools. And I set the following system permissions of "Non-editing teacher" role: | capability | permission | - | tool/cleanupcourses:managecourses | Allow | - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + | tool/lifecycle:managecourses | Allow | + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -43,17 +43,17 @@ Feature: Add a manual trigger and test view and actions as a teacher And I press "Activate" And I log out And I log in as "teacher1" - And I am on cleanupcourses view + And I am on lifecycle view Then I should see "Course 1" And I should see "Course 2" And I should see "Course 3" - And I should see the tool "Delete course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - And I should see the tool "Delete course" in the "Course 2" row of the "tool_cleanupcourses_remaining" table - And I should not see the tool "Delete course" in the "Course 3" row of the "tool_cleanupcourses_remaining" table + And I should see the tool "Delete course" in the "Course 1" row of the "tool_lifecycle_remaining" table + And I should see the tool "Delete course" in the "Course 2" row of the "tool_lifecycle_remaining" table + And I should not see the tool "Delete course" in the "Course 3" row of the "tool_lifecycle_remaining" table Scenario: Manually trigger backup and course deletion Given I log in as "admin" - And I navigate to "Workflow Settings" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Workflow Settings" node in "Site administration > Life Cycle" And I press "Add Workflow" And I set the following fields to these values: | Title | My Workflow | @@ -79,19 +79,19 @@ Feature: Add a manual trigger and test view and actions as a teacher And I press "Activate" And I log out And I log in as "teacher1" - And I am on cleanupcourses view - Then I should see the tool "Delete course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - When I click on the tool "Delete course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table + And I am on lifecycle view + Then I should see the tool "Delete course" in the "Course 1" row of the "tool_lifecycle_remaining" table + When I click on the tool "Delete course" in the "Course 1" row of the "tool_lifecycle_remaining" table Then I should see "Course 1" And I should see "Course 2" - And I should not see the tool "Delete course" in the "Course 1" row of the "tool_cleanupcourses_remaining" table - And I should see the tool "Delete course" in the "Course 2" row of the "tool_cleanupcourses_remaining" table - When I run the scheduled task "tool_cleanupcourses\task\process_cleanup" - And I am on cleanupcourses view + And I should not see the tool "Delete course" in the "Course 1" row of the "tool_lifecycle_remaining" table + And I should see the tool "Delete course" in the "Course 2" row of the "tool_lifecycle_remaining" table + When I run the scheduled task "tool_lifecycle\task\lifecycle_task" + And I am on lifecycle view Then I should not see "Course 1" And I should see "Course 2" When I log out And I log in as "admin" - And I navigate to "Course Backups" node in "Site administration > Plugins > Cleanup Courses" + And I navigate to "Course Backups" node in "Site administration > Life Cycle" Then I should see "Course 1" And I should not see "Course 2" \ No newline at end of file diff --git a/tests/generator/lib.php b/tests/generator/lib.php index d787d56..1d99e85 100644 --- a/tests/generator/lib.php +++ b/tests/generator/lib.php @@ -16,24 +16,24 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\entity\process; -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\process; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\workflow_manager; /** - * tool_cleanupcourses generator tests + * tool_lifecycle generator tests * - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_generator extends testing_module_generator { +class tool_lifecycle_generator extends testing_module_generator { /** * Creates an artificial workflow without steps. @@ -112,7 +112,7 @@ class tool_cleanupcourses_generator extends testing_module_generator { $record->timestepchanged = time(); $record->stepindex = 0; $process = process::from_record($record); - $process->id = $DB->insert_record('tool_cleanupcourses_process', $process); + $process->id = $DB->insert_record('tool_lifecycle_process', $process); return $process; } } diff --git a/tests/manual_trigger_tools_test.php b/tests/manual_trigger_tools_test.php index 59f402e..c556f82 100644 --- a/tests/manual_trigger_tools_test.php +++ b/tests/manual_trigger_tools_test.php @@ -16,19 +16,19 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\local\data\manual_trigger_tool; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\local\data\manual_trigger_tool; /** * Tests assembly of manual trigger tools. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2018 Tobias Reischmann, Jan Dageforde WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_manual_trigger_tools_testcase extends \advanced_testcase { +class tool_lifecycle_manual_trigger_tools_testcase extends \advanced_testcase { const MANUAL_TRIGGER1_ICON = 't/up'; const MANUAL_TRIGGER1_DISPLAYNAME = 'Up'; const MANUAL_TRIGGER1_CAPABILITY = 'moodle/course:manageactivities'; @@ -40,7 +40,7 @@ class tool_cleanupcourses_manual_trigger_tools_testcase extends \advanced_testca public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $triggersettings = new stdClass(); $triggersettings->icon = self::MANUAL_TRIGGER1_ICON; @@ -77,7 +77,7 @@ class tool_cleanupcourses_manual_trigger_tools_testcase extends \advanced_testca workflow_manager::handle_action(ACTION_WORKFLOW_ACTIVATE, $this->workflow1->id); $tools = workflow_manager::get_manual_trigger_tools_for_active_workflows(); $this->assertCount(2, $tools); - $this->assertContainsOnly(\tool_cleanupcourses\local\data\manual_trigger_tool::class, $tools); + $this->assertContainsOnly(\tool_lifecycle\local\data\manual_trigger_tool::class, $tools); $trigger = trigger_manager::get_trigger_for_workflow($this->workflow1->id); $expectedtool = new manual_trigger_tool($trigger->id, self::MANUAL_TRIGGER1_ICON, self::MANUAL_TRIGGER1_DISPLAYNAME, self::MANUAL_TRIGGER1_CAPABILITY); diff --git a/tests/manually_triggered_process_test.php b/tests/manually_triggered_process_test.php index d85695e..c266dbb 100644 --- a/tests/manually_triggered_process_test.php +++ b/tests/manually_triggered_process_test.php @@ -19,20 +19,20 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/generator/lib.php'); require_once(__DIR__ . '/../lib.php'); -use tool_cleanupcourses\manager\workflow_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\process_manager; -use tool_cleanupcourses\cleanup_processor; +use tool_lifecycle\manager\workflow_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\process_manager; +use tool_lifecycle\processor; /** * Manually triggers a process and tests if process courses proceeds the process as expected. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_manually_triggered_process_testcase extends \advanced_testcase { +class tool_lifecycle_manually_triggered_process_testcase extends \advanced_testcase { const MANUAL_TRIGGER1_ICON = 't/up'; const MANUAL_TRIGGER1_DISPLAYNAME = 'Up'; const MANUAL_TRIGGER1_CAPABILITY = 'moodle/course:manageactivities'; @@ -42,7 +42,7 @@ class tool_cleanupcourses_manually_triggered_process_testcase extends \advanced_ public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $triggersettings = new stdClass(); $triggersettings->icon = self::MANUAL_TRIGGER1_ICON; @@ -64,7 +64,7 @@ class tool_cleanupcourses_manually_triggered_process_testcase extends \advanced_ $process = process_manager::manually_trigger_process($this->course->id, $this->trigger->id); $this->assertEquals(0, $process->stepindex); - $processor = new cleanup_processor(); + $processor = new processor(); $processor->process_courses(); $process = process_manager::get_process_by_id($process->id); diff --git a/tests/persistence/persist_process_data_test.php b/tests/persistence/persist_process_data_test.php index f3e2888..dafd44e 100644 --- a/tests/persistence/persist_process_data_test.php +++ b/tests/persistence/persist_process_data_test.php @@ -18,19 +18,19 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../../lib.php'); -use \tool_cleanupcourses\manager\process_manager; -use \tool_cleanupcourses\manager\process_data_manager; -use \tool_cleanupcourses\manager\step_manager; +use \tool_lifecycle\manager\process_manager; +use \tool_lifecycle\manager\process_data_manager; +use \tool_lifecycle\manager\step_manager; /** * Tests creating storing and retrieving process data. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_persist_process_data_testcase extends \advanced_testcase { +class tool_lifecycle_persist_process_data_testcase extends \advanced_testcase { /** process*/ private $process; @@ -40,7 +40,7 @@ class tool_cleanupcourses_persist_process_data_testcase extends \advanced_testca public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $workflow = $generator->create_workflow_with_steps(); $course = $this->getDataGenerator()->create_course(); diff --git a/tests/persistence/persist_process_test.php b/tests/persistence/persist_process_test.php index b312118..342983b 100644 --- a/tests/persistence/persist_process_test.php +++ b/tests/persistence/persist_process_test.php @@ -18,17 +18,17 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../../lib.php'); -use \tool_cleanupcourses\manager\process_manager; +use \tool_lifecycle\manager\process_manager; /** * Tests creating storing and retrieving a process object. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_persist_process_testcase extends \advanced_testcase { +class tool_lifecycle_persist_process_testcase extends \advanced_testcase { /** workflow */ private $workflow; @@ -38,7 +38,7 @@ class tool_cleanupcourses_persist_process_testcase extends \advanced_testcase { public function setUp() { $this->resetAfterTest(true); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $this->workflow = $generator->create_workflow_with_steps(); $this->course = $this->getDataGenerator()->create_course(); diff --git a/tests/persistence/persist_step_test.php b/tests/persistence/persist_step_test.php index cb8b529..8276aca 100644 --- a/tests/persistence/persist_step_test.php +++ b/tests/persistence/persist_step_test.php @@ -18,18 +18,18 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../../lib.php'); -use \tool_cleanupcourses\entity\workflow; -use \tool_cleanupcourses\manager\step_manager; +use \tool_lifecycle\entity\workflow; +use \tool_lifecycle\manager\step_manager; /** * Tests creating storing and retrieving a step object. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_persist_step_testcase extends \advanced_testcase { +class tool_lifecycle_persist_step_testcase extends \advanced_testcase { /** workflow */ private $workflow; @@ -41,7 +41,7 @@ class tool_cleanupcourses_persist_step_testcase extends \advanced_testcase { public function setUp() { $this->resetAfterTest(true); - $this->generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $this->generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $this->workflow = $this->generator->create_workflow(); } diff --git a/tests/persistence/persist_workflow_test.php b/tests/persistence/persist_workflow_test.php index 6f01b89..86cef59 100644 --- a/tests/persistence/persist_workflow_test.php +++ b/tests/persistence/persist_workflow_test.php @@ -18,18 +18,18 @@ defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../../lib.php'); -use \tool_cleanupcourses\entity\workflow; -use \tool_cleanupcourses\manager\workflow_manager; +use \tool_lifecycle\entity\workflow; +use \tool_lifecycle\manager\workflow_manager; /** * Tests creating storing and retrieving a workflow object. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_persist_workflow_testcase extends \advanced_testcase { +class tool_lifecycle_persist_workflow_testcase extends \advanced_testcase { /** workflow */ private $workflow; diff --git a/tests/phpunit.xml b/tests/phpunit.xml index 8d08504..9cc368f 100644 --- a/tests/phpunit.xml +++ b/tests/phpunit.xml @@ -29,7 +29,7 @@ <testsuites> - <testsuite name="admin_tool_cleanupcourses_tests_testsuite"> + <testsuite name="admin_tool_lifecycle_tests_testsuite"> <directory suffix="_test.php">.</directory> </testsuite> </testsuites> diff --git a/tests/process_status_message_test.php b/tests/process_status_message_test.php index 1795a08..d6ad1e9 100644 --- a/tests/process_status_message_test.php +++ b/tests/process_status_message_test.php @@ -16,17 +16,17 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\manager\workflow_manager; /** * Tests assembly of manual trigger tools. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2018 Tamara Gunkel, Jan Dageforde WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_process_status_message_testcase extends \advanced_testcase { +class tool_lifecycle_process_status_message_testcase extends \advanced_testcase { const MANUAL_TRIGGER1_ICON = 't/up'; const MANUAL_TRIGGER1_DISPLAYNAME = 'Up'; const MANUAL_TRIGGER1_CAPABILITY = 'moodle/course:manageactivities'; @@ -37,7 +37,7 @@ class tool_cleanupcourses_process_status_message_testcase extends \advanced_test public function setUp() { $this->resetAfterTest(false); - $this->generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $this->generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $settings = new stdClass(); $settings->icon = self::MANUAL_TRIGGER1_ICON; @@ -55,15 +55,15 @@ class tool_cleanupcourses_process_status_message_testcase extends \advanced_test */ public function test_get_status_message() { $process = $this->generator->create_process(2, $this->workflow->id); - $message = \tool_cleanupcourses\manager\interaction_manager::get_process_status_message($process->id); - $this->assertEquals(get_string("workflow_started", "tool_cleanupcourses"), $message); + $message = \tool_lifecycle\manager\interaction_manager::get_process_status_message($process->id); + $this->assertEquals(get_string("workflow_started", "tool_lifecycle"), $message); - \tool_cleanupcourses\manager\process_manager::proceed_process($process); - $message = \tool_cleanupcourses\manager\interaction_manager::get_process_status_message($process->id); - $this->assertEquals(get_string("workflow_is_running", "tool_cleanupcourses"), $message); + \tool_lifecycle\manager\process_manager::proceed_process($process); + $message = \tool_lifecycle\manager\interaction_manager::get_process_status_message($process->id); + $this->assertEquals(get_string("workflow_is_running", "tool_lifecycle"), $message); - \tool_cleanupcourses\manager\process_manager::proceed_process($process); - $message = \tool_cleanupcourses\manager\interaction_manager::get_process_status_message($process->id); - $this->assertEquals(get_string('status_message_requiresattention', 'cleanupcoursesstep_email'), $message); + \tool_lifecycle\manager\process_manager::proceed_process($process); + $message = \tool_lifecycle\manager\interaction_manager::get_process_status_message($process->id); + $this->assertEquals(get_string('status_message_requiresattention', 'lifecyclestep_email'), $message); } } \ No newline at end of file diff --git a/tests/settings_manager_test.php b/tests/settings_manager_test.php index 25f6a5e..1d27208 100644 --- a/tests/settings_manager_test.php +++ b/tests/settings_manager_test.php @@ -16,19 +16,19 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\entity\step_subplugin; -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\settings_manager; +use tool_lifecycle\entity\step_subplugin; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\settings_manager; /** * Tests the settings manager. - * @package tool_cleanupcourses + * @package tool_lifecycle * @category test - * @group tool_cleanupcourses + * @group tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_settings_manager_testcase extends \advanced_testcase { +class tool_lifecycle_settings_manager_testcase extends \advanced_testcase { /** step_subplugin */ private $step; @@ -39,12 +39,12 @@ class tool_cleanupcourses_settings_manager_testcase extends \advanced_testcase { public function setUp() { $this->resetAfterTest(false); - $generator = $this->getDataGenerator()->get_plugin_generator('tool_cleanupcourses'); + $generator = $this->getDataGenerator()->get_plugin_generator('tool_lifecycle'); $workflow = $generator->create_workflow(); $this->step = new step_subplugin('instancename', 'email', $workflow->id); step_manager::insert_or_update($this->step); - $this->trigger = \tool_cleanupcourses\manager\trigger_manager::get_trigger_for_workflow($workflow->id); + $this->trigger = \tool_lifecycle\manager\trigger_manager::get_trigger_for_workflow($workflow->id); } /** diff --git a/trigger/delayedcourses/db/install.php b/trigger/delayedcourses/db/install.php index 6024394..465ef53 100644 --- a/trigger/delayedcourses/db/install.php +++ b/trigger/delayedcourses/db/install.php @@ -15,17 +15,17 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Install script for course cleanup subplugin + * Install script for lifecycle subplugin * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage delayedcourses * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -use tool_cleanupcourses\manager\trigger_manager; +use tool_lifecycle\manager\trigger_manager; defined('MOODLE_INTERNAL') || die(); -function xmldb_cleanupcoursestrigger_delayedcourses_install() { +function xmldb_lifecycletrigger_delayedcourses_install() { trigger_manager::register_workflow('delayedcourses'); } \ No newline at end of file diff --git a/trigger/delayedcourses/lang/en/cleanupcoursestrigger_delayedcourses.php b/trigger/delayedcourses/lang/en/lifecycletrigger_delayedcourses.php similarity index 96% rename from trigger/delayedcourses/lang/en/cleanupcoursestrigger_delayedcourses.php rename to trigger/delayedcourses/lang/en/lifecycletrigger_delayedcourses.php index 00c7b37..088c10d 100644 --- a/trigger/delayedcourses/lang/en/cleanupcoursestrigger_delayedcourses.php +++ b/trigger/delayedcourses/lang/en/lifecycletrigger_delayedcourses.php @@ -17,7 +17,7 @@ /** * Lang strings for site course trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage delayedcourses * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/trigger/delayedcourses/lib.php b/trigger/delayedcourses/lib.php index 4c8ea7d..834482c 100644 --- a/trigger/delayedcourses/lib.php +++ b/trigger/delayedcourses/lib.php @@ -18,21 +18,21 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; -use tool_cleanupcourses\manager\delayed_courses_manager; +use tool_lifecycle\response\trigger_response; +use tool_lifecycle\manager\delayed_courses_manager; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../lib.php'); /** - * Class which implements the basic methods necessary for a cleanup courses trigger subplugin - * @package tool_cleanupcourses\trigger + * Class which implements the basic methods necessary for a life cycle trigger subplugin + * @package tool_lifecycle\trigger */ class delayedcourses extends base_automatic { diff --git a/trigger/delayedcourses/tests/generator/lib.php b/trigger/delayedcourses/tests/generator/lib.php index d89e8d3..b211c11 100644 --- a/trigger/delayedcourses/tests/generator/lib.php +++ b/trigger/delayedcourses/tests/generator/lib.php @@ -16,20 +16,20 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; /** - * cleanupcoursestrigger_delayedcourses generator tests + * lifecycletrigger_delayedcourses generator tests * - * @package cleanupcoursestrigger_delayedcourses + * @package lifecycletrigger_delayedcourses * @category test * @copyright 2018 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_delayedcourses_generator extends testing_module_generator { +class tool_lifecycle_trigger_delayedcourses_generator extends testing_module_generator { /** * Creates a trigger delayedcourses for an artificial workflow without steps. diff --git a/trigger/delayedcourses/tests/trigger_test.php b/trigger/delayedcourses/tests/trigger_test.php index 36d8795..62e7e0a 100644 --- a/trigger/delayedcourses/tests/trigger_test.php +++ b/trigger/delayedcourses/tests/trigger_test.php @@ -14,10 +14,10 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; -use tool_cleanupcourses\manager\delayed_courses_manager; +use tool_lifecycle\response\trigger_response; +use tool_lifecycle\manager\delayed_courses_manager; defined('MOODLE_INTERNAL') || die(); @@ -27,13 +27,13 @@ require_once(__DIR__ . '/generator/lib.php'); /** * Trigger test for delayed courses trigger. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @category delayedcourses - * @group tool_cleanupcourses_trigger + * @group tool_lifecycle_trigger * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_delayedcourses_testcase extends \advanced_testcase { +class tool_lifecycle_trigger_delayedcourses_testcase extends \advanced_testcase { private $triggerinstance; @@ -41,7 +41,7 @@ class tool_cleanupcourses_trigger_delayedcourses_testcase extends \advanced_test $this->resetAfterTest(true); $this->setAdminUser(); - $this->triggerinstance = \tool_cleanupcourses_trigger_delayedcourses_generator::create_trigger_with_workflow(); + $this->triggerinstance = \tool_lifecycle_trigger_delayedcourses_generator::create_trigger_with_workflow(); } /** diff --git a/trigger/delayedcourses/version.php b/trigger/delayedcourses/version.php index 9c71d54..c9ff0a1 100644 --- a/trigger/delayedcourses/version.php +++ b/trigger/delayedcourses/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Site Course Trigger + * Life Cycle Site Course Trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage delayedcourses * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017061900; -$plugin->component = 'cleanupcoursestrigger_delayedcourses'; \ No newline at end of file +$plugin->component = 'lifecycletrigger_delayedcourses'; \ No newline at end of file diff --git a/trigger/dummy/lang/en/cleanupcoursestrigger_dummy.php b/trigger/dummy/lang/en/lifecycletrigger_dummy.php similarity index 95% rename from trigger/dummy/lang/en/cleanupcoursestrigger_dummy.php rename to trigger/dummy/lang/en/lifecycletrigger_dummy.php index b121d5c..f8547eb 100644 --- a/trigger/dummy/lang/en/cleanupcoursestrigger_dummy.php +++ b/trigger/dummy/lang/en/lifecycletrigger_dummy.php @@ -17,7 +17,7 @@ /** * Lang strings for start date delay trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/trigger/dummy/lib.php b/trigger/dummy/lib.php index 1a40f2e..a1e1746 100644 --- a/trigger/dummy/lib.php +++ b/trigger/dummy/lib.php @@ -18,21 +18,21 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../lib.php'); /** * Class which implements the basic methods necessary for a cleanyp courses trigger subplugin - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger */ class dummy extends base_automatic { diff --git a/trigger/dummy/version.php b/trigger/dummy/version.php index 8f371f1..4276e91 100644 --- a/trigger/dummy/version.php +++ b/trigger/dummy/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Dummy Trigger + * Life Cycle Dummy Trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage dummy * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050901; -$plugin->component = 'cleanupcoursestrigger_dummy'; \ No newline at end of file +$plugin->component = 'lifecycletrigger_dummy'; \ No newline at end of file diff --git a/trigger/lib.php b/trigger/lib.php index ae1c839..b46a1f9 100644 --- a/trigger/lib.php +++ b/trigger/lib.php @@ -18,21 +18,21 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @subpackage trigger * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); /** * This class bundles different functions necessary for every trigger of a workflow. * This class should not be extended directly. Please use base_manual or base_automatic. - * @package tool_cleanupcourses\trigger + * @package tool_lifecycle\trigger */ abstract class base { @@ -89,7 +89,7 @@ abstract class base { * @return string status message */ public function get_status_message() { - return get_string("workflow_started", "tool_cleanupcourses"); + return get_string("workflow_started", "tool_lifecycle"); } } @@ -97,7 +97,7 @@ abstract class base { /** * This class represents an automatic trigger. * It is used when workflow should be started based on a specific logic. - * @package tool_cleanupcourses\trigger + * @package tool_lifecycle\trigger */ abstract class base_automatic extends base { @@ -117,7 +117,7 @@ abstract class base_automatic extends base { /** * This class represents a manual trigger. * It is used to enable user to manually start processes for workflows. - * @package tool_cleanupcourses\trigger + * @package tool_lifecycle\trigger */ abstract class base_manual extends base { @@ -127,7 +127,7 @@ abstract class base_manual extends base { } /** * Class representing a local settings object for a subplugin instance. - * @package tool_cleanupcourses\trigger + * @package tool_lifecycle\trigger */ class instance_setting { diff --git a/trigger/manual/lang/en/cleanupcoursestrigger_manual.php b/trigger/manual/lang/en/lifecycletrigger_manual.php similarity index 96% rename from trigger/manual/lang/en/cleanupcoursestrigger_manual.php rename to trigger/manual/lang/en/lifecycletrigger_manual.php index 1ca0045..096ac9f 100644 --- a/trigger/manual/lang/en/cleanupcoursestrigger_manual.php +++ b/trigger/manual/lang/en/lifecycletrigger_manual.php @@ -17,7 +17,7 @@ /** * Lang strings for manual trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage manual * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later diff --git a/trigger/manual/lib.php b/trigger/manual/lib.php index 12a4ecf..42019a9 100644 --- a/trigger/manual/lib.php +++ b/trigger/manual/lib.php @@ -18,19 +18,19 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage manual * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../lib.php'); /** - * Class which implements the basic methods necessary for a cleanup courses trigger subplugin - * @package tool_cleanupcourses_trigger + * Class which implements the basic methods necessary for a life cycle trigger subplugin + * @package tool_lifecycle_trigger */ class manual extends base_manual { @@ -56,19 +56,19 @@ class manual extends base_manual { public function extend_add_instance_form_definition($mform) { $elementname = 'icon'; $mform->addElement( - 'text', $elementname, get_string('setting_icon', 'cleanupcoursestrigger_manual') + 'text', $elementname, get_string('setting_icon', 'lifecycletrigger_manual') ); $mform->setType($elementname, PARAM_SAFEPATH); $elementname = 'displayname'; $mform->addElement( - 'text', $elementname, get_string('setting_displayname', 'cleanupcoursestrigger_manual') + 'text', $elementname, get_string('setting_displayname', 'lifecycletrigger_manual') ); $mform->setType($elementname, PARAM_TEXT); $elementname = 'capability'; $mform->addElement( - 'text', $elementname, get_string('setting_capability', 'cleanupcoursestrigger_manual') + 'text', $elementname, get_string('setting_capability', 'lifecycletrigger_manual') ); $mform->setType($elementname, PARAM_CAPABILITY); } diff --git a/trigger/manual/version.php b/trigger/manual/version.php index 35547bf..c6f0f0a 100644 --- a/trigger/manual/version.php +++ b/trigger/manual/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Manual Trigger + * Life Cycle Manual Trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage manual * @copyright 2018 WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2018022000; -$plugin->component = 'cleanupcoursestrigger_manual'; \ No newline at end of file +$plugin->component = 'lifecycletrigger_manual'; \ No newline at end of file diff --git a/trigger/sitecourse/db/install.php b/trigger/sitecourse/db/install.php index 693bd57..b251a39 100644 --- a/trigger/sitecourse/db/install.php +++ b/trigger/sitecourse/db/install.php @@ -15,17 +15,17 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Install script for course cleanup subplugin + * Install script for lifecycle subplugin * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage sitecourse * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -use tool_cleanupcourses\manager\trigger_manager; +use tool_lifecycle\manager\trigger_manager; defined('MOODLE_INTERNAL') || die(); -function xmldb_cleanupcoursestrigger_sitecourse_install() { +function xmldb_lifecycletrigger_sitecourse_install() { trigger_manager::register_workflow('sitecourse'); } \ No newline at end of file diff --git a/trigger/sitecourse/lang/en/cleanupcoursestrigger_sitecourse.php b/trigger/sitecourse/lang/en/lifecycletrigger_sitecourse.php similarity index 95% rename from trigger/sitecourse/lang/en/cleanupcoursestrigger_sitecourse.php rename to trigger/sitecourse/lang/en/lifecycletrigger_sitecourse.php index 7ccc830..e5496ca 100644 --- a/trigger/sitecourse/lang/en/cleanupcoursestrigger_sitecourse.php +++ b/trigger/sitecourse/lang/en/lifecycletrigger_sitecourse.php @@ -17,7 +17,7 @@ /** * Lang strings for site course trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -25,4 +25,4 @@ $string['pluginname'] = 'Exclude site course trigger'; -$string['delay'] = 'This module will exclude the site course from cleanup'; +$string['delay'] = 'This module will exclude the site course from processing'; diff --git a/trigger/sitecourse/lib.php b/trigger/sitecourse/lib.php index 84370a6..4ffe2d4 100644 --- a/trigger/sitecourse/lib.php +++ b/trigger/sitecourse/lib.php @@ -18,20 +18,20 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../lib.php'); /** - * Class which implements the basic methods necessary for a cleanup courses trigger subplugin - * @package tool_cleanupcourses\trigger + * Class which implements the basic methods necessary for a life cycle trigger subplugin + * @package tool_lifecycle\trigger */ class sitecourse extends base_automatic { diff --git a/trigger/sitecourse/tests/generator/lib.php b/trigger/sitecourse/tests/generator/lib.php index 14d5d94..584db79 100644 --- a/trigger/sitecourse/tests/generator/lib.php +++ b/trigger/sitecourse/tests/generator/lib.php @@ -16,20 +16,20 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; /** - * cleanupcoursestrigger_sitecourse generator tests + * lifecycletrigger_sitecourse generator tests * - * @package cleanupcoursestrigger_sitecourse + * @package lifecycletrigger_sitecourse * @category test * @copyright 2018 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_sitecourse_generator extends testing_module_generator { +class tool_lifecycle_trigger_sitecourse_generator extends testing_module_generator { /** * Creates a trigger sitecourse for an artificial workflow without steps. diff --git a/trigger/sitecourse/tests/trigger_test.php b/trigger/sitecourse/tests/trigger_test.php index 134fe3c..1fb30fa 100644 --- a/trigger/sitecourse/tests/trigger_test.php +++ b/trigger/sitecourse/tests/trigger_test.php @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); @@ -26,13 +26,13 @@ require_once(__DIR__ . '/generator/lib.php'); /** * Trigger test for course site trigger. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @category startdatedelay - * @group tool_cleanupcourses_trigger + * @group tool_lifecycle_trigger * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_sitecourse_testcase extends \advanced_testcase { +class tool_lifecycle_trigger_sitecourse_testcase extends \advanced_testcase { private $triggerinstance; @@ -40,7 +40,7 @@ class tool_cleanupcourses_trigger_sitecourse_testcase extends \advanced_testcase $this->resetAfterTest(true); $this->setAdminUser(); - $this->triggerinstance = \tool_cleanupcourses_trigger_sitecourse_generator::create_trigger_with_workflow(); + $this->triggerinstance = \tool_lifecycle_trigger_sitecourse_generator::create_trigger_with_workflow(); } /** diff --git a/trigger/sitecourse/version.php b/trigger/sitecourse/version.php index 7fe4695..d89e6c1 100644 --- a/trigger/sitecourse/version.php +++ b/trigger/sitecourse/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Site Course Trigger + * Life Cycle Site Course Trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage sitecourse * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050900; -$plugin->component = 'cleanupcoursestrigger_sitecourse'; \ No newline at end of file +$plugin->component = 'lifecycletrigger_sitecourse'; \ No newline at end of file diff --git a/trigger/startdatedelay/lang/en/cleanupcoursestrigger_startdatedelay.php b/trigger/startdatedelay/lang/en/lifecycletrigger_startdatedelay.php similarity index 89% rename from trigger/startdatedelay/lang/en/cleanupcoursestrigger_startdatedelay.php rename to trigger/startdatedelay/lang/en/lifecycletrigger_startdatedelay.php index e1180b2..8783af5 100644 --- a/trigger/startdatedelay/lang/en/cleanupcoursestrigger_startdatedelay.php +++ b/trigger/startdatedelay/lang/en/lifecycletrigger_startdatedelay.php @@ -17,7 +17,7 @@ /** * Lang strings for start date delay trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -25,4 +25,4 @@ $string['pluginname'] = 'Start date delay trigger'; -$string['delay'] = 'Delay from start of course til cleanup'; +$string['delay'] = 'Delay from start of course til starting a process'; diff --git a/trigger/startdatedelay/lib.php b/trigger/startdatedelay/lib.php index 410bed3..494756f 100644 --- a/trigger/startdatedelay/lib.php +++ b/trigger/startdatedelay/lib.php @@ -18,15 +18,15 @@ * Interface for the subplugintype trigger * It has to be implemented by all subplugins. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); require_once(__DIR__ . '/../lib.php'); @@ -34,7 +34,7 @@ require_once(__DIR__ . '/../../lib.php'); /** * Class which implements the basic methods necessary for a cleanyp courses trigger subplugin - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger */ class startdatedelay extends base_automatic { @@ -65,7 +65,7 @@ class startdatedelay extends base_automatic { } public function extend_add_instance_form_definition($mform) { - $mform->addElement('duration', 'delay', get_string('delay', 'cleanupcoursestrigger_startdatedelay')); + $mform->addElement('duration', 'delay', get_string('delay', 'lifecycletrigger_startdatedelay')); } public function extend_add_instance_form_definition_after_data($mform, $settings) { diff --git a/trigger/startdatedelay/tests/generator/lib.php b/trigger/startdatedelay/tests/generator/lib.php index 44813ec..cd6f742 100644 --- a/trigger/startdatedelay/tests/generator/lib.php +++ b/trigger/startdatedelay/tests/generator/lib.php @@ -16,21 +16,21 @@ defined('MOODLE_INTERNAL') || die(); -use tool_cleanupcourses\entity\trigger_subplugin; -use tool_cleanupcourses\entity\workflow; -use tool_cleanupcourses\manager\settings_manager; -use tool_cleanupcourses\manager\trigger_manager; -use tool_cleanupcourses\manager\workflow_manager; +use tool_lifecycle\entity\trigger_subplugin; +use tool_lifecycle\entity\workflow; +use tool_lifecycle\manager\settings_manager; +use tool_lifecycle\manager\trigger_manager; +use tool_lifecycle\manager\workflow_manager; /** - * cleanupcoursestrigger_startdatedelay generator tests + * lifecycletrigger_startdatedelay generator tests * - * @package cleanupcoursestrigger_startdatedelay + * @package lifecycletrigger_startdatedelay * @category test * @copyright 2018 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_startdatedelay_generator extends testing_module_generator { +class tool_lifecycle_trigger_startdatedelay_generator extends testing_module_generator { /** * Creates a trigger startdatedelay for an artificial workflow without steps. diff --git a/trigger/startdatedelay/tests/trigger_test.php b/trigger/startdatedelay/tests/trigger_test.php index 55b9e54..09dc96c 100644 --- a/trigger/startdatedelay/tests/trigger_test.php +++ b/trigger/startdatedelay/tests/trigger_test.php @@ -14,9 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. -namespace tool_cleanupcourses\trigger; +namespace tool_lifecycle\trigger; -use tool_cleanupcourses\response\trigger_response; +use tool_lifecycle\response\trigger_response; defined('MOODLE_INTERNAL') || die(); @@ -26,13 +26,13 @@ require_once(__DIR__ . '/generator/lib.php'); /** * Trigger test for start date delay trigger. * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @category startdatedelay - * @group tool_cleanupcourses_trigger + * @group tool_lifecycle_trigger * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ -class tool_cleanupcourses_trigger_startdatedelay_testcase extends \advanced_testcase { +class tool_lifecycle_trigger_startdatedelay_testcase extends \advanced_testcase { private $triggerinstance; @@ -40,7 +40,7 @@ class tool_cleanupcourses_trigger_startdatedelay_testcase extends \advanced_test $this->resetAfterTest(true); $this->setAdminUser(); - $this->triggerinstance = \tool_cleanupcourses_trigger_startdatedelay_generator::create_trigger_with_workflow(); + $this->triggerinstance = \tool_lifecycle_trigger_startdatedelay_generator::create_trigger_with_workflow(); } /** diff --git a/trigger/startdatedelay/version.php b/trigger/startdatedelay/version.php index c521155..9bd6252 100644 --- a/trigger/startdatedelay/version.php +++ b/trigger/startdatedelay/version.php @@ -15,9 +15,9 @@ // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** - * Cleanup Courses Startdate Trigger + * Life Cycle Startdate Trigger * - * @package tool_cleanupcourses_trigger + * @package tool_lifecycle_trigger * @subpackage startdatedelay * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later @@ -26,4 +26,4 @@ defined('MOODLE_INTERNAL') || die; $plugin->version = 2017050901; -$plugin->component = 'cleanupcoursestrigger_startdatedelay'; \ No newline at end of file +$plugin->component = 'lifecycletrigger_startdatedelay'; \ No newline at end of file diff --git a/version.php b/version.php index 80557ea..8f19972 100644 --- a/version.php +++ b/version.php @@ -17,12 +17,13 @@ /** * Version details. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU */ defined('MOODLE_INTERNAL') || die; +$plugin->maturity = MATURITY_ALPHA; $plugin->version = 2018022102; -$plugin->component = 'tool_cleanupcourses'; +$plugin->component = 'tool_lifecycle'; $plugin->requires = 2017051500; // Require Moodle 3.3 (or above). diff --git a/view.php b/view.php index bf0eba6..8649c3f 100644 --- a/view.php +++ b/view.php @@ -17,21 +17,21 @@ /** * Display the list of courses relevant for a specific user in a specific step instance. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__ . '/../../../config.php'); -use tool_cleanupcourses\manager\step_manager; -use tool_cleanupcourses\manager\interaction_manager; -use tool_cleanupcourses\table\interaction_attention_table; +use tool_lifecycle\manager\step_manager; +use tool_lifecycle\manager\interaction_manager; +use tool_lifecycle\table\interaction_attention_table; require_login(null, false); $PAGE->set_context(context_system::instance()); $PAGE->set_pagelayout('standard'); -$PAGE->set_url(new \moodle_url('/admin/tool/cleanupcourses/view.php')); +$PAGE->set_url(new \moodle_url('/admin/tool/lifecycle/view.php')); // Interaction params. $action = optional_param('action', null, PARAM_ALPHA); @@ -42,10 +42,10 @@ $stepid = optional_param('stepid', null, PARAM_INT); $triggerid = optional_param('triggerid', null, PARAM_INT); $courseid = optional_param('courseid', null, PARAM_INT); -$PAGE->set_title(get_string('viewheading', 'tool_cleanupcourses')); -$PAGE->set_heading(get_string('viewheading', 'tool_cleanupcourses')); +$PAGE->set_title(get_string('viewheading', 'tool_lifecycle')); +$PAGE->set_heading(get_string('viewheading', 'tool_lifecycle')); -$controller = new \tool_cleanupcourses\view_controller(); +$controller = new \tool_lifecycle\view_controller(); if ($action !== null && $processid !== null && $stepid !== null) { require_sesskey(); @@ -57,7 +57,7 @@ if ($action !== null && $processid !== null && $stepid !== null) { exit; } -$renderer = $PAGE->get_renderer('tool_cleanupcourses'); +$renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); diff --git a/workflowsettings.php b/workflowsettings.php index d96f190..12fbbfe 100644 --- a/workflowsettings.php +++ b/workflowsettings.php @@ -17,7 +17,7 @@ /** * Displays the settings associated with one single workflow and handles action for it. * - * @package tool_cleanupcourses + * @package tool_lifecycle * @copyright 2017 Tobias Reischmann WWU * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ @@ -30,15 +30,15 @@ require_capability('moodle/site:config', context_system::instance()); $workflowid = required_param('workflowid', PARAM_INT); -$workflow = tool_cleanupcourses\manager\workflow_manager::get_workflow($workflowid); +$workflow = tool_lifecycle\manager\workflow_manager::get_workflow($workflowid); if (!$workflow) { - throw new moodle_exception('workflownotfound', 'tool_cleanupcourses', - new \moodle_url('/admin/tool/cleanupcourses/adminsettings.php'), $workflowid); + throw new moodle_exception('workflownotfound', 'tool_lifecycle', + new \moodle_url('/admin/tool/lifecycle/adminsettings.php'), $workflowid); } // Create the class for this controller. -$workflowsettings = new tool_cleanupcourses\workflow_settings($workflowid); +$workflowsettings = new tool_lifecycle\workflow_settings($workflowid); // Execute the controller. $workflowsettings->execute(optional_param('action', null, PARAM_TEXT), -- GitLab