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