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\BetalingenMapping;
|
||||
use CRM\Bij1migratie\Mapping\ChargebacksMapping;
|
||||
use CRM\Bij1migratie\Mapping\PersonenMapping;
|
||||
use CRM_Bij1migratie_ExtensionUtil as E;
|
||||
|
||||
/**
|
||||
|
@ -294,30 +295,30 @@ class CRM_Bij1migratie_CsvFile {
|
|||
* @throws Exception
|
||||
*/
|
||||
private function sanitizePersonen(string $name, array &$data) {
|
||||
$mapping = new PersonenMapping($data);
|
||||
$value = $mapping->get($name);
|
||||
|
||||
switch ($name) {
|
||||
case "mollie_customer_id":
|
||||
$data[$name] = $data[0];
|
||||
case PersonenMapping::FIELD_MOLLIE_CUSTOMER_ID:
|
||||
case PersonenMapping::FIELD_EMAIL:
|
||||
$data[$name] = $value;
|
||||
break;
|
||||
case "achternaam":
|
||||
$naamDelen = explode(" ", $data[1]);
|
||||
case PersonenMapping::FIELD_ACHTERNAAM:
|
||||
$naamDelen = explode(" ", $data[1], 2);
|
||||
if (count($naamDelen) > 1) {
|
||||
$data['voornaam'] = trim($naamDelen[0]);
|
||||
unset($naamDelen[0]);
|
||||
$data['achternaam'] = trim(implode(" ", $naamDelen));
|
||||
$data[PersonenMapping::FIELD_VOORNAAM] = trim($naamDelen[0]);
|
||||
$data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[1]);
|
||||
}
|
||||
else {
|
||||
if (!empty($naamDelen[0])) {
|
||||
$data['achternaam'] = trim($naamDelen[0]);
|
||||
$data[PersonenMapping::FIELD_ACHTERNAAM] = trim($naamDelen[0]);
|
||||
}
|
||||
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;
|
||||
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