Besant Tenant-Neutralization TODO¶
Scopo¶
Questa nota tecnica serve a identificare i punti concreti da sbloccare per rendere tenant_besant davvero indipendente dalle policy storiche nate per Safecondo.
Non e una roadmap generica.
E una lista operativa file -> problema -> azione consigliata.
Obiettivo¶
Arrivare a questo stato:
tenant_besantgoverna moduli, menu e listini senza dipendere da aliassafecondoSafecondocontinua a funzionare- il codice non assume piu che alcune capability RAS/documentale/listino esistano solo nel mondo Safecondo
1. Menu runtime documentale/RAS¶
File¶
Problema¶
Ci sono forzature esplicite legate a safecondo:
module_enabled_current_tenant(..., safecondo_force=True)is_safecondo_runtime()- forcing menu labels quando
tenant_key in {"safecondo", "tenant_safecondo"}
Questo significa che documentale/RAS non sono governati in modo puramente tenant-driven.
Azione consigliata¶
Sostituire la logica:
- da: eccezione
Safecondo - a: entitlement/modulo attivo per tenant
Regola target:
Besantvede documentale/RAS se il modulo e attivoSafecondocontinua a vederli perche il modulo e attivo, non perche e Safecondo
Priorita¶
Alta
2. Policy listini limitata a Safecondo¶
File¶
Problema¶
La funzione:
_safecondo_listino_enabled_tenant()
e le relative condizioni menu fanno passare solo tenant safecondo/tenant_extra/safeops.
Questa e oggi la parte meno portabile.
Azione consigliata¶
Rinominare concettualmente la policy:
- da:
safecondo_listino_enabled - a:
tenant_listino_enabled
e pilotarla con:
- modulo commerciale attivo
- flag tenant o setting dedicato
- eventuale capability
can_manage_listini
Nel frattempo, per evitare accoppiamenti fra Safecondo e Besant:
- clonare il pacchetto listini da
tenant_extraatenant_besant - lasciare i listini separati, in modo che variazioni future non si propaghino tra tenant
- agganciare i listini clonati alla rete commerciale Besant solo dopo verifica dei record target
Comando disponibile:
FLASK_APP=app flask commerciale_clone_listini \
--source-tenant tenant_extra \
--target-tenant tenant_besant \
--dry-run
Il comando clona:
commerciale_listinocommerciale_listino_serviziocommerciale_listino_fasciacommerciale_listino_regola
e, se richiesto, crea/aggiorna anche i link commerciale_rete_listino con:
--target-rete-commerciale-id--default-listino-name
Regola target¶
Besant deve poter governare:
- listini
- servizi listino
- fasce RAS
- regole RAS
- preset equivalenze
senza passare da alias safecondo.
Priorita¶
Alta
3. Alias tenant storici¶
File¶
Problema¶
Safecondo usa ancora alias storici:
tenant_extrasafecondosafeops
Questo rende comprensibili i workaround storici, ma complica la neutralita del codice.
Azione consigliata¶
Non migrare subito Safecondo.
Prima isolare l'uso degli alias in un punto solo:
- resolver centralizzato tenant runtime
- mapping alias -> tenant canonico
Regola target¶
Il resto del codice applicativo deve lavorare su tenant canonico, non su alias sparsi.
Priorita¶
Media-Alta
4. Documentazione amministrativa listini¶
File¶
Problema¶
La documentazione oggi dice esplicitamente che la governance listini e visibile solo sul tenant safecondo.
Azione consigliata¶
Aggiornare il documento dopo la neutralizzazione:
- distinguere policy storica e policy target
- documentare
Besantcome tenant pienamente governabile
Priorita¶
Media
5. Checklist go-live Besant vs codice reale¶
File¶
Problema¶
La checklist Besant e buona, ma oggi il codice non e ancora del tutto coerente con l'idea che Besant possa governare gli stessi menu/listini in modo autonomo.
Azione consigliata¶
Quando i punti 1-2 saranno chiusi:
- riallineare la checklist Besant
- aggiungere una sezione breve
Prerequisiti piattaforma - distinguere:
- prerequisiti dati
- prerequisiti menu/policy
Priorita¶
Media
6. Test da fare dopo neutralizzazione¶
Test minimi¶
tenant_besantcon moduli attivi:- vede documentale
- vede RAS
-
vede listini se autorizzato
-
tenant_extra / Safecondo: - continua a funzionare come prima
-
non perde menu o capability
-
utente
admin_tenant Besant: - accede a listini/fasce/regole
- salva preset
-
apre flusso RAS end-to-end
-
utente non autorizzato:
- non vede menu amministrativi listino
Ordine consigliato¶
- neutralizzare menu documentale/RAS
- neutralizzare policy listini
- centralizzare alias tenant
- aggiornare documentazione
- fare collaudo Besant completo
Conclusione¶
Il punto chiave non e riscrivere il processo.
Il punto chiave e togliere dal codice applicativo le eccezioni Safecondo nei punti che oggi bloccano Besant come tenant di prima classe.