This class is used for integration of the booking manager as a service into other repository objects, e.g.
More...
This class is used for integration of the booking manager as a service into other repository objects, e.g.
courses. ilBookingGatewayGUI: ilPropertyFormGUI, ilBookingObjectServiceGUI, ilBookingReservationsGUI
- Author
- Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de
Definition at line 27 of file class.ilBookingGatewayGUI.php.
◆ __construct()
ilBookingGatewayGUI::__construct |
( |
ilObjectGUI |
$parent_gui, |
|
|
int |
$main_host_ref_id = 0 |
|
) |
| |
Definition at line 50 of file class.ilBookingGatewayGUI.php.
References $DIC, $parent_gui, ILIAS\Repository\ctrl(), ilObjectGUI\getObject(), ILIAS\Repository\help(), initPool(), ILIAS\Repository\lng(), ILIAS\Repository\tabs(), and ILIAS\Repository\toolbar().
56 $this->
ctrl = $DIC->ctrl();
57 $this->
lng = $DIC->language();
58 $this->main_tpl = $DIC->ui()->mainTemplate();
60 $this->
tabs = $DIC->tabs();
61 $this->book_request = $DIC->bookingManager()
66 $this->
lng->loadLanguageModule(
"book");
69 $this->obj_id = $parent_gui->
getObject()->getId();
70 $this->ref_id = $parent_gui->
getObject()->getRefId();
77 $this->seed = $this->book_request->getSeed();
78 $this->sseed = $this->book_request->getSSeed();
80 $this->
toolbar = $DIC->toolbar();
84 $req_return_to = $this->book_request->getReturnTo();
85 if (in_array($req_return_to, [
"ilbookingobjectservicegui",
"ilbookingreservationsgui"])) {
86 $this->return_to = $req_return_to;
90 $handler =
new BookingManager\getObjectSettingsCommandHandler(
94 $this->current_settings = $handler->handle()->getSettings();
98 if (is_object($this->pool)) {
100 $DIC[
"ilHelp"]->setScreenIdComponent(
"book");
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
◆ checkBookingPoolsForSchedules()
ilBookingGatewayGUI::checkBookingPoolsForSchedules |
( |
array |
$ids | ) |
|
|
protected |
◆ executeCommand()
ilBookingGatewayGUI::executeCommand |
( |
| ) |
|
- Exceptions
-
Definition at line 141 of file class.ilBookingGatewayGUI.php.
References $ctrl, ILIAS\Repository\ctrl(), ilCtrl\forwardCommand(), ilCtrl\getCmd(), ilCtrl\getNextClass(), ILIAS\Repository\help(), initSettingsForm(), ilCtrl\setReturn(), setSubTabs(), and showPoolSelector().
148 switch ($next_class) {
149 case "ilpropertyformgui":
155 case "ilbookingobjectservicegui":
160 $this->current_pool_ref_id,
161 $this->use_book_repo,
169 case "ilbookingreservationsgui":
173 $this->
ctrl->forwardCommand($res_gui);
178 if (in_array($cmd, array(
"show",
"settings",
"saveSettings",
"selectPool"))) {
getCmd(string $fallback_command=null)
showPoolSelector(string $return_to)
forwardCommand(object $a_gui_object)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getNextClass($a_gui_class=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setSubTabs(string $active)
setReturn(object $a_gui_obj, string $a_cmd=null)
◆ initPool()
ilBookingGatewayGUI::initPool |
( |
| ) |
|
|
protected |
Init pool.
Determine the current pool in $this->current_pool_ref_id. Host objects (e.g. courses) may use multiple booking pools. This method determines the current selected pool (stored in request parameter "pool_ref_id") within the host object user interface. If no pool has been selected yet, the first one attached to the host object is choosen. If no pools are attached to the host object at all we get a 0 ID.
Definition at line 112 of file class.ilBookingGatewayGUI.php.
References $ctrl, ilObject\_lookupObjId(), ilCtrl\saveParameter(), and ilCtrl\setParameter().
Referenced by __construct().
117 $pool_ref_id = $this->book_request->getPoolRefId();
119 $book_ref_ids = $this->use_book_repo->getUsedBookingPools(
ilObject::_lookupObjId($this->main_host_ref_id),
false);
121 $this->pools_selected = (count($book_ref_ids) > 0);
123 if (!in_array($pool_ref_id, $book_ref_ids)) {
124 if (count($book_ref_ids) > 0) {
125 $pool_ref_id = current($book_ref_ids);
130 $this->current_pool_ref_id = $pool_ref_id;
131 if ($this->current_pool_ref_id > 0) {
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupObjId(int $ref_id)
saveParameter(object $a_gui_obj, $a_parameter)
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
◆ initSettingsForm()
ilBookingGatewayGUI::initSettingsForm |
( |
| ) |
|
Definition at line 265 of file class.ilBookingGatewayGUI.php.
References $ctrl, $lng, ilRepositorySelector2InputGUI\getExplorerGUI(), ilCtrl\getFormAction(), ILIAS\Repository\lng(), and ilLanguage\txt().
Referenced by executeCommand(), saveSettings(), and settings().
275 $repo->getExplorerGUI()->setTypeWhiteList(
276 [
"book",
"root",
"cat",
"grp",
"fold",
"crs"]
278 $form->addItem($repo);
279 $repo->setValue($this->current_settings->getUsedBookingObjectIds());
281 $form->addCommandButton(
"saveSettings",
$lng->
txt(
"save"));
283 $form->setTitle(
$lng->
txt(
"book_pool_selection"));
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
getFormAction(object $a_gui_obj, string $a_fallback_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
◆ saveSettings()
ilBookingGatewayGUI::saveSettings |
( |
| ) |
|
Definition at line 289 of file class.ilBookingGatewayGUI.php.
References $ctrl, $i, $lng, $main_tpl, $use_book_repo, checkBookingPoolsForSchedules(), initSettingsForm(), ilCtrl\redirect(), and ilLanguage\txt().
296 if ($form->checkInput()) {
297 $b_ids = $form->getInput(
"booking_obj_ids");
298 $b_ids = is_array($b_ids)
299 ? array_map(
static function (
$i) {
305 $this->main_tpl->setOnScreenMessage(
'failure',
$lng->
txt(
"book_all_pools_need_schedules"));
306 $form->setValuesByPost();
317 $handler =
new BookingManager\saveObjectSettingsCommandHandler($cmd, $repo);
320 $this->main_tpl->setOnScreenMessage(
'success',
$lng->
txt(
"msg_obj_modified"),
true);
323 $form->setValuesByPost();
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilObjUseBookDBRepository $use_book_repo
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
redirect(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
setContent(string $a_html)
Sets content for standard template.
checkBookingPoolsForSchedules(array $ids)
Check if all pools have schedules.
ilGlobalTemplateInterface $main_tpl
◆ selectPool()
ilBookingGatewayGUI::selectPool |
( |
| ) |
|
|
protected |
◆ setSubTabs()
ilBookingGatewayGUI::setSubTabs |
( |
string |
$active | ) |
|
|
protected |
Definition at line 211 of file class.ilBookingGatewayGUI.php.
References $ctrl, $lng, $tabs, ilTabsGUI\activateSubTab(), ilTabsGUI\addSubTab(), ilCtrl\getLinkTarget(), ilCtrl\getLinkTargetByClass(), and ilLanguage\txt().
Referenced by executeCommand(), and settings().
218 if ($this->pools_selected) {
221 $lng->
txt(
"book_booking_objects"),
230 if ($this->ref_id === $this->main_host_ref_id) {
getLinkTargetByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
activateSubTab(string $a_id)
addSubTab(string $a_id, string $a_text, string $a_link, string $a_frame="")
getLinkTarget(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
◆ settings()
ilBookingGatewayGUI::settings |
( |
| ) |
|
|
protected |
◆ show()
ilBookingGatewayGUI::show |
( |
| ) |
|
|
protected |
Definition at line 241 of file class.ilBookingGatewayGUI.php.
References $ctrl, ILIAS\Repository\lng(), ilCtrl\redirect(), and ilCtrl\redirectByClass().
244 if ($this->pools_selected) {
246 } elseif ($this->ref_id === $this->main_host_ref_id) {
250 $this->main_tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"book_no_pools_selected"));
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
redirect(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
◆ showPoolSelector()
ilBookingGatewayGUI::showPoolSelector |
( |
string |
$return_to | ) |
|
|
protected |
◆ $book_request
◆ $ctrl
ilCtrl ilBookingGatewayGUI::$ctrl |
|
protected |
◆ $current_pool_ref_id
int ilBookingGatewayGUI::$current_pool_ref_id |
|
protected |
◆ $current_settings
◆ $help
◆ $lng
◆ $main_host_ref_id
int ilBookingGatewayGUI::$main_host_ref_id = 0 |
|
protected |
◆ $main_tpl
◆ $obj_id
int ilBookingGatewayGUI::$obj_id |
|
protected |
◆ $parent_gui
◆ $pool
◆ $pools_selected
bool ilBookingGatewayGUI::$pools_selected = false |
|
protected |
◆ $ref_id
int ilBookingGatewayGUI::$ref_id |
|
protected |
◆ $return_to
string ilBookingGatewayGUI::$return_to = "" |
|
protected |
◆ $seed
string ilBookingGatewayGUI::$seed |
|
protected |
◆ $sseed
string ilBookingGatewayGUI::$sseed |
|
protected |
◆ $tabs
◆ $toolbar
◆ $use_book_repo
The documentation for this class was generated from the following file: