diff --git a/src/Controller/EventsController.php b/src/Controller/EventsController.php index cb91bc186..e22aea4fd 100644 --- a/src/Controller/EventsController.php +++ b/src/Controller/EventsController.php @@ -400,6 +400,9 @@ public function edit($eventUid) $worknewsTable = FactoryLocator::get('Table')->get('Worknews'); $this->set('worknewsCount', $worknewsTable->getSubscribers($event->workshop_uid)->count()); + + $eventStartInLessThan7Days = $event->datumstart->isWithinNext('7 days'); + $this->set('eventStartInLessThan7Days', $eventStartInLessThan7Days); $patchedEntities = $this->_edit([$event], true); $patchedEntity = $patchedEntities['events'][0]; @@ -452,7 +455,7 @@ private function _edit($events, $isEditMode) $addressString = $data['strasse'] . ', ' . $data['zip'] . ' ' . $data['ort'] . ', ' . $data['land']; $geoService = new GeoService(); $coordinates = $geoService->getLatLngFromGeoCodingService($addressString); - $data['lat'] = $coordinates['lat']; + $data['lat'] = $coordinates['lat']; $data['lng'] = $coordinates['lng']; } if (!empty($data['use_custom_coordinates'])) { diff --git a/templates/Events/edit.php b/templates/Events/edit.php index d04b8e2da..cde14b6cd 100644 --- a/templates/Events/edit.php +++ b/templates/Events/edit.php @@ -168,11 +168,15 @@ echo $this->Form->control($i.'.status', ['type' => 'select', 'options' => $loggedUser?->isAdmin() ? Configure::read('AppConfig.status') : Configure::read('AppConfig.status2')]).'
'; if ($isEditMode && $worknewsCount > 0) { - $worknewsString = 'Ich habe diesen Termin überarbeitet und möchte, dass alle ' . $worknewsCount . ' Termin-Abonnenten darüber nochmals informiert werden.'; - if ($worknewsCount == 1) { - $worknewsString = 'Ich habe diesen Termin überarbeitet und möchte, dass ' . $worknewsCount . ' Termin-Abonnent darüber nochmals informiert wird.'; + if (!$eventStartInLessThan7Days) { + $worknewsString = 'Das Informieren der Termin-Abonennten (' . $worknewsCount . ') ist nicht möglich, da der Termin in mehr als 7 Tagen stattfindet.'; + } else { + $worknewsString = 'Ich habe diesen Termin überarbeitet und möchte, dass alle ' . $worknewsCount . ' Termin-Abonnenten darüber nochmals informiert werden.'; + if ($worknewsCount == 1) { + $worknewsString = 'Ich habe diesen Termin überarbeitet und möchte, dass ' . $worknewsCount . ' Termin-Abonnent darüber nochmals informiert wird.'; + } } - echo $this->Form->control($i.'.renotify', ['type' => 'checkbox', 'label' => $worknewsString]).'
'; + echo $this->Form->control($i.'.renotify', ['type' => 'checkbox', 'label' => $worknewsString, 'disabled' => !$eventStartInLessThan7Days]).'
'; } $i++;