changes to sms packages and option to create user
This commit is contained in:
@@ -1237,7 +1237,9 @@ private function simulateGenericRoot(
|
||||
$entity['country'] = $val('address.country') ?? null;
|
||||
break;
|
||||
case 'phone':
|
||||
$entity['nu'] = $val('phone.nu') ?? null;
|
||||
$rawNu = $val('phone.nu') ?? null;
|
||||
// Strip all non-numeric characters from phone number
|
||||
$entity['nu'] = $rawNu !== null ? preg_replace('/[^0-9]/', '', (string) $rawNu) : null;
|
||||
break;
|
||||
case 'email':
|
||||
$entity['value'] = $val('email.value') ?? null;
|
||||
@@ -1246,6 +1248,11 @@ private function simulateGenericRoot(
|
||||
$entity['title'] = $val('client_case.title') ?? null;
|
||||
$entity['status'] = $val('client_case.status') ?? null;
|
||||
break;
|
||||
case 'case_object':
|
||||
$entity['name'] = $val('case_object.name') ?? null;
|
||||
$entity['description'] = $val('case_object.description') ?? null;
|
||||
$entity['type'] = $val('case_object.type') ?? null;
|
||||
break;
|
||||
}
|
||||
|
||||
if ($verbose) {
|
||||
@@ -1313,7 +1320,8 @@ private function genericIdentityCandidates(string $root, callable $val): array
|
||||
case 'phone':
|
||||
$nu = $val('phone.nu');
|
||||
if ($nu) {
|
||||
$norm = preg_replace('/\D+/', '', (string) $nu) ?? '';
|
||||
// Strip all non-numeric characters from phone number
|
||||
$norm = preg_replace('/[^0-9]/', '', (string) $nu) ?? '';
|
||||
|
||||
return $norm ? ['nu:'.$norm] : [];
|
||||
}
|
||||
@@ -1346,6 +1354,20 @@ private function genericIdentityCandidates(string $root, callable $val): array
|
||||
}
|
||||
|
||||
return [];
|
||||
case 'case_object':
|
||||
$ref = $val('case_object.reference');
|
||||
$name = $val('case_object.name');
|
||||
$ids = [];
|
||||
if ($ref) {
|
||||
// Normalize reference (remove spaces)
|
||||
$normRef = preg_replace('/\s+/', '', trim((string) $ref));
|
||||
$ids[] = 'ref:'.$normRef;
|
||||
}
|
||||
if ($name) {
|
||||
$ids[] = 'name:'.mb_strtolower(trim((string) $name));
|
||||
}
|
||||
|
||||
return $ids;
|
||||
default:
|
||||
return [];
|
||||
}
|
||||
@@ -1366,7 +1388,8 @@ private function loadExistingGenericIdentities(string $root): array
|
||||
case 'phone':
|
||||
foreach (\App\Models\Person\PersonPhone::query()->pluck('nu') as $p) {
|
||||
if ($p) {
|
||||
$set['nu:'.preg_replace('/\D+/', '', (string) $p)] = true;
|
||||
// Strip all non-numeric characters from phone number
|
||||
$set['nu:'.preg_replace('/[^0-9]/', '', (string) $p)] = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -1391,6 +1414,18 @@ private function loadExistingGenericIdentities(string $root): array
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'case_object':
|
||||
foreach (\App\Models\CaseObject::query()->get(['reference', 'name']) as $rec) {
|
||||
if ($rec->reference) {
|
||||
// Normalize reference (remove spaces)
|
||||
$normRef = preg_replace('/\s+/', '', trim((string) $rec->reference));
|
||||
$set['ref:'.$normRef] = true;
|
||||
}
|
||||
if ($rec->name) {
|
||||
$set['name:'.mb_strtolower(trim((string) $rec->name))] = true;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
} catch (\Throwable) {
|
||||
// swallow and return what we have
|
||||
@@ -1411,6 +1446,7 @@ private function modelClassForGeneric(string $root): ?string
|
||||
'activity' => \App\Models\Activity::class,
|
||||
'client' => \App\Models\Client::class,
|
||||
'client_case' => \App\Models\ClientCase::class,
|
||||
'case_object' => \App\Models\CaseObject::class,
|
||||
][$root] ?? null;
|
||||
}
|
||||
|
||||
@@ -1563,7 +1599,8 @@ private function simulateGenericRootMulti(
|
||||
} elseif ($root === 'phone') {
|
||||
$nu = $groupVals('phone', 'nu')[$g] ?? null;
|
||||
if ($nu) {
|
||||
$norm = preg_replace('/\D+/', '', (string) $nu) ?? '';
|
||||
// Strip all non-numeric characters from phone number
|
||||
$norm = preg_replace('/[^0-9]/', '', (string) $nu) ?? '';
|
||||
if ($norm) {
|
||||
$identityCandidates = ['nu:'.$norm];
|
||||
}
|
||||
@@ -1615,7 +1652,9 @@ private function simulateGenericRootMulti(
|
||||
if ($root === 'email') {
|
||||
$entity['value'] = $groupVals('email', 'value')[$g] ?? null;
|
||||
} elseif ($root === 'phone') {
|
||||
$entity['nu'] = $groupVals('phone', 'nu')[$g] ?? null;
|
||||
$rawNu = $groupVals('phone', 'nu')[$g] ?? null;
|
||||
// Strip all non-numeric characters from phone number
|
||||
$entity['nu'] = $rawNu !== null ? preg_replace('/[^0-9]/', '', (string) $rawNu) : null;
|
||||
} elseif ($root === 'address') {
|
||||
$entity['address'] = $groupVals('address', 'address')[$g] ?? null;
|
||||
$entity['country'] = $groupVals('address', 'country')[$g] ?? null;
|
||||
|
||||
Reference in New Issue
Block a user