Mercurial > hg > cmmr2012-drupal-site
comparison core/modules/views_ui/src/ViewEditForm.php @ 5:12f9dff5fda9 tip
Update to Drupal core 8.7.1
author | Chris Cannam |
---|---|
date | Thu, 09 May 2019 15:34:47 +0100 |
parents | a9cd425dd02b |
children |
comparison
equal
deleted
inserted
replaced
4:a9cd425dd02b | 5:12f9dff5fda9 |
---|---|
85 | 85 |
86 /** | 86 /** |
87 * {@inheritdoc} | 87 * {@inheritdoc} |
88 */ | 88 */ |
89 public function form(array $form, FormStateInterface $form_state) { | 89 public function form(array $form, FormStateInterface $form_state) { |
90 /** @var \Drupal\views_ui\ViewUI $view */ | |
90 $view = $this->entity; | 91 $view = $this->entity; |
91 $display_id = $this->displayID; | 92 $display_id = $this->displayID; |
92 // Do not allow the form to be cached, because $form_state->get('view') can become | 93 // Do not allow the form to be cached, because $form_state->get('view') can become |
93 // stale between page requests. | 94 // stale between page requests. |
94 // See views_ui_ajax_get_form() for how this affects #ajax. | 95 // See views_ui_ajax_get_form() for how this affects #ajax. |
125 $form['#suffix'] = '</div>' . $form['#suffix']; | 126 $form['#suffix'] = '</div>' . $form['#suffix']; |
126 | 127 |
127 $form['#attributes']['class'] = ['form-edit']; | 128 $form['#attributes']['class'] = ['form-edit']; |
128 | 129 |
129 if ($view->isLocked()) { | 130 if ($view->isLocked()) { |
130 $username = [ | |
131 '#theme' => 'username', | |
132 '#account' => $this->entityManager->getStorage('user')->load($view->lock->owner), | |
133 ]; | |
134 $lock_message_substitutions = [ | |
135 '@user' => \Drupal::service('renderer')->render($username), | |
136 '@age' => $this->dateFormatter->formatTimeDiffSince($view->lock->updated), | |
137 ':url' => $view->url('break-lock-form'), | |
138 ]; | |
139 $form['locked'] = [ | 131 $form['locked'] = [ |
140 '#type' => 'container', | 132 '#type' => 'container', |
141 '#attributes' => ['class' => ['view-locked', 'messages', 'messages--warning']], | 133 '#attributes' => ['class' => ['view-locked', 'messages', 'messages--warning']], |
142 '#children' => $this->t('This view is being edited by user @user, and is therefore locked from editing by others. This lock is @age old. Click here to <a href=":url">break this lock</a>.', $lock_message_substitutions), | |
143 '#weight' => -10, | 134 '#weight' => -10, |
135 'message' => [ | |
136 '#type' => 'break_lock_link', | |
137 '#label' => $view->getEntityType()->getSingularLabel(), | |
138 '#lock' => $view->getLock(), | |
139 '#url' => $view->toUrl('break-lock-form'), | |
140 ], | |
144 ]; | 141 ]; |
145 } | 142 } |
146 else { | 143 else { |
147 $form['changed'] = [ | 144 $form['changed'] = [ |
148 '#type' => 'container', | 145 '#type' => 'container', |
341 */ | 338 */ |
342 public function cancel(array $form, FormStateInterface $form_state) { | 339 public function cancel(array $form, FormStateInterface $form_state) { |
343 // Remove this view from cache so edits will be lost. | 340 // Remove this view from cache so edits will be lost. |
344 $view = $this->entity; | 341 $view = $this->entity; |
345 $this->tempStore->delete($view->id()); | 342 $this->tempStore->delete($view->id()); |
346 $form_state->setRedirectUrl($this->entity->urlInfo('collection')); | 343 $form_state->setRedirectUrl($this->entity->toUrl('collection')); |
347 } | 344 } |
348 | 345 |
349 /** | 346 /** |
350 * Returns a renderable array representing the edit page for one display. | 347 * Returns a renderable array representing the edit page for one display. |
351 */ | 348 */ |
660 $view->set('display', $displays); | 657 $view->set('display', $displays); |
661 $view->cacheSet(); | 658 $view->cacheSet(); |
662 | 659 |
663 // Redirect to the top-level edit page. The first remaining display will | 660 // Redirect to the top-level edit page. The first remaining display will |
664 // become the active display. | 661 // become the active display. |
665 $form_state->setRedirectUrl($view->urlInfo('edit-form')); | 662 $form_state->setRedirectUrl($view->toUrl('edit-form')); |
666 } | 663 } |
667 | 664 |
668 /** | 665 /** |
669 * Regenerate the current tab for AJAX updates. | 666 * Regenerate the current tab for AJAX updates. |
670 * | 667 * |
716 'url' => Url::fromRoute('views_ui.form_analyze', ['js' => 'nojs', 'view' => $view->id(), 'display_id' => $display_id]), | 713 'url' => Url::fromRoute('views_ui.form_analyze', ['js' => 'nojs', 'view' => $view->id(), 'display_id' => $display_id]), |
717 'attributes' => ['class' => ['views-ajax-link']], | 714 'attributes' => ['class' => ['views-ajax-link']], |
718 ], | 715 ], |
719 'duplicate' => [ | 716 'duplicate' => [ |
720 'title' => $this->t('Duplicate view'), | 717 'title' => $this->t('Duplicate view'), |
721 'url' => $view->urlInfo('duplicate-form'), | 718 'url' => $view->toUrl('duplicate-form'), |
722 ], | 719 ], |
723 'reorder' => [ | 720 'reorder' => [ |
724 'title' => $this->t('Reorder displays'), | 721 'title' => $this->t('Reorder displays'), |
725 'url' => Url::fromRoute('views_ui.form_reorder_displays', ['js' => 'nojs', 'view' => $view->id(), 'display_id' => $display_id]), | 722 'url' => Url::fromRoute('views_ui.form_reorder_displays', ['js' => 'nojs', 'view' => $view->id(), 'display_id' => $display_id]), |
726 'attributes' => ['class' => ['views-ajax-link']], | 723 'attributes' => ['class' => ['views-ajax-link']], |
729 ]; | 726 ]; |
730 | 727 |
731 if ($view->access('delete')) { | 728 if ($view->access('delete')) { |
732 $element['extra_actions']['#links']['delete'] = [ | 729 $element['extra_actions']['#links']['delete'] = [ |
733 'title' => $this->t('Delete view'), | 730 'title' => $this->t('Delete view'), |
734 'url' => $view->urlInfo('delete-form'), | 731 'url' => $view->toUrl('delete-form'), |
735 ]; | 732 ]; |
736 } | 733 } |
737 | 734 |
738 // Let other modules add additional links here. | 735 // Let other modules add additional links here. |
739 \Drupal::moduleHandler()->alter('views_ui_display_top_links', $element['extra_actions']['#links'], $view, $display_id); | 736 \Drupal::moduleHandler()->alter('views_ui_display_top_links', $element['extra_actions']['#links'], $view, $display_id); |
741 if (isset($view->type) && $view->type != $this->t('Default')) { | 738 if (isset($view->type) && $view->type != $this->t('Default')) { |
742 if ($view->type == $this->t('Overridden')) { | 739 if ($view->type == $this->t('Overridden')) { |
743 $element['extra_actions']['#links']['revert'] = [ | 740 $element['extra_actions']['#links']['revert'] = [ |
744 'title' => $this->t('Revert view'), | 741 'title' => $this->t('Revert view'), |
745 'href' => "admin/structure/views/view/{$view->id()}/revert", | 742 'href' => "admin/structure/views/view/{$view->id()}/revert", |
746 'query' => ['destination' => $view->url('edit-form')], | 743 'query' => ['destination' => $view->toUrl('edit-form')->toString()], |
747 ]; | 744 ]; |
748 } | 745 } |
749 else { | 746 else { |
750 $element['extra_actions']['#links']['delete'] = [ | 747 $element['extra_actions']['#links']['delete'] = [ |
751 'title' => $this->t('Delete view'), | 748 'title' => $this->t('Delete view'), |
752 'url' => $view->urlInfo('delete-form'), | 749 'url' => $view->toUrl('delete-form'), |
753 ]; | 750 ]; |
754 } | 751 } |
755 } | 752 } |
756 | 753 |
757 // Determine the displays available for editing. | 754 // Determine the displays available for editing. |