function ViewFormBase::prepareEntity
Same name in other branches
- 9 core/modules/views_ui/src/ViewFormBase.php \Drupal\views_ui\ViewFormBase::prepareEntity()
- 8.9.x core/modules/views_ui/src/ViewFormBase.php \Drupal\views_ui\ViewFormBase::prepareEntity()
- 10 core/modules/views_ui/src/ViewFormBase.php \Drupal\views_ui\ViewFormBase::prepareEntity()
Overrides EntityForm::prepareEntity
2 methods override ViewFormBase::prepareEntity()
- ViewAddForm::prepareEntity in core/
modules/ views_ui/ src/ ViewAddForm.php - Prepares the entity object before the form is built first.
- ViewDuplicateForm::prepareEntity in core/
modules/ views_ui/ src/ ViewDuplicateForm.php - Prepares the entity object before the form is built first.
File
-
core/
modules/ views_ui/ src/ ViewFormBase.php, line 48
Class
- ViewFormBase
- Base form for Views forms.
Namespace
Drupal\views_uiCode
protected function prepareEntity() {
// Determine the displays available for editing.
if ($tabs = $this->getDisplayTabs($this->entity)) {
if (empty($this->displayID)) {
// If a display isn't specified, use the first one after sorting by
// #weight.
uasort($tabs, 'Drupal\\Component\\Utility\\SortArray::sortByWeightProperty');
foreach ($tabs as $id => $tab) {
if (!isset($tab['#access']) || $tab['#access']) {
$this->displayID = $id;
break;
}
}
}
// If a display is specified, but we don't have access to it, return
// an access denied page.
if ($this->displayID && !isset($tabs[$this->displayID])) {
throw new NotFoundHttpException();
}
elseif ($this->displayID && (isset($tabs[$this->displayID]['#access']) && !$tabs[$this->displayID]['#access'])) {
throw new AccessDeniedHttpException();
}
}
elseif ($this->displayID) {
throw new NotFoundHttpException();
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.