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 / UpdateAppointmentController.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
UpdateAppointmentController.php
85 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 AmeliaVendor\Psr\Http\Message\ServerRequestInterface as 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 (!empty($params)) {
62 $command->setField('params', $params);
63 }
64
65 if (isset($params['source'])) {
66 $command->setPage($params['source']);
67 }
68
69 return $command;
70 }
71
72 /**
73 * @param DomainEventBus $eventBus
74 * @param CommandResult $result
75 *
76 * @return void
77 */
78 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
79 {
80 if ($result->getResult() === CommandResult::RESULT_SUCCESS) {
81 $eventBus->emit('AppointmentEdited', $result);
82 }
83 }
84 }
85