Commit 0fb8d65d authored by Nejc Ramsak's avatar Nejc Ramsak Committed by Jakob P
Browse files

Issue #2658670: Migration path from 7.x-4.x and 6.x-4.x

parent aeb89edb
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
id: d6_autologout_roles
label: Automated Logout Roles Configuration
migration_tags:
  - Drupal 6
  - Configuration
source:
  plugin: d6_autologout_roles
process:
  enabled: enabled
  timeout: timeout
destination:
  plugin: config:autologout
  config_name: autologout.role.
migration_dependencies:
  required:
    - d6_user_role
    - d6_autologout_settings
+36 −0
Original line number Diff line number Diff line
id: d6_autologout_settings
label: Automated Logout Configuration
migration_tags:
  - Drupal 6
  - Configuration
source:
  plugin: variable
  variables:
    - autologout_timeout
    - autologout_max_timeout
    - autologout_padding
    - autologout_role_logout
    - autologout_redirect_url
    - autologout_no_dialog
    - autologout_message
    - autologout_inactivity_message
    - autologout_enforce_admin
    - autologout_use_watchdog
  source_module: autologout
process:
  timeout: autologout_timeout
  max_timeout: autologout_max_timeout
  padding: autologout_padding
  role_logout: autologout_role_logout
  redirect_url: '/{{autologout_redirect_url}}'
  no_dialog: autologout_no_dialog
  message: autologout_message
  inactivity_message: autologout_inactivity_message
  enforce_admin: autologout_enforce_admin
  use_watchdog: autologout_use_watchdog
destination:
  plugin: config
  config_name: autologout.settings
migration_dependencies:
  required:
    - d6_user_role:*
+17 −0
Original line number Diff line number Diff line
id: d7_autologout_roles
label: Automated Logout Roles Configuration
migration_tags:
  - Drupal 7
  - Configuration
source:
  plugin: d7_autologout_roles
process:
  enabled: enabled
  timeout: timeout
destination:
  plugin: config:autologout
  config_name: autologout.role.
migration_dependencies:
  required:
    - d7_user_role
    - d7_autologout_settings
+40 −0
Original line number Diff line number Diff line
id: d7_autologout_settings
label: Automated Logout Configuration
migration_tags:
  - Drupal 7
  - Configuration
source:
  plugin: variable
  variables:
    - autologout_timeout
    - autologout_max_timeout
    - autologout_padding
    - autologout_role_logout
    - autologout_redirect_url
    - autologout_no_dialog
    - autologout_message
    - autologout_inactivity_message
    - autologout_enforce_admin
    - autologout_use_alt_logout_method
    - autologout_use_watchdog
    - autologout_whitelisted_ip_addresses
  source_module: autologout
process:
  timeout: autologout_timeout
  max_timeout: autologout_max_timeout
  padding: autologout_padding
  role_logout: autologout_role_logout
  redirect_url: '/{{autologout_redirect_url}}'
  no_dialog: autologout_no_dialog
  message: autologout_message
  inactivity_message: autologout_inactivity_message
  enforce_admin: autologout_enforce_admin
  use_alt_logout_method: autologout_use_alt_logout_method
  use_watchdog: autologout_use_watchdog
  whitelisted_ip_addresses: autologout_whitelisted_ip_addresses
destination:
  plugin: config
  config_name: autologout.settings
migration_dependencies:
  required:
    - d7_user_role:*
+36 −0
Original line number Diff line number Diff line
<?php

namespace Drupal\autologout\Plugin\migrate\destination;

use Drupal\migrate\Plugin\migrate\destination\Config;
use Drupal\migrate\Row;

/**
 * @MigrateDestination(
 *   id = "config:autologout"
 * )
 */
class ConfigAutologoutRoles extends Config {

  /**
   * {@inheritdoc}
   */
  public function import(Row $row, array $old_destination_id_values = []) {
    $autologout_role = 'autologout.role.';
    $roles = \Drupal::entityTypeManager()->getStorage('user_role')->loadMultiple();
    foreach ($roles as $role) {
      if (strtolower($row->getSourceProperty('role')) === strtolower($role->label())) {
        $autologout_role = 'autologout.role.' . $role->id();
        $this->config->setName($autologout_role);
        $this->config->save();
        break;
      }
    }

    $entity_ids = parent::import($row, $old_destination_id_values);
    $entity_ids[0] = $autologout_role;

    return $entity_ids;
  }

}
Loading