fixed simplenews subscribers without account migration
This commit is contained in:
@@ -24,9 +24,10 @@ process:
|
||||
mail: mail
|
||||
# uid: uid
|
||||
uid:
|
||||
plugin: migration
|
||||
plugin: migration_lookup
|
||||
migration: d7_users
|
||||
source: uid
|
||||
no_stub: true
|
||||
|
||||
langcode: language
|
||||
changes: changes
|
||||
|
@@ -0,0 +1,55 @@
|
||||
id: d7_simplenews_subscribers_notuser
|
||||
migration_group: d7_materio
|
||||
dependencies:
|
||||
# config:
|
||||
# - migrate.migration.d7_simplenews_newsletter
|
||||
module:
|
||||
- migrate_drupal
|
||||
- simplenews
|
||||
label: Simplenews subscribers (without user drupal accompte)
|
||||
migration_tags:
|
||||
- Drupal 7
|
||||
- Content
|
||||
- Materio
|
||||
|
||||
source:
|
||||
plugin: d7_simplenews_subscribers_notuser
|
||||
# high_water_property:
|
||||
# name: changes
|
||||
# alias: s
|
||||
|
||||
process:
|
||||
id: snid
|
||||
status: activated
|
||||
mail: mail
|
||||
uid: uid
|
||||
|
||||
langcode: language
|
||||
changes: changes
|
||||
created: created
|
||||
|
||||
subscriptions:
|
||||
plugin: iterator
|
||||
source: subscriptions
|
||||
process:
|
||||
target_id:
|
||||
plugin: static_map
|
||||
source: newsletter_id
|
||||
map:
|
||||
6585: "test"
|
||||
6374: "ze_daily_materio_"
|
||||
6274: "materio_newsletter"
|
||||
7881: "companies"
|
||||
# plugin: migration
|
||||
# migration: d7_simplenews_newsletter
|
||||
# source: newsletter_id
|
||||
status: status
|
||||
timestamp: timestamp
|
||||
source: source
|
||||
|
||||
destination:
|
||||
plugin: entity:simplenews_subscriber
|
||||
|
||||
migration_dependencies:
|
||||
required:
|
||||
- d7_users
|
@@ -43,6 +43,7 @@ class D7SimplenewsSubscribers extends DrupalSqlBase {
|
||||
public function query() {
|
||||
return $this->select('simplenews_subscriber', 's')
|
||||
->fields('s')
|
||||
->condition('s.uid', 0, '<>')
|
||||
->orderBy('snid');
|
||||
}
|
||||
|
||||
|
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
namespace Drupal\materio_migrate\Plugin\migrate\source;
|
||||
|
||||
use Drupal\migrate\Row;
|
||||
use Drupal\migrate_drupal\Plugin\migrate\source\DrupalSqlBase;
|
||||
|
||||
/**
|
||||
* Migration source for Subscriber entries in D7.
|
||||
*
|
||||
* @MigrateSource(
|
||||
* id = "d7_simplenews_subscribers_notuser",
|
||||
* source_module = "simplenews"
|
||||
* )
|
||||
*/
|
||||
class D7SimplenewsSubscribersNotUser extends DrupalSqlBase {
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function fields() {
|
||||
return [
|
||||
'snid' => $this->t('Subscriber ID'),
|
||||
'activated' => $this->t('Activated'),
|
||||
'mail' => $this->t("Subscriber's e-mail address"),
|
||||
'uid' => $this->t('Corresponding user'),
|
||||
'language' => $this->t('Language'),
|
||||
'changes' => $this->t('Pending unconfirmed subscription changes'),
|
||||
'created' => $this->t('Time of creation'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function getIds() {
|
||||
return ['snid' => ['type' => 'integer']];
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function query() {
|
||||
return $this->select('simplenews_subscriber', 's')
|
||||
->fields('s')
|
||||
->condition('s.uid', 0)
|
||||
->orderBy('snid');
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function prepareRow(Row $row) {
|
||||
$result = parent::prepareRow($row);
|
||||
|
||||
$version = $this->getModuleSchemaVersion('simplenews');
|
||||
$newsletter_id_field = 'newsletter_id';
|
||||
if ($version >= 7000 & $version < 7200) {
|
||||
$newsletter_id_field = 'tid';
|
||||
}
|
||||
|
||||
// Add associated data from the subscriptions table.
|
||||
$q = $this->select('simplenews_subscription', 'sub');
|
||||
$q->addField('sub', $newsletter_id_field, 'newsletter_id');
|
||||
$q->fields('sub', ['status', 'timestamp', 'source']);
|
||||
$q->condition('sub.snid', $row->getSourceProperty('snid'));
|
||||
$subscriptions = $q->execute()->fetchAllAssoc('newsletter_id');
|
||||
$row->setSourceProperty('subscriptions', $subscriptions);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
}
|
@@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>materio.com [19 Jul 2021 at 18:26]</title>
|
||||
<title>materio.com [26 Jul 2021 at 19:37]</title>
|
||||
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
|
||||
|
||||
<script>
|
||||
|
Reference in New Issue
Block a user