PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 2.4.6
Booking for Appointments and Events Calendar – Amelia v2.4.6
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 / Event / AddEventController.php
ameliabooking / src / Application / Controller / Booking / Event Last commit date
Tag 2 months ago AddEventController.php 2 months ago DeleteEventBookingController.php 2 months ago DeleteEventController.php 2 months ago DeleteEventsController.php 2 months ago GenerateEventWpaCustomPostController.php 1 month ago GetCalendarEventsController.php 2 months ago GetEventBookingController.php 2 months ago GetEventBookingsController.php 2 months ago GetEventController.php 2 months ago GetEventsController.php 1 month ago UpdateEventBookingController.php 2 months ago UpdateEventController.php 2 months ago UpdateEventStatusController.php 2 months ago UpdateEventVisibilityController.php 2 months ago
AddEventController.php
106 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Event;
4
5 use AmeliaBooking\Application\Commands\Booking\Event\AddEventCommand;
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 AddEventController
14 *
15 * @package AmeliaBooking\Application\Controller\Booking\Event
16 */
17 class AddEventController extends Controller
18 {
19 /**
20 * Fields for appointment that can be received from front-end
21 *
22 * @var array
23 */
24 public $allowedFields = [
25 'name',
26 'periods',
27 'bookingOpens',
28 'bookingCloses',
29 'bookingOpensRec',
30 'bookingClosesRec',
31 'recurring',
32 'bringingAnyone',
33 'bookMultipleTimes',
34 'maxCapacity',
35 'maxCustomCapacity',
36 'maxExtraPeople',
37 'price',
38 'providers',
39 'tags',
40 'description',
41 'gallery',
42 'color',
43 'show',
44 'pictureFullPath',
45 'pictureThumbPath',
46 'locationId',
47 'settings',
48 'customLocation',
49 'zoomUserId',
50 'organizerId',
51 'translations',
52 'deposit',
53 'depositPayment',
54 'depositPerPerson',
55 'timeZone',
56 'utc',
57 'customTickets',
58 'fullPayment',
59 'customPricing',
60 'closeAfterMin',
61 'closeAfterMinBookings',
62 'aggregatedPrice'
63 ];
64
65 /**
66 * Instantiates the Add Event command to hand it over to the Command Handler
67 *
68 * @param Request $request
69 * @param $args
70 *
71 * @return AddEventCommand
72 * @throws RuntimeException
73 */
74 protected function instantiateCommand(Request $request, $args)
75 {
76 $command = new AddEventCommand($args);
77
78 $requestBody = $request->getParsedBody();
79
80 $this->filter($requestBody);
81 $this->setCommandFields($command, $requestBody);
82 $command->setToken($request);
83
84 $params = (array)$request->getQueryParams();
85
86 if (isset($params['source'])) {
87 $command->setPage($params['source']);
88 }
89
90 return $command;
91 }
92
93 /**
94 * @param DomainEventBus $eventBus
95 * @param CommandResult $result
96 *
97 * @return void
98 */
99 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
100 {
101 if ($result->getResult() === CommandResult::RESULT_SUCCESS) {
102 $eventBus->emit('EventAdded', $result);
103 }
104 }
105 }
106