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 / AddBookingController.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
AddBookingController.php
82 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\AddBookingCommand;
6 use AmeliaBooking\Application\Controller\Controller;
7 use RuntimeException;
8 use AmeliaVendor\Psr\Http\Message\ServerRequestInterface as Request;
9
10 /**
11 * Class AddBookingController
12 *
13 * @package AmeliaBooking\Application\Controller\Booking\Appointment
14 */
15 class AddBookingController extends Controller
16 {
17 /**
18 * Fields for booking that can be received from front-end
19 *
20 * @var array
21 */
22 public $allowedFields = [
23 'type',
24 'bookings',
25 'bookingStart',
26 'notifyParticipants',
27 'eventId',
28 'serviceId',
29 'providerId',
30 'locationId',
31 'couponCode',
32 'validateCoupon',
33 'payment',
34 'recurring',
35 'isCart',
36 'packageId',
37 'package',
38 'packageRules',
39 'utcOffset',
40 'locale',
41 'timeZone',
42 'urlParams',
43 'utc',
44 'recaptcha',
45 'deposit',
46 'ticketsData',
47 'isBackendOrCabinet',
48 'packageBookingFromBackend',
49 'runInstantPostBookingActions',
50 'ivy',
51 ];
52
53 /**
54 * Instantiates the Add Booking command to hand it over to the Command Handler
55 *
56 * @param Request $request
57 * @param $args
58 *
59 * @return AddBookingCommand
60 * @throws RuntimeException
61 */
62 protected function instantiateCommand(Request $request, $args)
63 {
64 $command = new AddBookingCommand($args);
65
66 $requestBody = $request->getParsedBody();
67
68 $this->setCommandFields($command, $requestBody);
69
70 $params = (array)$request->getQueryParams();
71
72 if (isset($params['source'])) {
73 $command->setPage($params['source']);
74 unset($params['source']);
75 }
76
77 $command->setToken($request);
78
79 return $command;
80 }
81 }
82