57 $this->tpl = $DIC[
"tpl"];
58 $this->tabs = $DIC->tabs();
59 $this->ctrl = $DIC->ctrl();
60 $this->lng = $DIC->language();
61 $this->access = $DIC->access();
62 $this->help = $DIC[
"ilHelp"];
63 $this->obj_data_cache = $DIC[
"ilObjDataCache"];
64 $this->ref_id = $a_parent_obj->ref_id;
76 $next_class =
$ilCtrl->getNextClass($this);
78 switch ($next_class) {
80 $cmd =
$ilCtrl->getCmd(
"render");
99 include_once
'Modules/BookingManager/classes/class.ilBookingSchedulesTableGUI.php';
102 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
104 if (
sizeof(
$table->getData())) {
105 include_once
"Modules/BookingManager/classes/class.ilBookingObject.php";
111 include_once
'Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
114 $bar = $bar->getHTML();
131 $ilTabs->clearTargets();
132 $ilTabs->setBackTarget(
$lng->txt(
'book_back_to_list'),
$ilCtrl->getLinkTarget($this,
'render'));
133 $ilHelp->setScreenIdComponent(
"book");
134 $ilHelp->setScreenId(
"schedules");
135 $ilHelp->setSubScreenId(
"create");
152 $ilTabs->clearTargets();
153 $ilTabs->setBackTarget(
$lng->txt(
'book_back_to_list'),
$ilCtrl->getLinkTarget($this,
'render'));
154 $ilHelp->setScreenIdComponent(
"book");
155 $ilHelp->setScreenId(
"schedules");
156 $ilHelp->setSubScreenId(
"edit");
173 $lng->loadLanguageModule(
"dateplaner");
175 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
180 $title->setRequired(
true);
182 $title->setMaxLength(120);
183 $form_gui->addItem(
$title);
185 include_once
"Modules/BookingManager/classes/class.ilScheduleInputGUI.php";
187 $definition->
setInfo(
$lng->txt(
"book_schedule_days_info"));
188 $definition->setRequired(
true);
189 $form_gui->addItem($definition);
193 $form_gui->addItem($deadline_opts);
196 $deadline_opts->addOption($deadline_time);
199 $deadline->
setInfo(
$lng->txt(
"book_deadline_info"));
200 $deadline->setSuffix(
$lng->txt(
"book_hours"));
201 $deadline->setMinValue(1);
202 $deadline->setSize(3);
203 $deadline->setMaxLength(3);
204 $deadline_time->addSubItem($deadline);
206 $deadline_start =
new ilRadioOption(
$lng->txt(
"book_deadline_slot_start"),
"slot_start");
207 $deadline_opts->addOption($deadline_start);
209 $deadline_slot =
new ilRadioOption(
$lng->txt(
"book_deadline_slot_end"),
"slot_end");
210 $deadline_opts->addOption($deadline_slot);
212 if ($a_mode ==
"edit") {
213 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
218 $av->setTitle(
$lng->txt(
"obj_activation_list_gui"));
219 $form_gui->addItem($av);
222 $lng->loadLanguageModule(
'rep');
225 $from->setShowTime(
true);
226 $form_gui->addItem(
$from);
230 $form_gui->addItem($to);
232 if ($a_mode ==
"edit") {
233 $form_gui->setTitle(
$lng->txt(
"book_edit_schedule"));
236 $item->setValue(
$id);
237 $form_gui->addItem($item);
239 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
241 $title->setValue($schedule->getTitle());
242 $from->setDate($schedule->getAvailabilityFrom());
243 $to->setDate($schedule->getAvailabilityTo());
245 if ($schedule->getDeadline() == 0) {
246 $deadline_opts->setValue(
"slot_start");
247 } elseif ($schedule->getDeadline() > 0) {
248 $deadline->setValue($schedule->getDeadline());
249 $deadline_opts->setValue(
"hours");
251 $deadline->setValue(0);
252 $deadline_opts->setValue(
"slot_end");
270 $definition->setValue($schedule->getDefinitionBySlots());
272 $form_gui->addCommandButton(
"update",
$lng->txt(
"save"));
274 $form_gui->setTitle(
$lng->txt(
"book_add_schedule"));
275 $form_gui->addCommandButton(
"save",
$lng->txt(
"save"));
276 $form_gui->addCommandButton(
"render",
$lng->txt(
"cancel"));
278 $form_gui->setFormAction(
$ilCtrl->getFormAction($this));
292 if (
$form->checkInput()) {
293 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
301 $form->setValuesByPost();
316 if (
$form->checkInput()) {
317 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
325 $form->setValuesByPost();
341 foreach ($days_group->getOptions() as $option) {
342 $days_fields[$option->getValue()] = $option;
345 foreach ($days as $day) {
346 $slot = $form->
getInput($day .
"_slot");
347 $subs = $days_fields[$day]->getSubItems();
349 $subs[0]->setValue($slot[0]);
352 $subs[1]->setValue($slot[1]);
367 $schedule->setTitle(
$form->getInput(
"title"));
368 $schedule->setPoolId($ilObjDataCache->lookupObjId($this->ref_id));
371 $schedule->setAvailabilityFrom(
$from->getDate());
373 $to =
$form->getItemByPostVar(
"to");
374 $schedule->setAvailabilityTo($to->getDate());
376 switch (
$form->getInput(
"deadline_opts")) {
378 $schedule->setDeadline(0);
382 $schedule->setDeadline(
$form->getInput(
"deadline"));
386 $schedule->setDeadline(-1);
421 $ilHelp->setSubScreenId(
"delete");
424 include_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
426 $conf->setFormAction(
$ilCtrl->getFormAction($this));
427 $conf->setHeaderText(
$lng->txt(
'book_confirm_delete'));
429 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
431 $conf->addItem(
'schedule_id', (
int) $_GET[
'schedule_id'],
$type->getTitle());
432 $conf->setConfirm(
$lng->txt(
'delete'),
'delete');
433 $conf->setCancel(
$lng->txt(
'cancel'),
'render');
435 $tpl->setContent($conf->getHTML());
441 public function delete()
446 include_once
'Modules/BookingManager/classes/class.ilBookingSchedule.php';
451 $ilCtrl->redirect($this,
'render');
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
This class represents an option in a radio group.
static getList($a_pool_id, $a_title=null)
Get list of booking objects for given type.
__construct($a_parent_obj)
Constructor.
schedule for booking ressource
if(!array_key_exists('StateId', $_REQUEST)) $id
List booking schedules (for booking pool)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form
static _lookupObjId($a_id)
This class represents a text property in a property form.
initForm($a_mode="create", $id=null)
Build property form.
create()
Render creation form.
save()
Create new dataset.
executeCommand()
main switch
formToObject($form, $schedule)
Convert incoming form data to schedule object.
Class ilBookingScheduleGUI.
render()
Render list of booking schedules.
setDefinitionFromPost(ilPropertyFormGUI $form)
Reload definition values from post data.
confirmDelete()
Confirm delete.
if(empty($password)) $table
Confirmation screen class.