feat: cada numero ve solo las fincas que el ERP le asigno
PhoneSync guarda el alcance que llega en whatsapp_numeros, y ask_finca acota la lista con scope_from. Lista vacia = sin restriccion, para que quien tiene todas vea tambien las fincas que se creen despues. "Todas las fincas" sobrevive al filtro y pasa a significar "todas las mias"; de acotarla se encarga el ERP, que es donde estan los datos. Tolera que la columna todavia no exista: mientras tanto nadie queda restringido. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
eb0ae1f208
commit
478ba3ea73
@@ -71,11 +71,12 @@ class PhoneSync
|
||||
|
||||
$db = db();
|
||||
$upsert = $db->prepare("
|
||||
INSERT INTO company_phones (company_id, wa_number, label, permission_type, is_active)
|
||||
VALUES (?, ?, ?, ?, 1)
|
||||
INSERT INTO company_phones (company_id, wa_number, label, permission_type, fincas_json, is_active)
|
||||
VALUES (?, ?, ?, ?, ?, 1)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
label = VALUES(label),
|
||||
permission_type = VALUES(permission_type),
|
||||
fincas_json = VALUES(fincas_json),
|
||||
is_active = 1
|
||||
");
|
||||
|
||||
@@ -84,11 +85,15 @@ class PhoneSync
|
||||
$waNumber = trim($n['wa_number'] ?? '');
|
||||
if ($waNumber === '') continue;
|
||||
|
||||
// Lista vacía = sin restricción (ve todas las fincas)
|
||||
$fincas = array_values(array_filter(array_map('intval', (array)($n['fincas'] ?? []))));
|
||||
|
||||
$upsert->execute([
|
||||
$companyId,
|
||||
$waNumber,
|
||||
trim($n['nombre'] ?? ''),
|
||||
(int)($n['permiso'] ?? 1),
|
||||
$fincas ? json_encode($fincas) : null,
|
||||
]);
|
||||
$activeNumbers[] = $waNumber;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user