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 / Event / UpdateEventController.php
ameliabooking / src / Application / Controller / Booking / Event Last commit date
Tag 2 months ago AddEventController.php 6 months ago DeleteEventBookingController.php 4 years ago DeleteEventController.php 6 months ago DeleteEventsController.php 6 months ago GetCalendarEventsController.php 1 year ago GetEventBookingController.php 6 months ago GetEventBookingsController.php 6 months ago GetEventController.php 4 years ago GetEventsController.php 4 years ago UpdateEventBookingController.php 1 year ago UpdateEventController.php 6 months ago UpdateEventStatusController.php 1 year ago UpdateEventVisibilityController.php 6 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 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 '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