PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
2.4.7 2.4.6 2.4.5 2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Controller / Booking / Appointment / CancelBookingController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 2 months ago AddBookingController.php 2 months ago ApproveBookingRemotelyController.php 2 months ago CancelBookingController.php 2 months ago CancelBookingRemotelyController.php 2 months ago DeleteAppointmentController.php 2 months ago DeleteBookingController.php 2 months ago DeleteBookingRemotelyController.php 2 months ago GetAppointmentBookingsController.php 2 months ago GetAppointmentController.php 2 months ago GetAppointmentsController.php 2 months ago GetIcsController.php 2 months ago GetTimeSlotsController.php 2 months ago ReassignBookingController.php 2 months ago RejectBookingRemotelyController.php 2 months ago SuccessfulBookingController.php 2 months ago UpdateAppointmentController.php 2 months ago UpdateAppointmentNoteController.php 2 months ago UpdateAppointmentStatusController.php 2 months ago UpdateAppointmentTimeController.php 2 months ago UpdateBookingStatusController.php 2 months ago
CancelBookingController.php
64 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\CancelBookingCommand;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use AmeliaVendor\Psr\Http\Message\ServerRequestInterface as Request;
10
11 /**
12 * Class CancelBookingController
13 *
14 * @package AmeliaBooking\Application\Controller\Booking\Appointment
15 */
16 class CancelBookingController extends Controller
17 {
18 /**
19 * Fields for cancel booking that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'type',
25 ];
26
27 /**
28 * Instantiates the Update Appointment command to hand it over to the Command Handler
29 *
30 * @param Request $request
31 * @param $args
32 *
33 * @return CancelBookingCommand
34 * @throws \RuntimeException
35 */
36 protected function instantiateCommand(Request $request, $args)
37 {
38 $command = new CancelBookingCommand($args);
39 $requestBody = $request->getParsedBody();
40
41 $this->setCommandFields($command, $requestBody);
42 $command->setToken($request);
43
44 $params = (array)$request->getQueryParams();
45
46 if (isset($params['source'])) {
47 $command->setPage($params['source']);
48 }
49
50 return $command;
51 }
52
53 /**
54 * @param DomainEventBus $eventBus
55 * @param CommandResult $result
56 *
57 * @return void
58 */
59 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
60 {
61 $eventBus->emit('BookingCanceled', $result);
62 }
63 }
64