ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilEmployeeTalkAppointmentGUI Class Reference

Class ilEmployeeTalkAppointmentGUI. More...

+ Inheritance diagram for ilEmployeeTalkAppointmentGUI:
+ Collaboration diagram for ilEmployeeTalkAppointmentGUI:

Public Member Functions

 __construct (ilGlobalTemplateInterface $template, ilLanguage $language, ilCtrl $controlFlow, HttpServices $http, Refinery $refinery, ilTabsGUI $tabs, ilObjEmployeeTalk $talk)
 ilEmployeeTalkAppointmentGUI constructor. More...
 
 executeCommand ()
 

Data Fields

const EDIT_MODE_APPOINTMENT = 'appointment'
 
const EDIT_MODE_SERIES = 'series'
 
const EDIT_MODE = 'edit-mode'
 

Protected Member Functions

 getPendingTalkDates ()
 

Private Member Functions

 executeSeriesCommand (string $cmd)
 
 executeAppointmentCommand (string $cmd)
 
 editSeries ()
 
 updateSeries ()
 
 initTalkEditForm (?EmployeeTalk $employeeTalk=null)
 
 initSeriesEditForm (?EmployeeTalk $employeeTalk=null)
 
 editAppointment ()
 
 sendNotification (array $talks)
 
 editMode ()
 
 getEditModeParameter (string $mode)
 
 loadRecurrenceSettings (ilPropertyFormGUI $form)
 load recurrence settings More...
 
 getPendingTalksInSeries (ilObjEmployeeTalkSeries $series)
 
 deleteTalks (array $talks)
 

Private Attributes

ilGlobalTemplateInterface $template
 
ilLanguage $language
 
ilCtrl $controlFlow
 
HttpServices $http
 
Refinery $refinery
 
ilTabsGUI $tabs
 
ilObjEmployeeTalk $talk
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilEmployeeTalkAppointmentGUI::__construct ( ilGlobalTemplateInterface  $template,
ilLanguage  $language,
ilCtrl  $controlFlow,
HttpServices  $http,
Refinery  $refinery,
ilTabsGUI  $tabs,
ilObjEmployeeTalk  $talk 
)

ilEmployeeTalkAppointmentGUI constructor.

Parameters
ilGlobalTemplateInterface$template
ilLanguage$language
ilCtrl$controlFlow
ilTabsGUI$tabs
ilObjEmployeeTalk$talk

Definition at line 59 of file class.ilEmployeeTalkAppointmentGUI.php.

References $controlFlow, $http, $language, $refinery, $tabs, $talk, $template, ILIAS\FileDelivery\http(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), ILIAS\Repository\refinery(), and ILIAS\Repository\tabs().

67  {
68  $this->template = $template;
69  $this->language = $language;
70  $this->controlFlow = $controlFlow;
71  $this->http = $http;
72  $this->refinery = $refinery;
73  $this->tabs = $tabs;
74  $this->talk = $talk;
75 
76  $this->language->loadLanguageModule('cal');
77  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

Member Function Documentation

◆ deleteTalks()

ilEmployeeTalkAppointmentGUI::deleteTalks ( array  $talks)
private
Parameters
ilObjEmployeeTalk[]$talks

Definition at line 607 of file class.ilEmployeeTalkAppointmentGUI.php.

References $data, ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), IL_CAL_UNIX, and ilTimeZone\UTC.

Referenced by updateSeries().

607  : void
608  {
609  foreach ($talks as $talk) {
610  $talk->delete();
611  }
612  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editAppointment()

ilEmployeeTalkAppointmentGUI::editAppointment ( )
private

Definition at line 271 of file class.ilEmployeeTalkAppointmentGUI.php.

References $data, EDIT_MODE_APPOINTMENT, getEditModeParameter(), IL_CAL_UNIX, initTalkEditForm(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), sendNotification(), and ilTimeZone\UTC.

Referenced by executeAppointmentCommand().

271  : void
272  {
273  $form = $this->initTalkEditForm($this->talk->getData());
274 
275  $this->template->setContent($form->getHTML());
276  }
initTalkEditForm(?EmployeeTalk $employeeTalk=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editMode()

ilEmployeeTalkAppointmentGUI::editMode ( )
private

Definition at line 377 of file class.ilEmployeeTalkAppointmentGUI.php.

References ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

Referenced by executeCommand().

377  : string
378  {
379  $mode = '';
380  if ($this->http->wrapper()->query()->has(self::EDIT_MODE)) {
381  $mode = $this->http->wrapper()->query()->retrieve(
382  self::EDIT_MODE,
383  $this->refinery->kindlyTo()->string()
384  );
385  }
386  if ($mode === self::EDIT_MODE_SERIES || $mode === self::EDIT_MODE_APPOINTMENT) {
387  return $mode;
388  }
389  return 'invalid';
390  }
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editSeries()

ilEmployeeTalkAppointmentGUI::editSeries ( )
private

Definition at line 142 of file class.ilEmployeeTalkAppointmentGUI.php.

References $message, getPendingTalkDates(), initSeriesEditForm(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

Referenced by executeSeriesCommand().

142  : void
143  {
144  if (($dates_string = $this->getPendingTalkDates()) !== '') {
145  $message = $this->language->txt('pending_talks_warning');
146  $this->template->setOnScreenMessage('info', $message . $dates_string);
147  }
148  $form = $this->initSeriesEditForm($this->talk->getData());
149 
150  $this->template->setContent($form->getHTML());
151  }
initSeriesEditForm(?EmployeeTalk $employeeTalk=null)
$message
Definition: xapiexit.php:32
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeAppointmentCommand()

ilEmployeeTalkAppointmentGUI::executeAppointmentCommand ( string  $cmd)
private

Definition at line 126 of file class.ilEmployeeTalkAppointmentGUI.php.

References editAppointment(), and ILIAS\UI\examples\Symbol\Glyph\Language\language().

Referenced by executeCommand().

126  : bool
127  {
128  $this->template->setTitle($this->language->txt('etal_date_appointment_edit'));
129 
130  switch ($cmd) {
131  case ControlFlowCommand::UPDATE_INDEX:
132  $this->editAppointment();
133  return true;
134  case ControlFlowCommand::UPDATE:
135  $this->updateAppointment();
136  return true;
137  }
138 
139  return false;
140  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilEmployeeTalkAppointmentGUI::executeCommand ( )

Implements ILIAS\EmployeeTalk\UI\ControlFlowCommandHandler.

Definition at line 79 of file class.ilEmployeeTalkAppointmentGUI.php.

References $ref_id, editMode(), executeAppointmentCommand(), executeSeriesCommand(), ILIAS\FileDelivery\http(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), ILIAS\Repository\refinery(), and ILIAS\Repository\tabs().

79  : void
80  {
81  $cmd = $this->controlFlow->getCmd(ControlFlowCommand::DEFAULT);
82  if ($this->http->wrapper()->query()->has('ref_id')) {
83  $ref_id = $this->http->wrapper()->query()->retrieve(
84  'ref_id',
85  $this->refinery->kindlyTo()->int()
86  );
87  } else {
89  'No ref_id found'
90  );
91  }
92 
93  $backClass = strtolower(ilObjEmployeeTalkGUI::class);
94  $this->controlFlow->setParameterByClass($backClass, 'ref_id', $ref_id);
95  $this->tabs->setBackTarget($this->language->txt('back'), $this->controlFlow->getLinkTargetByClass(strtolower(ilObjEmployeeTalkGUI::class), ControlFlowCommand::DEFAULT));
96 
97  switch ($this->editMode()) {
98  case self::EDIT_MODE_SERIES:
99  $this->executeSeriesCommand($cmd);
100  break;
101  case self::EDIT_MODE_APPOINTMENT:
102  $this->executeAppointmentCommand($cmd);
103  break;
104  default:
105  $this->controlFlow->redirectByClass(strtolower(ilObjEmployeeTalkGUI::class), ControlFlowCommand::DEFAULT);
106  break;
107  }
108  }
$ref_id
Definition: ltiauth.php:67
static http()
Fetches the global http state from ILIAS.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ executeSeriesCommand()

ilEmployeeTalkAppointmentGUI::executeSeriesCommand ( string  $cmd)
private

Definition at line 110 of file class.ilEmployeeTalkAppointmentGUI.php.

References editSeries(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and updateSeries().

Referenced by executeCommand().

110  : bool
111  {
112  $this->template->setTitle($this->language->txt('etal_date_series_edit'));
113 
114  switch ($cmd) {
115  case ControlFlowCommand::UPDATE_INDEX:
116  $this->editSeries();
117  return true;
118  case ControlFlowCommand::UPDATE:
119  $this->updateSeries();
120  return true;
121  }
122 
123  return false;
124  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEditModeParameter()

ilEmployeeTalkAppointmentGUI::getEditModeParameter ( string  $mode)
private

Definition at line 392 of file class.ilEmployeeTalkAppointmentGUI.php.

References EDIT_MODE.

Referenced by editAppointment(), initSeriesEditForm(), initTalkEditForm(), and updateSeries().

392  : string
393  {
394  return '&' . ilEmployeeTalkAppointmentGUI::EDIT_MODE . '=' . $mode;
395  }
+ Here is the caller graph for this function:

◆ getPendingTalkDates()

ilEmployeeTalkAppointmentGUI::getPendingTalkDates ( )
protected

Definition at line 153 of file class.ilEmployeeTalkAppointmentGUI.php.

References Vendor\Package\$a, Vendor\Package\$b, ilDatePresentation\formatDate(), ilObjEmployeeTalk\getData(), getPendingTalksInSeries(), ilDatePresentation\setUseRelativeDates(), and ilDatePresentation\useRelativeDates().

Referenced by editSeries().

153  : string
154  {
155  $parent = $this->talk->getParent();
156  $talks = $this->getPendingTalksInSeries($parent);
157 
158  usort($talks, function (ilObjEmployeeTalk $a, ilObjEmployeeTalk $b) {
159  $a = $a->getData()->getStartDate()->getUnixTime();
160  $b = $b->getData()->getStartDate()->getUnixTime();
161  if ($a === $b) {
162  return 0;
163  }
164  return $a < $b ? -1 : 1;
165  });
166 
167  $dates = '';
170  foreach ($talks as $talk) {
171  $dates .= "</br>" . ilDatePresentation::formatDate($talk->getData()->getStartDate());
172  }
174  return $dates;
175  }
getPendingTalksInSeries(ilObjEmployeeTalkSeries $series)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
static setUseRelativeDates(bool $a_status)
set use relative dates
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPendingTalksInSeries()

ilEmployeeTalkAppointmentGUI::getPendingTalksInSeries ( ilObjEmployeeTalkSeries  $series)
private
Returns
ilObjEmployeeTalk[]

Definition at line 584 of file class.ilEmployeeTalkAppointmentGUI.php.

References $refId, $talk, ilObjEmployeeTalk\getData(), and ilContainer\getSubItems().

Referenced by getPendingTalkDates(), and updateSeries().

584  : array
585  {
586  $talks = [];
587  $subItems = $series->getSubItems()['_all'];
588 
589  foreach ($subItems as $subItem) {
590  if ($subItem['type'] === 'etal') {
591  $refId = intval($subItem['ref_id']);
592  $talk = new ilObjEmployeeTalk($refId, true);
593  $talk_data = $talk->getData();
594  if ($talk_data->isStandalone() || $talk_data->isCompleted()) {
595  continue;
596  }
597  $talks[] = $talk;
598  }
599  }
600 
601  return $talks;
602  }
$refId
Definition: xapitoken.php:58
getSubItems(bool $a_admin_panel_enabled=false, bool $a_include_side_block=false, int $a_get_single=0, ilContainerUserFilter $container_user_filter=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initSeriesEditForm()

ilEmployeeTalkAppointmentGUI::initSeriesEditForm ( ?EmployeeTalk  $employeeTalk = null)
private

Definition at line 230 of file class.ilEmployeeTalkAppointmentGUI.php.

References EDIT_MODE_SERIES, getEditModeParameter(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and ilFormPropertyGUI\setRequired().

Referenced by editSeries(), and updateSeries().

231  {
232  $form = new ilPropertyFormGUI();
234  $form->setFormAction($this->controlFlow->getFormActionByClass(
235  strtolower(self::class)
236  ) . $editMode);
237 
238  $header = new ilFormSectionHeaderGUI();
239  $header->setTitle($this->language->txt('appointments'));
240  $form->addItem($header);
241 
242  $dur = new ilDateDurationInputGUI($this->language->txt('cal_fullday'), 'event');
243  $dur->setRequired(true);
244  $dur->setShowTime(true);
245 
246  if ($employeeTalk !== null) {
247  $dur->enableToggleFullTime(
248  $this->language->txt('cal_fullday_title'),
249  $employeeTalk->isAllDay()
250  );
251 
252  $dur->setStart($employeeTalk->getStartDate());
253  $dur->setEnd($employeeTalk->getEndDate());
254  }
255 
256  $form->addItem($dur);
257 
258  // Recurrence
259  $cal = new ilRecurrenceInputGUI($this->language->txt('cal_recurrences'), "frequence");
260  $event = new ilCalendarRecurrence();
261 
262  $cal->allowUnlimitedRecurrences(false);
263  $cal->setRecurrence($event);
264 
265  $form->addItem($cal);
266  $form->addCommandButton(ControlFlowCommand::UPDATE, $this->language->txt('save'), 'etal_series_save');
267 
268  return $form;
269  }
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...
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...
setRequired(bool $a_required)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initTalkEditForm()

ilEmployeeTalkAppointmentGUI::initTalkEditForm ( ?EmployeeTalk  $employeeTalk = null)
private

Definition at line 198 of file class.ilEmployeeTalkAppointmentGUI.php.

References EDIT_MODE_APPOINTMENT, getEditModeParameter(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and ilFormPropertyGUI\setRequired().

Referenced by editAppointment().

199  {
200  $form = new ilPropertyFormGUI();
202  $form->setFormAction($this->controlFlow->getFormActionByClass(
203  strtolower(self::class)
204  ) . $editMode);
205 
206  $header = new ilFormSectionHeaderGUI();
207  $header->setTitle($this->language->txt('appointment'));
208  $form->addItem($header);
209 
210  $dur = new ilDateDurationInputGUI($this->language->txt('cal_fullday'), 'event');
211  $dur->setRequired(true);
212  $dur->setShowTime(true);
213 
214  if ($employeeTalk !== null) {
215  $dur->enableToggleFullTime(
216  $this->language->txt('cal_fullday_title'),
217  $employeeTalk->isAllDay()
218  );
219 
220  $dur->setStart($employeeTalk->getStartDate());
221  $dur->setEnd($employeeTalk->getEndDate());
222  }
223 
224  $form->addItem($dur);
225  $form->addCommandButton(ControlFlowCommand::UPDATE, $this->language->txt('save'), 'etal_date_save');
226 
227  return $form;
228  }
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...
setRequired(bool $a_required)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadRecurrenceSettings()

ilEmployeeTalkAppointmentGUI::loadRecurrenceSettings ( ilPropertyFormGUI  $form)
private

load recurrence settings

protected

Returns

Definition at line 403 of file class.ilEmployeeTalkAppointmentGUI.php.

References $data, ilCalendarRecurrence\FREQ_DAILY, ilCalendarRecurrence\FREQ_MONTHLY, ilCalendarRecurrence\FREQ_WEEKLY, ilCalendarRecurrence\FREQ_YEARLY, ilCalendarRecurrence\getFrequenceType(), ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ilObject\getOwner(), ilObject\getRefId(), IL_CAL_UNIX, IL_CAL_YEAR, sendNotification(), ilUtil\stripSlashes(), ilObjEmployeeTalk\TYPE, and ilTimeZone\UTC.

Referenced by updateSeries().

404  {
405  $rec = new ilCalendarRecurrence();
406 
407  switch ($form->getInput('frequence')) {
409  $rec->setFrequenceType($form->getInput('frequence'));
410  $rec->setInterval((int) $form->getInput('count_DAILY'));
411  break;
412 
414  $rec->setFrequenceType($form->getInput('frequence'));
415  $rec->setInterval((int) $form->getInput('count_WEEKLY'));
416  if (is_array($form->getInput('byday_WEEKLY'))) {
417  $rec->setBYDAY(ilUtil::stripSlashes(implode(',', $form->getInput('byday_WEEKLY'))));
418  }
419  break;
420 
422  $rec->setFrequenceType($form->getInput('frequence'));
423  $rec->setInterval((int) $form->getInput('count_MONTHLY'));
424  switch ((int) $form->getInput('subtype_MONTHLY')) {
425  case 0:
426  // nothing to do;
427  break;
428 
429  case 1:
430  switch ((int) $form->getInput('monthly_byday_day')) {
431  case 8:
432  // Weekday
433  $rec->setBYSETPOS($form->getInput('monthly_byday_num'));
434  $rec->setBYDAY('MO,TU,WE,TH,FR');
435  break;
436 
437  case 9:
438  // Day of month
439  $rec->setBYMONTHDAY($form->getInput('monthly_byday_num'));
440  break;
441 
442  default:
443  $rec->setBYDAY(($form->getInput('monthly_byday_num') . $form->getInput('monthly_byday_day')));
444  break;
445  }
446  break;
447 
448  case 2:
449  $rec->setBYMONTHDAY($form->getInput('monthly_bymonthday'));
450  break;
451  }
452  break;
453 
455  $rec->setFrequenceType($form->getInput('frequence'));
456  $rec->setInterval((int) $form->getInput('count_YEARLY'));
457  switch ((int) $form->getInput('subtype_YEARLY')) {
458  case 0:
459  // nothing to do;
460  break;
461 
462  case 1:
463  $rec->setBYMONTH($form->getInput('yearly_bymonth_byday'));
464  $rec->setBYDAY(($form->getInput('yearly_byday_num') . $form->getInput('yearly_byday')));
465  break;
466 
467  case 2:
468  $rec->setBYMONTH($form->getInput('yearly_bymonth_by_monthday'));
469  $rec->setBYMONTHDAY($form->getInput('yearly_bymonthday'));
470  break;
471  }
472  break;
473  }
474 
475  // UNTIL
476  switch ((int) $form->getInput('until_type')) {
477  case 1:
478  $rec->setFrequenceUntilDate(null);
479  // nothing to do
480  break;
481 
482  case 2:
483  $rec->setFrequenceUntilDate(null);
484  $rec->setFrequenceUntilCount((int) $form->getInput('count'));
485  break;
486 
487  case 3:
488  $frequence = $form->getItemByPostVar('frequence');
489  $end = $frequence->getRecurrence()->getFrequenceUntilDate();
490  $rec->setFrequenceUntilCount(0);
491  $rec->setFrequenceUntilDate($end);
492  break;
493  }
494 
495  return $rec;
496  }
getItemByPostVar(string $a_post_var)
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendNotification()

ilEmployeeTalkAppointmentGUI::sendNotification ( array  $talks)
private
Parameters
ilObjEmployeeTalk[]$talks

Definition at line 323 of file class.ilEmployeeTalkAppointmentGUI.php.

References Vendor\Package\$a, Vendor\Package\$b, $d, $format, $message, ilDateTime\get(), ilObjEmployeeTalk\getData(), ilObjUser\getTimeZone(), ilDateTime\getUnixTime(), ilCalendarUtil\getUserDateFormat(), and IL_CAL_FKT_DATE.

Referenced by editAppointment(), and loadRecurrenceSettings().

323  : void
324  {
325  if (count($talks) === 0) {
326  return;
327  }
328 
329  $firstTalk = $talks[0];
330  $talk_title = $firstTalk->getTitle();
331  $superior = new ilObjUser($firstTalk->getOwner());
332  $employee = new ilObjUser($firstTalk->getData()->getEmployee());
333  $superiorName = $superior->getFullname();
334 
335  $dates = array_map(
336  fn (ilObjEmployeeTalk $t) => $t->getData()->getStartDate(),
337  $talks
338  );
339  usort($dates, function (ilDateTime $a, ilDateTime $b) {
340  $a = $a->getUnixTime();
341  $b = $b->getUnixTime();
342  if ($a === $b) {
343  return 0;
344  }
345  return $a < $b ? -1 : 1;
346  });
347 
348  $add_time = $firstTalk->getData()->isAllDay() ? 0 : 1;
349  $format = ilCalendarUtil::getUserDateFormat($add_time, true);
350  $timezone = $employee->getTimeZone();
351  $dates = array_map(function (ilDateTime $d) use ($add_time, $format, $timezone) {
352  return $d->get(IL_CAL_FKT_DATE, $format, $timezone);
353  }, $dates);
354 
356  $firstTalk->getRefId(),
357  $talk_title,
358  $firstTalk->getDescription(),
359  $firstTalk->getData()->getLocation(),
360  'notification_talks_subject_update',
361  'notification_talks_updated',
362  $superiorName,
363  $dates
364  );
365 
366  $vCalSender = new EmployeeTalkEmailNotificationService(
367  $message,
368  $talk_title,
369  $employee,
370  $superior,
371  VCalendarFactory::getInstanceFromTalks($firstTalk->getParent())
372  );
373 
374  $vCalSender->send();
375  }
get(int $a_format, string $a_format_str='', string $a_tz='')
get formatted date
static getUserDateFormat(int $a_add_time=0, bool $a_for_parsing=false)
Parse current user setting into date/time format.
const IL_CAL_FKT_DATE
$format
Definition: metadata.php:235
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
$message
Definition: xapiexit.php:32
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
Definition: date.php:296
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSeries()

ilEmployeeTalkAppointmentGUI::updateSeries ( )
private

Definition at line 177 of file class.ilEmployeeTalkAppointmentGUI.php.

References deleteTalks(), EDIT_MODE_SERIES, getEditModeParameter(), getPendingTalksInSeries(), initSeriesEditForm(), ILIAS\UI\examples\Symbol\Glyph\Language\language(), and loadRecurrenceSettings().

Referenced by executeSeriesCommand().

177  : void
178  {
179  $form = $this->initSeriesEditForm();
180  if ($form->checkInput()) {
181  $reoccurrence = $this->loadRecurrenceSettings($form);
182  $parent = $this->talk->getParent();
183  $old_talks = $this->getPendingTalksInSeries($parent);
184  $this->createRecurringTalks($form, $reoccurrence, $parent);
185  $this->deleteTalks($old_talks);
186 
187  $this->template->setOnScreenMessage('success', $this->language->txt('saved_successfully'), true);
188  }
189 
190  $this->controlFlow->redirectToURL(
191  $this->controlFlow->getLinkTargetByClass(
192  strtolower(ilEmployeeTalkMyStaffListGUI::class),
193  ControlFlowCommand::UPDATE_INDEX
195  );
196  }
getPendingTalksInSeries(ilObjEmployeeTalkSeries $series)
loadRecurrenceSettings(ilPropertyFormGUI $form)
load recurrence settings
initSeriesEditForm(?EmployeeTalk $employeeTalk=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $controlFlow

ilCtrl ilEmployeeTalkAppointmentGUI::$controlFlow
private

Definition at line 45 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ $http

HttpServices ilEmployeeTalkAppointmentGUI::$http
private

Definition at line 46 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ $language

ilLanguage ilEmployeeTalkAppointmentGUI::$language
private

Definition at line 44 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ $refinery

Refinery ilEmployeeTalkAppointmentGUI::$refinery
private

Definition at line 47 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ $tabs

ilTabsGUI ilEmployeeTalkAppointmentGUI::$tabs
private

Definition at line 48 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ $talk

ilObjEmployeeTalk ilEmployeeTalkAppointmentGUI::$talk
private

Definition at line 49 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct(), and getPendingTalksInSeries().

◆ $template

ilGlobalTemplateInterface ilEmployeeTalkAppointmentGUI::$template
private

Definition at line 43 of file class.ilEmployeeTalkAppointmentGUI.php.

Referenced by __construct().

◆ EDIT_MODE

const ilEmployeeTalkAppointmentGUI::EDIT_MODE = 'edit-mode'

◆ EDIT_MODE_APPOINTMENT

const ilEmployeeTalkAppointmentGUI::EDIT_MODE_APPOINTMENT = 'appointment'

◆ EDIT_MODE_SERIES

const ilEmployeeTalkAppointmentGUI::EDIT_MODE_SERIES = 'series'

The documentation for this class was generated from the following file: