migration company: some memo record, fixed term withour tode
This commit is contained in:
@@ -38,7 +38,13 @@ process:
|
||||
default_value: 0
|
||||
source: '@parent_id'
|
||||
changed: timestamp
|
||||
|
||||
langcode:
|
||||
plugin: default_value
|
||||
default_value: 'und'
|
||||
field_migration:
|
||||
plugin: default_value
|
||||
default_value: 'migration_imported'
|
||||
|
||||
# FROM TODE (linked tode node)
|
||||
field_website:
|
||||
plugin: iterator
|
||||
|
@@ -108,7 +108,7 @@ class D7TaxonomyTermCompany extends FieldableEntity implements ContainerFactoryP
|
||||
public function prepareRow(Row $row) {
|
||||
$language = $row->getSourceProperty('language');
|
||||
$tid = $row->getSourceProperty('tid');
|
||||
drush_print('-- '.$language.' -- '.$tid." -- ".$row->getSourceProperty('name')." -- ".$row->getSourceProperty('weight'));
|
||||
drush_print('-- '.$language."\t".$tid."\t".$row->getSourceProperty('name'));
|
||||
|
||||
// vocabulary machine name
|
||||
$machine_name = $row->getSourceProperty('machine_name');
|
||||
@@ -146,61 +146,78 @@ class D7TaxonomyTermCompany extends FieldableEntity implements ContainerFactoryP
|
||||
->execute()->fetchField();
|
||||
// drush_print('tode_nid: '.$tode_nid);
|
||||
|
||||
// get the tode fields
|
||||
foreach ($this->getFields('node', 'company') as $field_name => $field) {
|
||||
// Ensure we're using the right language if the entity is translatable.
|
||||
$field_language = $field['translatable'] ? $language : NULL;
|
||||
$field_values = $this->getFieldValues('node', $field_name, $tode_nid, null, $field_language);
|
||||
// drush_print('tode_nid: ');
|
||||
// print_r($tode_nid);
|
||||
// drush_print(' ');
|
||||
if($tode_nid){
|
||||
// get the tode fields
|
||||
foreach ($this->getFields('node', 'company') as $field_name => $field) {
|
||||
// Ensure we're using the right language if the entity is translatable.
|
||||
$field_language = $field['translatable'] ? $language : NULL;
|
||||
$field_values = $this->getFieldValues('node', $field_name, $tode_nid, null, $field_language);
|
||||
|
||||
$row->setSourceProperty($field_name, $field_values);
|
||||
}
|
||||
|
||||
// drush_print('body: ');
|
||||
// print_r($row->getSourceProperty('body'));
|
||||
$field_infos = $row->getSourceProperty('field_infos_from_company');
|
||||
if(!empty($field_infos)){
|
||||
drush_print('field_infos_from_company: ');
|
||||
print_r($field_infos);
|
||||
}
|
||||
|
||||
// make sure that field_website url is absolute
|
||||
$field_website = $row->getSourceProperty('field_website');
|
||||
if(isset($field_website[0]['url'])){
|
||||
$url = $field_website[0]['url'];
|
||||
if(!strpos($url, 'http://')){
|
||||
$field_website[0]['url'] = 'http://'.$url;
|
||||
$row->setSourceProperty('field_website', $field_website);
|
||||
$row->setSourceProperty($field_name, $field_values);
|
||||
}
|
||||
}
|
||||
|
||||
// convert phone field with libphonenumber
|
||||
$field_phone = $row->getSourceProperty('field_public_phone');
|
||||
if(isset($field_phone[0]['number']) && !empty($field_phone[0]['number'])){
|
||||
$national_number = $field_phone[0]['number'];
|
||||
$region = strtoupper($field_phone[0]['country_codes']);
|
||||
// isValidRegionCode($regionCode)
|
||||
if($this->phoneUtils->isPossibleNumber($national_number, $region)){
|
||||
$number = $this->phoneUtils->parse($national_number, $region);
|
||||
$row->setSourceProperty('public_phone', $this->phoneUtils->format($number, PhoneNumberFormat::E164));
|
||||
}else{
|
||||
// add bad phone number to memo field
|
||||
$memo .= "invalid phone number: ".$national_number.' region: '.$region."\n";
|
||||
drush_print('WARNING: phone number invalide; number: '.$national_number.' region: '.$region);
|
||||
// $body = $row->getSourceProperty('body');
|
||||
// if(!empty($body)){
|
||||
// drush_print('body: ');
|
||||
// print_r($body);
|
||||
// }
|
||||
// $field_infos_from_company = $row->getSourceProperty('field_infos_from_company');
|
||||
// if(!empty($field_infos_from_company)){
|
||||
// drush_print('field_infos_from_company: ');
|
||||
// print_r($field_infos_from_company);
|
||||
// }
|
||||
|
||||
// make sure that field_website url is absolute
|
||||
$field_website = $row->getSourceProperty('field_website');
|
||||
if(isset($field_website[0]['url'])){
|
||||
$url = $field_website[0]['url'];
|
||||
if(!strpos($url, 'http://')){
|
||||
$field_website[0]['url'] = 'http://'.$url;
|
||||
$row->setSourceProperty('field_website', $field_website);
|
||||
}
|
||||
}
|
||||
|
||||
// convert phone field with libphonenumber
|
||||
$field_phone = $row->getSourceProperty('field_public_phone');
|
||||
if(isset($field_phone[0]['number']) && !empty($field_phone[0]['number'])){
|
||||
$national_number = $field_phone[0]['number'];
|
||||
$region = strtoupper($field_phone[0]['country_codes']);
|
||||
// isValidRegionCode($regionCode)
|
||||
if($this->phoneUtils->isPossibleNumber($national_number, $region)){
|
||||
$number = $this->phoneUtils->parse($national_number, $region);
|
||||
$row->setSourceProperty('public_phone', $this->phoneUtils->format($number, PhoneNumberFormat::E164));
|
||||
}else{
|
||||
// add bad phone number to memo field
|
||||
$memo .= "#migration : invalid phone number: ".$national_number.' region: '.$region."\n";
|
||||
drush_print('WARNING: phone number invalide; number: '.$national_number.' region: '.$region);
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: attachment files
|
||||
// no needs as there is no attachment field used for companies
|
||||
|
||||
// workflow
|
||||
$query = $this->select('workflow_node', 'wn');
|
||||
$query->fields('wn', ['sid']);
|
||||
$query->condition('wn.nid', $tode_nid);
|
||||
$results = $query->execute()->fetchField();
|
||||
if(!$results){
|
||||
$results = 2;
|
||||
// add bad workflow to memo field
|
||||
$memo .= "#migration : invalid workflow\n";
|
||||
drush_print('WARNING: no workflow');
|
||||
}
|
||||
$row->setSourceProperty('workflow', $results);
|
||||
|
||||
}else{
|
||||
// if no tode set workflow to hidden
|
||||
$row->setSourceProperty('workflow', 2);
|
||||
$memo .= "#migration : missing data from tode\n";
|
||||
drush_print('WARNING: no tode');
|
||||
}
|
||||
|
||||
// attachment files
|
||||
|
||||
// workflow
|
||||
// get the workflow status
|
||||
$query = $this->select('workflow_node', 'wn');
|
||||
$query->fields('wn', ['sid']);
|
||||
$query->condition('wn.nid', $tode_nid);
|
||||
$results = $query->execute()->fetchField();
|
||||
// drush_print('workflow query results : ', 0, null, false);
|
||||
// drush_print_r($results);
|
||||
$row->setSourceProperty('workflow', $results);
|
||||
|
||||
// record migration errors in field_memo
|
||||
if(isset($memo)){
|
||||
$field_memo = $row->getSourceProperty('field_memo');
|
||||
|
Reference in New Issue
Block a user