ILIAS  trunk Revision v13.0_alpha-52-g21c366bbdd4
BookingTableActionsFactory.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
35use ILIAS\UI\Factory as UIFactory;
36use ILIAS\UI\Renderer as UIRenderer;
37use ilLanguage;
39
41{
42 public const string ACTION_CANCEL = 'cancel';
43
44 public const string ACTION_DELETE = 'delete';
45
46 public const string ACTION_MAIL = 'mail';
47
48 public const string ACTION_BOOKING_INFORMATION = 'booking_information';
49
50 public function __construct(
51 protected readonly ilCtrlInterface $ctrl,
52 protected readonly ilLanguage $lng,
53 protected readonly ilGlobalTemplateInterface $tpl,
54 protected readonly UIFactory $ui_factory,
55 protected readonly UIRenderer $ui_renderer,
56 protected readonly Refinery $refinery,
57 protected readonly HttpService $http,
58 protected readonly AccessManager $access,
59 protected readonly ReservationDBRepository $reservation_repository,
60 protected readonly ilObjBookingPool $booking_pool,
61 protected readonly array $bookings,
62 ) {
63 }
64
65 public function getTableActions(): TableActions
66 {
67 return new TableActions(
68 $this->ctrl,
69 $this->lng,
70 $this->tpl,
71 $this->ui_factory,
72 $this->ui_renderer,
73 $this->refinery,
74 $this->http,
75 [
76 self::ACTION_CANCEL => $this->getCancelAction(),
77 self::ACTION_DELETE => $this->getDeleteAction(),
78 self::ACTION_MAIL => $this->getMailAction(),
79 self::ACTION_BOOKING_INFORMATION => $this->getBookingInformationAction(),
80 ]
81 );
82 }
83
85 {
87 $this->access,
88 $this->ui_factory,
89 $this->ui_renderer,
90 $this->lng,
91 $this->reservation_repository,
92 $this->http,
93 $this->tpl,
94 $this->ctrl,
95 $this->booking_pool,
96 $this->bookings
97 );
98 }
99
101 {
102 return new BookingsTableDeleteAction(
103 $this->access,
104 $this->ui_factory,
105 $this->ui_renderer,
106 $this->lng,
107 $this->reservation_repository,
108 $this->http,
109 $this->tpl,
110 $this->ctrl,
111 $this->booking_pool,
112 $this->bookings
113 );
114 }
115
117 {
118 return new BookingsTableMailAction(
119 $this->access,
120 $this->ui_factory,
121 $this->ui_renderer,
122 $this->lng,
123 $this->reservation_repository,
124 $this->http,
125 $this->tpl,
126 $this->ctrl,
127 $this->booking_pool,
128 $this->bookings
129 );
130 }
131
133 {
135 $this->ui_factory,
136 $this->lng,
137 $this->http,
138 $this->tpl,
139 $this->ctrl,
140 $this->bookings
141 );
142 }
143}
__construct(protected readonly ilCtrlInterface $ctrl, protected readonly ilLanguage $lng, protected readonly ilGlobalTemplateInterface $tpl, protected readonly UIFactory $ui_factory, protected readonly UIRenderer $ui_renderer, protected readonly Refinery $refinery, protected readonly HttpService $http, protected readonly AccessManager $access, protected readonly ReservationDBRepository $reservation_repository, protected readonly ilObjBookingPool $booking_pool, protected readonly array $bookings,)
Repo class for reservations Acts on tables booking_reservation (rw), booking_reservation_group (rw) a...
Builds a Color from either hex- or rgb values.
Definition: Factory.php:31
Builds data types.
Definition: Factory.php:36
language handling
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An entity that renders components to a string output.
Definition: Renderer.php:31
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static http()
Fetches the global http state from ILIAS.
readonly ilGlobalTemplateInterface $tpl
global $lng
Definition: privfeed.php:26