class BatEventUIController in Booking and Availability Management Tools for Drupal 8
Hierarchy
- class \Drupal\Core\Controller\ControllerBase implements ContainerInjectionInterface uses LoggerChannelTrait, MessengerTrait, LinkGeneratorTrait, RedirectDestinationTrait, UrlGeneratorTrait, StringTranslationTrait
- class \Drupal\bat_event_ui\Controller\BatEventUIController
Expanded class hierarchy of BatEventUIController
File
- modules/
bat_event_ui/ src/ Controller/ BatEventUIController.php, line 17 - Contains \Drupal\bat_event_ui\Controller\BatEventUIController.
Namespace
Drupal\bat_event_ui\ControllerView source
class BatEventUIController extends ControllerBase {
public function calendarPage($unit_type, $event_type) {
$ev_type = bat_event_type_load($event_type);
// Check if current type support this event type.
if ($type = bat_type_load($unit_type)) {
$type_bundle = bat_type_bundle_load($type
->bundle());
if (is_array($type_bundle->default_event_value_field_ids)) {
if (!(isset($type_bundle->default_event_value_field_ids[$event_type]) && !empty($type_bundle->default_event_value_field_ids[$event_type]))) {
throw new NotFoundHttpException();
}
}
else {
throw new NotFoundHttpException();
}
}
elseif ($unit_type != 'all') {
throw new NotFoundHttpException();
}
// Check if user has permission to view calendar data for this event type.
if (!$this
->currentUser()
->hasPermission('view calendar data for any ' . $ev_type
->id() . ' event')) {
throw new AccessDeniedHttpException();
}
// Pick what modal style to use.
$calendar_settings['modal_style'] = 'default';
if ($type = bat_event_type_load($event_type)) {
$event_granularity = $type
->getEventGranularity();
}
else {
$event_granularity = 'both';
}
// All Drupal JS settings inside the batCalendar object.
$fc_user_settings = [
'batCalendar' => [
[
'unitType' => $unit_type,
'eventType' => $event_type,
'eventGranularity' => $event_granularity,
],
],
];
$calendar_settings['user_settings'] = $fc_user_settings;
$calendar_settings['calendar_id'] = 'fullcalendar-scheduler';
if ($ev_type
->getFixedEventStates()) {
$calendar_settings['class'] = [
'fixed_event_states',
];
}
else {
$calendar_settings['class'] = [
'open_event_states',
];
}
$render_array = [
'event_type_form' => $this
->formBuilder()
->getForm('Drupal\\bat_event_ui\\Form\\BatEventUiEventTypeForm', $unit_type, $event_type),
'bulk_update_form' => [],
'calendar' => [
'#theme' => 'bat_fullcalendar',
'#calendar_settings' => $calendar_settings,
'#attached' => [
'library' => [
'bat_event_ui/bat_event_ui',
'bat_fullcalendar/bat-fullcalendar-scheduler',
],
],
],
];
if ($ev_type
->getFixedEventStates()) {
$render_array['bulk_update_form'] = $this
->formBuilder()
->getForm('Drupal\\bat_event_ui\\Form\\BatEventUiBulkUpdateForm', $unit_type, $event_type);
}
$page['calendar_page'] = [
'#markup' => render($render_array),
];
return $page;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BatEventUIController:: |
public | function | ||
ControllerBase:: |
protected | property | The configuration factory. | |
ControllerBase:: |
protected | property | The current user service. | 1 |
ControllerBase:: |
protected | property | The entity form builder. | |
ControllerBase:: |
protected | property | The entity manager. | |
ControllerBase:: |
protected | property | The entity type manager. | |
ControllerBase:: |
protected | property | The form builder. | 2 |
ControllerBase:: |
protected | property | The key-value storage. | 1 |
ControllerBase:: |
protected | property | The language manager. | 1 |
ControllerBase:: |
protected | property | The module handler. | 2 |
ControllerBase:: |
protected | property | The state service. | |
ControllerBase:: |
protected | function | Returns the requested cache bin. | |
ControllerBase:: |
protected | function | Retrieves a configuration object. | |
ControllerBase:: |
private | function | Returns the service container. | |
ControllerBase:: |
public static | function |
Instantiates a new instance of this class. Overrides ContainerInjectionInterface:: |
40 |
ControllerBase:: |
protected | function | Returns the current user. | 1 |
ControllerBase:: |
protected | function | Retrieves the entity form builder. | |
ControllerBase:: |
protected | function | Retrieves the entity manager service. | |
ControllerBase:: |
protected | function | Retrieves the entity type manager. | |
ControllerBase:: |
protected | function | Returns the form builder service. | 2 |
ControllerBase:: |
protected | function | Returns a key/value storage collection. | 1 |
ControllerBase:: |
protected | function | Returns the language manager service. | 1 |
ControllerBase:: |
protected | function | Returns the module handler. | 2 |
ControllerBase:: |
protected | function |
Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait:: |
|
ControllerBase:: |
protected | function | Returns the state storage service. | |
LinkGeneratorTrait:: |
protected | property | The link generator. | 1 |
LinkGeneratorTrait:: |
protected | function | Returns the link generator. | |
LinkGeneratorTrait:: |
protected | function | Renders a link to a route given a route name and its parameters. | |
LinkGeneratorTrait:: |
public | function | Sets the link generator service. | |
LoggerChannelTrait:: |
protected | property | The logger channel factory service. | |
LoggerChannelTrait:: |
protected | function | Gets the logger for a specific channel. | |
LoggerChannelTrait:: |
public | function | Injects the logger channel factory. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
RedirectDestinationTrait:: |
protected | property | The redirect destination service. | 1 |
RedirectDestinationTrait:: |
protected | function | Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url. | |
RedirectDestinationTrait:: |
protected | function | Returns the redirect destination service. | |
RedirectDestinationTrait:: |
public | function | Sets the redirect destination service. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
UrlGeneratorTrait:: |
protected | property | The url generator. | |
UrlGeneratorTrait:: |
protected | function | Returns the URL generator service. | |
UrlGeneratorTrait:: |
public | function | Sets the URL generator service. | |
UrlGeneratorTrait:: |
protected | function | Generates a URL or path for a specific route based on the given parameters. |