19declare(strict_types=1);
33 throw new InvalidArgumentException(
'Numbers less than 0 are not allowed');
48 throw new InvalidArgumentException(
'Numbers less than 0 are not allowed');
74 $format = $data_factory->dateFormat()->germanShort();
76 $grp1 = $input->group([],
$lng->txt(
'prg_no_deadline'));
77 $grp2 = $input->group(
79 'deadline_period' => $input->numeric(
80 $lng->txt(
'prg_deadline_period_label'),
81 $lng->txt(
'prg_deadline_period_desc')
83 ->withAdditionalTransformation(
$refinery->int()->isGreaterThanOrEqual(1))
84 ->withValue($this->getDeadlinePeriod())
86 $lng->txt(
'prg_deadline_period')
88 $grp3 = $input->group(
90 'deadline_date' => $input->dateTime(
91 $lng->txt(
'prg_deadline_date_label'),
92 $lng->txt(
'prg_deadline_date_desc')
95 ->withValue($this->getDeadlineDate() !==
null ? $this->getDeadlineDate()->format(
'd.m.Y') :
'')
98 $lng->txt(
'prg_deadline_date')
101 $sg = $input->switchableGroup(
103 'opt_no_deadline' => $grp1,
104 'opt_deadline_period' => $grp2,
105 'opt_deadline_date' => $grp3
110 $deadline =
"opt_no_deadline";
112 $deadline =
'opt_deadline_period';
116 $deadline =
'opt_deadline_date';
119 return $input->section(
120 [
'prg_deadline' => $sg->withValue($deadline)],
121 $lng->txt(
'prg_deadline_settings')
123 ->withAdditionalTransformation(
$refinery->custom()->transformation(
128 if (isset($vals[
'prg_deadline'][1][
'deadline_period'])) {
129 $period = (
int) $vals[
'prg_deadline'][1][
'deadline_period'];
132 if (isset($vals[
'prg_deadline'][1][
'deadline_date'])) {
133 $date = $vals[
'prg_deadline'][1][
'deadline_date'];
withDeadlineDate(?DateTimeImmutable $deadline_date)
__construct(?int $deadline_period, ?DateTimeImmutable $deadline_date)
DateTimeImmutable $deadline_date
toFormInput(Field\Factory $input, ilLanguage $lng, Refinery $refinery, Factory $data_factory)
withDeadlinePeriod(?int $deadline_period)
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.