PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 1 month ago AddEventController.php 1 month ago DeleteEventBookingController.php 1 month ago DeleteEventController.php 1 month ago DeleteEventsController.php 1 month ago GetCalendarEventsController.php 1 month ago GetEventBookingController.php 1 month ago GetEventBookingsController.php 1 month ago GetEventController.php 1 month ago GetEventsController.php 3 days ago UpdateEventBookingController.php 1 month ago UpdateEventController.php 1 month ago UpdateEventStatusController.php 1 month ago UpdateEventVisibilityController.php 1 month 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