use Drupal\Core\Form\FormStateInterface;
use Drupal\migrate_plus\Entity\MigrationGroup;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\migrate_plus\Entity\MigrationGroup;
use Symfony\Component\DependencyInjection\ContainerInterface;
- * 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.
*
* 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
*/
public static function create(ContainerInterface $container) {
return new static($container->get('entity.query'));
*/
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);
// Get anything we need from the base class.
$form = parent::buildForm($form, $form_state);
$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',
$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',
'#type' => 'textfield',
'#title' => $this->t('Label'),
'#maxlength' => 255,
'#default_value' => $migration->label(),
'#required' => TRUE,
'#type' => 'textfield',
'#title' => $this->t('Label'),
'#maxlength' => 255,
'#default_value' => $migration->label(),
'#required' => TRUE,
'#type' => 'machine_name',
'#title' => $this->t('Machine name'),
'#default_value' => $migration->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".',
'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".',
'#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.'),
'#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.'),
- * 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
*/
public function save(array $form, FormStateInterface $form_state) {
$migration = $this->getEntity();
*/
public function save(array $form, FormStateInterface $form_state) {
$migration = $this->getEntity();
}
// Redirect the user back to the listing route after the save operation.
$form_state->setRedirect('entity.migration.list',
}
// Redirect the user back to the listing route after the save operation.
$form_state->setRedirect('entity.migration.list',