PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4
Booking for Appointments and Events Calendar – Amelia v2.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 / UpdateBookingStatusController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 4 months ago AddBookingController.php 2 years ago ApproveBookingRemotelyController.php 1 year ago CancelBookingController.php 1 year ago CancelBookingRemotelyController.php 1 year ago DeleteAppointmentController.php 1 year ago DeleteBookingController.php 4 years ago DeleteBookingRemotelyController.php 10 months ago GetAppointmentBookingsController.php 6 months ago GetAppointmentController.php 4 years ago GetAppointmentsController.php 1 year ago GetIcsController.php 4 years ago GetTimeSlotsController.php 10 months ago ReassignBookingController.php 11 months ago RejectBookingRemotelyController.php 1 year ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 6 months ago UpdateAppointmentNoteController.php 3 months ago UpdateAppointmentStatusController.php 10 months ago UpdateAppointmentTimeController.php 1 year ago UpdateBookingStatusController.php 1 year ago
UpdateBookingStatusController.php
67 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\UpdateBookingStatusCommand;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use Slim\Http\Request;
10
11 /**
12 * Class UpdateBookingStatusController
13 *
14 * @package AmeliaBooking\Application\Controller\Booking\Appointment
15 */
16 class UpdateBookingStatusController extends Controller
17 {
18 /**
19 * Fields for update booking status that can be received from front-end
20 *
21 * @var array
22 */
23 protected $allowedFields = [
24 'type',
25 'status',
26 ];
27
28 /**
29 * Instantiates the Update Booking Status command to hand it over to the Command Handler
30 *
31 * @param Request $request
32 * @param $args
33 *
34 * @return UpdateBookingStatusCommand
35 * @throws \RuntimeException
36 */
37 protected function instantiateCommand(Request $request, $args)
38 {
39 $command = new UpdateBookingStatusCommand($args);
40
41 $requestBody = $request->getParsedBody();
42
43 $this->setCommandFields($command, $requestBody);
44
45 $command->setToken($request);
46
47 $params = (array)$request->getQueryParams();
48
49 if (isset($params['source'])) {
50 $command->setPage($params['source']);
51 }
52
53 return $command;
54 }
55
56 /**
57 * @param DomainEventBus $eventBus
58 * @param CommandResult $result
59 *
60 * @return void
61 */
62 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
63 {
64 $eventBus->emit('BookingStatusUpdated', $result);
65 }
66 }
67