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 / AddBookingController.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
AddBookingController.php
81 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 Slim\Http\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 ];
51
52 /**
53 * Instantiates the Add Booking command to hand it over to the Command Handler
54 *
55 * @param Request $request
56 * @param $args
57 *
58 * @return AddBookingCommand
59 * @throws RuntimeException
60 */
61 protected function instantiateCommand(Request $request, $args)
62 {
63 $command = new AddBookingCommand($args);
64
65 $requestBody = $request->getParsedBody();
66
67 $this->setCommandFields($command, $requestBody);
68
69 $params = (array)$request->getQueryParams();
70
71 if (isset($params['source'])) {
72 $command->setPage($params['source']);
73 unset($params['source']);
74 }
75
76 $command->setToken($request);
77
78 return $command;
79 }
80 }
81