Refactor Personen column mapping
This commit is contained in:
parent
c6b1079418
commit
6bb88ea887
|
@ -3,6 +3,7 @@
|
||||||
use CRM\Bij1migratie\Mapping\AirtableMapping;
|
use CRM\Bij1migratie\Mapping\AirtableMapping;
|
||||||
use CRM\Bij1migratie\Mapping\BetalingenMapping;
|
use CRM\Bij1migratie\Mapping\BetalingenMapping;
|
||||||
use CRM\Bij1migratie\Mapping\ChargebacksMapping;
|
use CRM\Bij1migratie\Mapping\ChargebacksMapping;
|
||||||
|
use CRM\Bij1migratie\Mapping\PersonenMapping;
|
||||||
use CRM_Bij1migratie_ExtensionUtil as E;
|
use CRM_Bij1migratie_ExtensionUtil as E;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -294,30 +295,30 @@ class CRM_Bij1migratie_CsvFile {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private function sanitizePersonen(string $name, array &$data) {
|
private function sanitizePersonen(string $name, array &$data) {
|
||||||
|
$mapping = new PersonenMapping($data);
|
||||||
|
$value = $mapping->get($name);
|
||||||
|
|
||||||
switch ($name) {
|
switch ($name) {
|
||||||
case "mollie_customer_id":
|
case PersonenMapping::FIELD_MOLLIE_CUSTOMER_ID:
|
||||||
$data[$name] = $data[0];
|
case PersonenMapping::FIELD_EMAIL:
|
||||||
|
$data[$name] = $value;
|
||||||
break;
|
break;
|
||||||
case "achternaam":
|
case PersonenMapping::FIELD_ACHTERNAAM:
|
||||||
$naamDelen = explode(" ", $data[1]);
|
$naamDelen = explode(" ", $data[1], 2);
|
||||||
if (count($naamDelen) > 1) {
|
if (count($naamDelen) > 1) {
|
||||||
$data['voornaam'] = trim($naamDelen[0]);
|
$data[PersonenMapping::FIELD_VOORNAAM] = trim($naamDelen[0]);
|
||||||
unset($naamDelen[0]);
|
$data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[1]);
|
||||||
$data['achternaam'] = trim(implode(" ", $naamDelen));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (!empty($naamDelen[0])) {
|
if (!empty($naamDelen[0])) {
|
||||||
$data['achternaam'] = trim($naamDelen[0]);
|
$data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[0]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$data['achternaam'] = "Onbekend " . rand(0,9999);
|
$data[PersonenMapping::FIELD_ACHTERNAAM] = "Onbekend " . rand(0,9999);
|
||||||
}
|
}
|
||||||
$data['voornaam'] = "Onbekend " . rand(0,9999);
|
$data[PersonenMapping::FIELD_VOORNAAM] = "Onbekend " . rand(0,9999);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "email":
|
|
||||||
$data[$name] = $data[2];
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace CRM\Bij1migratie\Mapping;
|
||||||
|
|
||||||
|
class PersonenMapping extends AbstractMapping
|
||||||
|
{
|
||||||
|
public const FIELD_MOLLIE_CUSTOMER_ID = 'mollie_customer_id';
|
||||||
|
public const FIELD_ACHTERNAAM = 'achternaam';
|
||||||
|
public const FIELD_EMAIL = 'email';
|
||||||
|
public const FIELD_VOORNAAM = 'voornaam';
|
||||||
|
|
||||||
|
private const MAPPING = [
|
||||||
|
self::FIELD_MOLLIE_CUSTOMER_ID => 0,
|
||||||
|
self::FIELD_ACHTERNAAM => 1,
|
||||||
|
self::FIELD_EMAIL => 2,
|
||||||
|
];
|
||||||
|
|
||||||
|
public function getColumns(): array
|
||||||
|
{
|
||||||
|
return self::MAPPING;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue