29     protected BookingManager\InternalDomainService 
$domain;
    53         int $main_host_ref_id = 0
    57         $this->
ctrl = $DIC->ctrl();
    58         $this->
lng = $DIC->language();
    59         $this->main_tpl = $DIC->ui()->mainTemplate();
    61         $this->
tabs = $DIC->tabs();
    62         $this->book_request = $DIC->bookingManager()
    71         $this->
lng->loadLanguageModule(
"book");
    74         $this->obj_id = $parent_gui->
getObject()->getId();
    75         $this->ref_id = $parent_gui->
getObject()->getRefId();
    77         $this->main_host_ref_id = ($main_host_ref_id === 0)
    82         $this->seed = $this->book_request->getSeed();
    83         $this->sseed = $this->book_request->getSSeed();
    85         $this->
toolbar = $DIC->toolbar();
    89         $req_return_to = $this->book_request->getReturnTo();
    90         if (in_array($req_return_to, [
"ilbookingobjectservicegui", 
"ilbookingreservationsgui"])) {
    91             $this->return_to = $req_return_to;
    95         $handler = 
new BookingManager\getObjectSettingsCommandHandler(
    99         $this->current_settings = 
$handler->handle()->getSettings();
   103         if (is_object($this->pool)) {
   105             $DIC[
"ilHelp"]->setScreenIdComponent(
"book");
   122         $pool_ref_id = $this->book_request->getPoolRefId();
   124         $book_ref_ids = $this->use_book_repo->getUsedBookingPools(
ilObject::_lookupObjId($this->main_host_ref_id), 
false);
   126         $this->pools_selected = (count($book_ref_ids) > 0);
   128         if (!in_array($pool_ref_id, $book_ref_ids)) {
   129             if (count($book_ref_ids) > 0) {
   130                 $pool_ref_id = current($book_ref_ids);
   135         $this->current_pool_ref_id = $pool_ref_id;
   136         if ($this->current_pool_ref_id > 0) {
   138             $ctrl->
setParameter($this, 
"pool_ref_id", $this->current_pool_ref_id);
   151         $cmd = $ctrl->
getCmd(
"show");
   153         switch ($next_class) {
   154             case "ilpropertyformgui":
   160             case "ilbookingobjectservicegui":
   165                     $this->current_pool_ref_id,
   166                     $this->use_book_repo,
   174             case "ilbookingreservationsgui":
   178                 $this->
ctrl->forwardCommand($res_gui);
   183                 if (in_array($cmd, array(
"show", 
"settings", 
"saveSettings", 
"selectPool"))) {
   198         $this->
ctrl->setParameter($this, 
"return_to", $return_to);
   199         if (count($options) > 0) {
   201             $si->setOptions($options);
   202             $si->setValue($this->current_pool_ref_id);
   203             $this->
toolbar->setFormAction($this->
ctrl->getFormAction($this));
   204             $this->
toolbar->addInputItem($si, 
false);
   205             $this->
toolbar->addFormButton($this->
lng->txt(
"book_select_pool"), 
"selectPool");
   211         if ($this->return_to !== 
"") {
   212             $this->
ctrl->redirectByClass($this->return_to);
   223         if ($this->pools_selected) {
   226                 $lng->
txt(
"book_booking_objects"),
   231                 $lng->
txt(
"book_log"),
   235         if ($this->ref_id === $this->main_host_ref_id) {
   238                 $lng->
txt(
"settings"),
   246     protected function show(): void
   249         if ($this->pools_selected) {
   251         } elseif ($this->ref_id === $this->main_host_ref_id) {
   255         $this->main_tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"book_no_pools_selected"));
   267         $main_tpl->setContent($form->getHTML());
   280         $repo->getExplorerGUI()->setTypeWhiteList(
   281             [
"book", 
"root", 
"cat", 
"grp", 
"fold", 
"crs"]
   283         $form->addItem($repo);
   284         $repo->setValue($this->current_settings->getUsedBookingObjectIds());
   286         $form->addCommandButton(
"saveSettings", $lng->
txt(
"save"));
   288         $form->setTitle($lng->
txt(
"book_pool_selection"));
   301         if ($form->checkInput()) {
   302             $b_ids = $form->getInput(
"booking_obj_ids");
   303             $b_ids = is_array($b_ids)
   304                 ? array_map(
static function ($i) {
   310                 $this->main_tpl->setOnScreenMessage(
'failure', $lng->
txt(
"book_all_pools_need_schedules"));
   311                 $form->setValuesByPost();
   312                 $main_tpl->setContent($form->getHTML());
   322             $handler = 
new BookingManager\saveObjectSettingsCommandHandler($cmd, $repo);
   325             $this->main_tpl->setOnScreenMessage(
'success', $lng->
txt(
"msg_obj_modified"), 
true);
   328             $form->setValuesByPost();
   329             $main_tpl->setContent($form->getHTML());
   339         foreach ($ids as $pool_ref_id) {
   341             if (!$schedule_manager->hasSchedules()) {
 This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilObjUseBookDBRepository $use_book_repo
 
getLinkTargetByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
 
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
 
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...
 
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)
 
__construct(ilObjectGUI $parent_gui, int $main_host_ref_id=0)
 
getCmd(string $fallback_command=null)
 
ilObjBookingServiceSettings $current_settings
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
activateSubTab(string $a_id)
 
BookingManager StandardGUIRequest $book_request
 
This class is used for integration of the booking manager as a service into other repository objects...
 
showPoolSelector(string $return_to)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ilBookingHelpAdapter $help
 
forwardCommand(object $a_gui_object)
 
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...
 
static _lookupObjId(int $ref_id)
 
addSubTab(string $a_id, string $a_text, string $a_link, string $a_frame="")
 
getNextClass($a_gui_class=null)
 
static _lookupTitle(int $obj_id)
 
Class ilObjectGUI Basic methods of all Output classes. 
 
static _lookupObjectId(int $ref_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getLinkTarget(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
 
setSubTabs(string $active)
 
saveParameter(object $a_gui_obj, $a_parameter)
 
checkBookingPoolsForSchedules(array $ids)
Check if all pools have schedules. 
 
setParameter(object $a_gui_obj, string $a_parameter, $a_value)
 
getFormAction(object $a_gui_obj, string $a_fallback_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
 
ilGlobalTemplateInterface $main_tpl
 
BookingManager InternalDomainService $domain
 
setReturn(object $a_gui_obj, string $a_cmd=null)