Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 35 |
| ViewDuplicateForm | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
20 | |
0.00% |
0 / 35 |
| prepareEntity | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
| form | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 22 |
|||
| actions | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 6 |
|||
| submitForm | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 6 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\views_ui\ViewDuplicateForm. | |
| */ | |
| namespace Drupal\views_ui; | |
| use Drupal\Core\Form\FormStateInterface; | |
| /** | |
| * Form controller for the Views duplicate form. | |
| */ | |
| class ViewDuplicateForm extends ViewFormBase { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| protected function prepareEntity() { | |
| // Do not prepare the entity while it is being added. | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function form(array $form, FormStateInterface $form_state) { | |
| parent::form($form, $form_state); | |
| $form['#title'] = $this->t('Duplicate of @label', array('@label' => $this->entity->label())); | |
| $form['label'] = array( | |
| '#type' => 'textfield', | |
| '#title' => $this->t('View name'), | |
| '#required' => TRUE, | |
| '#size' => 32, | |
| '#maxlength' => 255, | |
| '#default_value' => $this->t('Duplicate of @label', array('@label' => $this->entity->label())), | |
| ); | |
| $form['id'] = array( | |
| '#type' => 'machine_name', | |
| '#maxlength' => 128, | |
| '#machine_name' => array( | |
| 'exists' => '\Drupal\views\Views::getView', | |
| 'source' => array('label'), | |
| ), | |
| '#default_value' => '', | |
| '#description' => $this->t('A unique machine-readable name for this View. It must only contain lowercase letters, numbers, and underscores.'), | |
| ); | |
| return $form; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| protected function actions(array $form, FormStateInterface $form_state) { | |
| $actions['submit'] = array( | |
| '#type' => 'submit', | |
| '#value' => $this->t('Duplicate'), | |
| ); | |
| return $actions; | |
| } | |
| /** | |
| * Form submission handler for the 'clone' action. | |
| * | |
| * @param array $form | |
| * An associative array containing the structure of the form. | |
| * @param \Drupal\Core\Form\FormStateInterface $form_state | |
| * A reference to a keyed array containing the current state of the form. | |
| */ | |
| public function submitForm(array &$form, FormStateInterface $form_state) { | |
| $this->entity = $this->entity->createDuplicate(); | |
| $this->entity->set('label', $form_state->getValue('label')); | |
| $this->entity->set('id', $form_state->getValue('id')); | |
| $this->entity->save(); | |
| // Redirect the user to the view admin form. | |
| $form_state->setRedirectUrl($this->entity->urlInfo('edit-form')); | |
| } | |
| } |