PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.38
Booking for Appointments and Events Calendar – Amelia v1.2.38
2.4.9 2.4.8 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 / UpdateAppointmentController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 1 year 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 1 year ago GetAppointmentController.php 5 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 1 year ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 1 year ago UpdateAppointmentStatusController.php 1 year ago UpdateAppointmentTimeController.php 1 year ago UpdateBookingStatusController.php 1 year ago
UpdateAppointmentController.php
81 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\UpdateAppointmentCommand;
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 UpdateAppointmentController
14 *
15 * @package AmeliaBooking\Application\Controller\Booking\Appointment
16 */
17 class UpdateAppointmentController extends Controller
18 {
19 /**
20 * Fields for appointment that can be received from front-end
21 *
22 * @var array
23 */
24 public $allowedFields = [
25 'bookings',
26 'removedBookings',
27 'bookingStart',
28 'notifyParticipants',
29 'createPaymentLinks',
30 'internalNotes',
31 'serviceId',
32 'providerId',
33 'locationId',
34 'id',
35 'payment',
36 'utc',
37 'timeZone',
38 'lessonSpace',
39 'createPaymentLinks'
40 ];
41
42 /**
43 * Instantiates the Update Appointment command to hand it over to the Command Handler
44 *
45 * @param Request $request
46 * @param $args
47 *
48 * @return UpdateAppointmentCommand
49 * @throws RuntimeException
50 */
51 protected function instantiateCommand(Request $request, $args)
52 {
53 $command = new UpdateAppointmentCommand($args);
54
55 $requestBody = $request->getParsedBody();
56 $this->setCommandFields($command, $requestBody);
57 $command->setToken($request);
58
59 $params = (array)$request->getQueryParams();
60
61 if (isset($params['source'])) {
62 $command->setPage($params['source']);
63 }
64
65 return $command;
66 }
67
68 /**
69 * @param DomainEventBus $eventBus
70 * @param CommandResult $result
71 *
72 * @return void
73 */
74 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
75 {
76 if ($result->getResult() === CommandResult::RESULT_SUCCESS) {
77 $eventBus->emit('AppointmentEdited', $result);
78 }
79 }
80 }
81