mirror of
https://github.com/moodle/moodle.git
synced 2025-04-13 12:32:08 +02:00
MDL-76270 group: Refactor group action handling
Previously group bulk actions were handled by prepending _act in the value of the input, and then using a custom function that accessed $_GET and $_POST to determine which was pressed. This was refactored in favor of the more standard method of using optional_param.
This commit is contained in:
parent
661c8d3ddf
commit
c5b6ab5ddc
@ -169,7 +169,7 @@ UpdatableMembersCombo.prototype.refreshMembers = function () {
|
||||
document.getElementById("deletegroup").disabled = selectionCount == 0;
|
||||
|
||||
if(singleSelection) {
|
||||
var sUrl = this.wwwRoot+"/group/index.php?id="+this.courseId+"&group="+groupId+"&act_ajax_getmembersingroup";
|
||||
var sUrl = this.wwwRoot + "/group/index.php?id=" + this.courseId + "&group=" + groupId + "&action=ajax_getmembersingroup";
|
||||
var self = this;
|
||||
YUI().use('io', function (Y) {
|
||||
Y.io(sUrl, {
|
||||
|
@ -28,7 +28,8 @@ require_once('lib.php');
|
||||
$courseid = required_param('id', PARAM_INT);
|
||||
$groupid = optional_param('group', false, PARAM_INT);
|
||||
$userid = optional_param('user', false, PARAM_INT);
|
||||
$action = groups_param_action();
|
||||
$action = optional_param('action', false, PARAM_TEXT);
|
||||
|
||||
// Support either single group= parameter, or array groups[].
|
||||
if ($groupid) {
|
||||
$groupids = array($groupid);
|
||||
@ -249,35 +250,3 @@ $output = $PAGE->get_renderer('core_group');
|
||||
echo $output->render($renderable);
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
|
||||
/**
|
||||
* Returns the first button action with the given prefix, taken from
|
||||
* POST or GET, otherwise returns false.
|
||||
* @see /lib/moodlelib.php function optional_param().
|
||||
* @param string $prefix 'act_' as in 'action'.
|
||||
* @return string The action without the prefix, or false if no action found.
|
||||
*/
|
||||
function groups_param_action($prefix = 'act_') {
|
||||
$action = false;
|
||||
|
||||
if ($_POST) {
|
||||
$formvars = $_POST;
|
||||
} else if ($_GET) {
|
||||
$formvars = $_GET;
|
||||
}
|
||||
|
||||
if ($formvars) {
|
||||
foreach ($formvars as $key => $value) {
|
||||
if (preg_match("/$prefix(.+)/", $key, $matches)) {
|
||||
$action = $matches[1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($action && !preg_match('/^\w+$/', $action)) {
|
||||
$action = false;
|
||||
throw new \moodle_exception('unknowaction');
|
||||
}
|
||||
|
||||
return $action;
|
||||
}
|
||||
|
@ -92,22 +92,22 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_updatemembers" id="updatemembers" value="{{#str}}showmembersforgroup, group{{/str}}" class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="updatemembers" value="updatemembers" class="btn btn-secondary">{{#str}}showmembersforgroup, group{{/str}}</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_showgroupsettingsform" id="showeditgroupsettingsform" value="{{#str}}editgroupsettings, group{{/str}}" {{#editgroupsettingsdisabled}}disabled="disabled"{{/editgroupsettingsdisabled}} class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="showeditgroupsettingsform" value="showgroupsettingsform" {{#editgroupsettingsdisabled}}disabled="disabled"{{/editgroupsettingsdisabled}} class="btn btn-secondary">{{#str}}editgroupsettings, group{{/str}}</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_deletegroup" id="deletegroup" value="{{#str}}deleteselectedgroup, group{{/str}}" {{#deletegroupdisabled}}disabled="disabled"{{/deletegroupdisabled}} class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="deletegroup" value="deletegroup" {{#deletegroupdisabled}}disabled="disabled"{{/deletegroupdisabled}} class="btn btn-secondary">{{#str}}deleteselectedgroup, group{{/str}}</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_showcreateorphangroupform" id="showcreateorphangroupform" value="{{#str}}creategroup, group{{/str}}" class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="showcreateorphangroupform" value="showcreateorphangroupform" class="btn btn-secondary">{{#str}}creategroup, group{{/str}}</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_showautocreategroupsform" id="showautocreategroupsform" value="{{#str}}autocreategroups, group{{/str}}" class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="showautocreategroupsform" value="showautocreategroupsform" class="btn btn-secondary">{{#str}}autocreategroups, group{{/str}}</button>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" name="act_showimportgroups" id="showimportgroups" value="{{#str}}importgroups, group{{/str}}" class="btn btn-secondary" />
|
||||
<button type="submit" name="action" id="showimportgroups" value="showimportgroups" class="btn btn-secondary">{{#str}}importgroups, group{{/str}}</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 mb-1">
|
||||
@ -127,7 +127,7 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="submit" value="{{#str}}adduserstogroup, group{{/str}}" class="btn btn-secondary" {{#addmembersdisabled}}disabled="disabled"{{/addmembersdisabled}} name="act_showaddmembersform" id="showaddmembersform"/>
|
||||
<button type="submit" value="showaddmembersform" class="btn btn-secondary" {{#addmembersdisabled}}disabled="disabled"{{/addmembersdisabled}} name="action" id="showaddmembersform">{{#str}}adduserstogroup, group{{/str}}</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user