The generator of the list of registered events

This commit is contained in:
Valentin Popov 2017-10-26 06:25:48 +04:00
parent 0d8cb8688d
commit bae23caa87

View File

@ -46,6 +46,16 @@ class service_edit_form extends moodleform {
parent::__construct($baseurl);
}
/**
* Unpacks data for display.
*
* @param object $record
*/
public function set_data($record) {
$record->events = unserialize(gzuncompress(base64_decode($record->events)));
return parent::set_data($record);
}
/**
* Defines the standard structure of the form.
*/
@ -83,14 +93,18 @@ class service_edit_form extends moodleform {
/* List of events */
$eventlist = report_eventlist_list_generator::get_all_events_list(true);
$events = array();
/* Formation of the list of elements */
foreach ($eventlist as $event) {
$eventname = $event["eventname"];
$mform->addElement("advcheckbox", "events[$eventname]",
$eventname, $event["component"],
array("group" => "events"));
$mform->setType($eventname, PARAM_BOOL);
$events[$event["component"]][] =&
$mform->createElement("advcheckbox", $event["eventname"], $event["eventname"]);
}
/* Displays groups of items */
foreach ($events as $key => $event) {
$mform->addGroup($event, "events", $key, "<br />", true);
}
$this->add_checkbox_controller("events", null, null, 1);
/* Control Panel */
$this->add_action_buttons(true);