-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy patheditrule.php
More file actions
112 lines (99 loc) · 3.16 KB
/
editrule.php
File metadata and controls
112 lines (99 loc) · 3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
<?php
// This file is part of Moodle - https://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <https://www.gnu.org/licenses/>.
/**
* Demofile to see how wunderbyte_table works.
*
* @package local_taskflow
* @copyright 2025 Wunderbyte GmbH <info@wunderbyte.at>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use local_taskflow\multistepform\editrulesmanager;
require_once(__DIR__ . '/../../config.php');
require_login();
$context = context_system::instance();
// Make sure only an admin can see this.
if (!has_capability('local/taskflow:createrules', $context)) {
die;
}
$PAGE->set_context($context);
$PAGE->set_url('/local/taskflow/editrule.php');
// There might be a returnurl passed on. If not, we use this one.
$returnurl = optional_param('returnurl', '', PARAM_URL);
if (empty($returnurl)) {
$returnurl = "$CFG->wwwroot";
}
// The id corresponds to a rule we want to edit.
$id = optional_param('id', 0, PARAM_INT);
echo $OUTPUT->header();
$stepcounter = 1;
$data = [
$stepcounter => [
'recordid' => $id,
'label' => get_string('rule', 'local_taskflow'),
'formclass' => 'local_taskflow\\form\\rules\\rule',
'stepidentifier' => 'rule',
'formdata' => [
],
],
];
$includedsteps = get_config('local_taskflow', 'includedsteps');
$includedsteps = empty($includedsteps) ? [] : explode(',', $includedsteps);
if (
empty($includedsteps)
|| in_array('filter', $includedsteps)
) {
$stepcounter++;
$data[$stepcounter] = [
'recordid' => $id,
'label' => get_string('filter', 'local_taskflow'),
'formclass' => 'local_taskflow\\form\\filters\\filter',
'stepidentifier' => 'filter',
'formdata' => [
],
];
};
if (
empty($includedsteps)
|| in_array('target', $includedsteps)
) {
$stepcounter++;
$data[$stepcounter] = [
'recordid' => $id,
'label' => get_string('targets', 'local_taskflow'),
'formclass' => 'local_taskflow\\form\\targets\\target',
'stepidentifier' => 'targets',
'formdata' => [
],
];
}
if (
empty($includedsteps)
|| in_array('message', $includedsteps)
) {
$stepcounter++;
$data[$stepcounter] = [
'recordid' => $id,
'label' => get_string('messages', 'local_taskflow'),
'formclass' => 'local_taskflow\\\\form\\\\messages\\\\messages',
'stepidentifier' => 'messages',
'formdata' => [
],
];
};
$uniqueid = 'taskflow_editrule';
$formmanager = new editrulesmanager($uniqueid, $data, $id, true, true, $returnurl);
$formmanager->render();
echo $OUTPUT->footer();