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