tkrebs / ep3-bs

Online booking system for courts
http://bs.hbsys.de/
MIT License
183 stars 108 forks source link

Keine E-Mail Benachrichtigung bei Stornierungen, wie aktivieren? #418

Closed dc-redeclipse closed 3 years ago

dc-redeclipse commented 4 years ago

Keine E-Mail Benachrichtigung bei Stornierungen durch Mitarbeiter /Verwalter Hallo, ich weiß das wurde schongefragt aber nicht voll beantwortet. mir ist bewusst das das eigentlich nicht vorgesehen ist aber wie lässt sich das trotzdem aktivieren? Eine benachrichtigung hirbei ist wichtig für uns!

Danke schonmal an das Team für die Hilfe! :+1:

tkrebs commented 3 years ago

PHP-Kenntnisse vorausgesetzt, kann das an folgender Stelle eingebaut werden:

https://github.com/tkrebs/ep3-bs/blob/26e43b55607dbf94e6926643f287bc7ad5ce7a6a/module/Backend/src/Backend/Controller/BookingController.php#L395

Dort wird der Buchungsstatus auf "cancelled", also storniert, gesetzt. Das ist die richtige Stelle für eine E-Mail-Benachrichtigung, z. B. mit dem UserMailerService:

https://github.com/tkrebs/ep3-bs/blob/master/module/User/src/User/Service/MailService.php

Ohne Anpassung im Code (und/oder ohne entsprechende Grundkenntnisse) ist das nicht möglich.

dc-redeclipse commented 3 years ago

super vielen dank! das sollte ich hin bekommen werde es mal testen :+1:

dc-redeclipse commented 3 years ago

Hab eine simple Lösung nun dafür: Einfach in BookingController.php Line 395 ergänzen:

$booking->set('status', 'cancelled');
$booking->setMeta('cancellor', $sessionUser->get('alias'));
$booking->setMeta('cancelled', date('Y-m-d H:i:s'));
$bookingManager->save($booking);

/* send cancellation confirmation email */
$bookingService = $serviceManager->get('Booking\Service\BookingService');
$bookingService->cancelSingle($booking);
return $this->redirectBack()->toOrigin();

Funktioniert einwandfrei. :) Vielen Dank nochmal

DanielM1991 commented 3 years ago

Ich bin jetzt in der Anpassung auf einen Bug gestoßen. Wenn (bei uns) eine Reservierungen gelöscht wird, legt sich ein Fenster (siehe Screenshot) über unser Reservierungssystem. In dem Fenster auf vorderster Ebene kann ich auch weiter Reservierungen eintragen/löschen, das Fenster dass sich aber beim Anklicken einer Reservierung öffnet, erscheint zwischen beiden Ebenen und ist daher nicht mehr sichtbar.

Wenn die Ansicht über F5 aktualisiert wird, ist alles wieder normal. Kann man bspw. einen Refresh der Seite in das Skript mit einbauen um das temporär zu lösen?

Bildschirmfoto 2020-12-18 um 08 57 37
dc-redeclipse commented 3 years ago

Moin Daniel, das hat leider absolut nichts mit diesem issue zutun der außerdem schon geschlossen ist da es eine lösung dafür gibt siehe letzten comment. mach doch einfach einen neuen issue dafür auf.