PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.20
Booking for Appointments and Events Calendar – Amelia v1.2.20
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
AddEventController.php 2 years ago DeleteEventBookingController.php 4 years ago DeleteEventController.php 7 years ago GetCalendarEventsController.php 4 years ago GetEventBookingsController.php 1 year ago GetEventController.php 4 years ago GetEventDeleteEffectController.php 7 years ago GetEventsController.php 4 years ago UpdateEventBookingController.php 1 year ago UpdateEventController.php 2 years ago UpdateEventStatusController.php 7 years ago
UpdateEventController.php
108 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 Slim\Http\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 'gallery',
44 'color',
45 'show',
46 'locationId',
47 'customLocation',
48 'settings',
49 'applyGlobally',
50 'zoomUserId',
51 'organizerId',
52 'translations',
53 'deposit',
54 'depositPayment',
55 'depositPerPerson',
56 'timeZone',
57 'utc',
58 'customTickets',
59 'fullPayment',
60 'customPricing',
61 'closeAfterMin',
62 'closeAfterMinBookings',
63 'notifyParticipants',
64 'aggregatedPrice'
65 ];
66
67 /**
68 * Instantiates the Update Event command to hand it over to the Command Handler
69 *
70 * @param Request $request
71 * @param $args
72 *
73 * @return UpdateEventCommand
74 * @throws RuntimeException
75 */
76 protected function instantiateCommand(Request $request, $args)
77 {
78 $command = new UpdateEventCommand($args);
79
80 $requestBody = $request->getParsedBody();
81
82 $this->filter($requestBody);
83 $this->setCommandFields($command, $requestBody);
84 $command->setToken($request);
85
86 $params = (array)$request->getQueryParams();
87
88 if (isset($params['source'])) {
89 $command->setPage($params['source']);
90 }
91
92 return $command;
93 }
94
95 /**
96 * @param DomainEventBus $eventBus
97 * @param CommandResult $result
98 *
99 * @return void
100 */
101 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
102 {
103 if ($result->getResult() === CommandResult::RESULT_SUCCESS) {
104 $eventBus->emit('EventEdited', $result);
105 }
106 }
107 }
108