Notification: nuova entità per poter fare analisi sulle notifiche già mandate in precedenza
Ref #76
Situazione attuale
Le notifiche sono mandate in diverse situazioni:
- dai cron
- dagli observer
- ...
Premettendo che gli observer devono lanciare una email immediata (e questo già funziona correttamente in generale),
Invece, le notifiche dai cron sono difficili da rendere più frequenti, perché non abbiamo uno storico delle notifiche già mandate in precedenza e, aumentando la frequenza, ora come ora, causeremmo frequenti notifiche doppie e fastidiose per i soci.
Esempio: abbiamo già un cron che verifica lo stato quote, appunto, hardcodato in una data specifica, per evitare notifiche doppie:
Fra essi c'è questo command che "Invalida le richieste pendenti da più di 60 giorni senza quota pagata" (senza notifiche intermedie):
Situazione proposta
Espandere DropRequests
per notificare i nuovi soci (status
= pending
) senza quota, affinché ricevino almeno un sollecito prima di essere scartati (dropped
).
Requisito: senza intasarli di notifiche, però.
Possibili miglioramenti futuri
Si potrebbe modificare il command checkFees
per essere eseguito più volte durante l'anno. Questo però merita ulteriori chiarimenti perché non c'entra nulla con #76.
Appunti
Altri appunti (eventualmente rimuovere quelli fuorvianti sugli observer):
Solo nel caso della verifica quote manda un email, mentre al cambio stato utente https://gitlab.com/ItalianLinuxSociety/ilsmanager/-/blob/master/app/Observers/UserObserver.php manda le notifiche quindi gli utenti ricevono le email già. Nel codice abbiamo le email e i template vengono chiamati qui al cambio stato, solo se questo effettivamente cambia ma se noi li teniamo con le quote ferme al 2022 non ricevono nessuna notifica perchè non cambia il loro stato e la notifica delle quote avviene solo il 10 gennaio di ogni anno (che manda l'email).
Direi che a questo punto dobbiamo ragionare un attimo su quello che abbiamo già e sul perchè gli utenti non vengono notificati, perchè il codice che manda le email c'è e secondo me ricevono le email quindi dobbiamo fare delle verifiche.
Sistemerei anche il seeder per avere un utente che questi comandi possano trovare che non è in regola con le quote.