use Drupal\Core\Form\FormStateInterface;
use Drupal\migrate_plus\Entity\MigrationGroup;
use Symfony\Component\DependencyInjection\ContainerInterface;
-use Drupal\migrate\Plugin\MigrationInterface;
/**
* Class MigrationFormBase.
class MigrationFormBase extends EntityForm {
/**
+ * The entity query factory.
+ *
* @var \Drupal\Core\Entity\Query\QueryFactory
*/
protected $entityQueryFactory;
/**
* Construct the MigrationGroupFormBase.
*
- * For simple entity forms, there's no need for a constructor. Our migration form
- * base, however, requires an entity query factory to be injected into it
+ * For simple entity forms, there's no need for a constructor. Our migration
+ * form base, however, requires an entity query factory to be injected into it
* from the container. We later use this query factory to build an entity
* query for the exists() method.
*
}
/**
- * Factory method for MigrationFormBase.
- *
- * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
- * A container interface service.
- *
- * @return \Drupal\migrate_tools\Form\MigrationGroupFormBase
+ * {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container->get('entity.query'));
// Get anything we need from the base class.
$form = parent::buildForm($form, $form_state);
- /** @var MigrationInterface $migration */
+ /** @var \Drupal\migrate\Plugin\MigrationInterface $migration */
$migration = $this->entity;
$form['warning'] = [
'#markup' => $this->t('Creating migrations is not yet supported. See <a href=":url">:url</a>', [
':url' => 'https://www.drupal.org/node/2573241',
- ])
+ ]),
];
// Build the form.
- $form['label'] = array(
+ $form['label'] = [
'#type' => 'textfield',
'#title' => $this->t('Label'),
'#maxlength' => 255,
'#default_value' => $migration->label(),
'#required' => TRUE,
- );
- $form['id'] = array(
+ ];
+ $form['id'] = [
'#type' => 'machine_name',
'#title' => $this->t('Machine name'),
'#default_value' => $migration->id(),
- '#machine_name' => array(
- 'exists' => array($this, 'exists'),
+ '#machine_name' => [
+ 'exists' => [$this, 'exists'],
'replace_pattern' => '([^a-z0-9_]+)|(^custom$)',
'error' => 'The machine-readable name must be unique, and can only contain lowercase letters, numbers, and underscores. Additionally, it can not be the reserved word "custom".',
- ),
+ ],
'#disabled' => !$migration->isNew(),
- );
+ ];
$groups = MigrationGroup::loadMultiple();
$group_options = [];
$migration->set('migration_group', 'default');
}
- $form['migration_group'] = array(
+ $form['migration_group'] = [
'#type' => 'select',
'#title' => $this->t('Migration Group'),
'#empty_value' => '',
'#default_value' => $migration->get('migration_group'),
'#options' => $group_options,
'#description' => $this->t('Assign this migration to an existing group.'),
- );
+ ];
return $form;
}
* The entity ID.
* @param array $element
* The form element.
- * @param FormStateInterface $form_state
+ * @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*
* @return bool
}
/**
- * Overrides Drupal\Core\Entity\EntityFormController::save().
- *
- * @param array $form
- * An associative array containing the structure of the form.
- * @param \Drupal\Core\Form\FormStateInterface $form_state
- * An associative array containing the current state of the form.
- *
- * @return $this
+ * {@inheritdoc}
*/
public function save(array $form, FormStateInterface $form_state) {
$migration = $this->getEntity();
if ($status == SAVED_UPDATED) {
// If we edited an existing entity...
- drupal_set_message($this->t('Migration %label has been updated.', array('%label' => $migration->label())));
+ drupal_set_message($this->t('Migration %label has been updated.', ['%label' => $migration->label()]));
}
else {
// If we created a new entity...
- drupal_set_message($this->t('Migration %label has been added.', array('%label' => $migration->label())));
+ drupal_set_message($this->t('Migration %label has been added.', ['%label' => $migration->label()]));
}
// Redirect the user back to the listing route after the save operation.
$form_state->setRedirect('entity.migration.list',
- array('migration_group' => $migration->get('migration_group')));
+ ['migration_group' => $migration->get('migration_group')]);
}
}