Ho riutilizzato codice e template dell’app firewall, dato che mi
sembrava molto simile
Una cosa che ho cambiato è relativa alle “pagine” disponibili.
Nell’interfaccia di octofussd sono presenti allowed_sites,
banned_sites, ecc.. mentre il codice vecchio mi pare che facesse
lavorare solo su allowed_sites, viste anche le stringhe di
documentazione/output
Quindi ho reso visibile solo quel ramo (ma con una modifica di un
paio di righe diventa tutto disponibile)
Mergiato in master e pushato
Resta da capire:
Come far funzionare la cancellazione di voci, che ho provato e non
funziona (problema comune all’app firewall)
Aggiunto can_delete=True alla creazione del Formset in modo da
avere esplicitamente un checkbox di cancellazione
Semplificato il codice della view, che cancella tutto e ricrea le
voci POSTate (come faceva il codice vecchio)
Un po’ di UI love, con injection dei messages via javascript alla
pressione del bottone Restart
Questo codice è una semplice funzione, che è stata messa in
js/octonet_functions.js, caricato in base.html
Iniziata la testsuite di dansguardian
A fine giornata ho committato un work in progress per testare la
creazione e cancellazione delle voci, isolando l’ambiente di test
dal database di octofussd.
Resta da finire questa parte di test
Nel frattempo ho mergiato il codice in master e ho pushato
Reintegrato la parte di codice che cancella le voci dal firewall
(più sicura in un ambiente non transazionale)
Tutti i messaggi sono nei messages anziché in posti casuali della
pagina
Per ogni riga c’è un bottone di cancellazione che via javascript
vuota i campi relativi
Se durante POST c’è una voce con name o value vuoti, viene
cancellata
Portate le migliorie di UI anche all’app firewall (i relativi commit
sono stati taggati anche con #69 (closed) per correlarli al relativo ticket)
Aggiunti test per provare tutti i vari casi possibili in
dansguardian (e alcuni non passano con errori su MockTree che non
sono riuscito a debuggare, potrebbe essere un problema dei test o di
MockTree stesso, piuttosto che del codice di backend vero e
proprio, dato che provando col browser a fare le varie azioni sembra
tutto ok)
Per evitare di lasciare il branch con le migliorie anche di UI al di
fuori di master, ho comunque mergiato e pushato.