Požadavek #1017
Nový systém upozorňování
0%
Description
Současný stav systému upozorňování je neudržitelný pro budoucí změny. Obsahuje hromadu duplikujícího se kódu (send_email a send_emails, send_sms_message a send_sms_messages) a množství různě zanořených metod, přes které se upozornění aktivují.
Například implementovat historii aktivovaných upozornění (#884) za současného stavu systému by bylo téměř nemožné.
Je nutné celkově zjednodušit a zpřehlednit způsob aktivace.
Related issues
Updated by David Raška over 5 years ago
- Related to Požadavek #884: [MODUL] Historie interakcí s členem/zákazníkem added
Updated by David Raška over 5 years ago
- Related to Požadavek #987: Upozornění na nové členy daného typu added
Updated by Ondřej Fibich over 5 years ago
Ano, je to kvůli tomu, že se volají různé statické metody z bůhví kama.
Pro aktivaci upozornění by se měla vytvořit servisní třída.
Zkus navrhnout její PHP rozhraní.
Zároveň buď prosím více specifický, s čím si měl problém atp.
Pokud se bude předělávat rozhraní je potřeba nadefinovat cíle, analyzovat problémy stávajícího stavu, navrhnout řešení (minimálně návrh API) a odhadnout dopady na systém (co se bude muset modifikovat a v jaké míře).
Updated by David Raška over 5 years ago
Ondřej Fibich napsal:
Zároveň buď prosím více specifický, s čím si měl problém atp.
Problém je například v tom, že aktivace zprávy (sms, e-mail, přesměrování) pro jednoho člena je potřeba uložit jako jeden záznam (aktivovaly se najednou), tudíž se musí ukládat v místě volání Notifications_Controller::notify(). Výsledný text, který se posílá v SMS, nebo E-mailem se ale tvoří až v metodách Message_Model::send_emails() a Message_Model::send_sms_messages(), což je v call stacku o 2 úrovně níž, než se musí ukládat historie. Navíc může mít některý člen bílou listinu, která se ale kontroluje v metodě notify, takže při ukládání historie vůbec nepoznám jestli členovi byla zpráva vůbec aktivována.
Updated by Ondřej Fibich over 5 years ago
David Raška napsal:
Ondřej Fibich napsal:
Zároveň buď prosím více specifický, s čím si měl problém atp.
Problém je například v tom, že aktivace zprávy (sms, e-mail, přesměrování) pro jednoho člena je potřeba uložit jako jeden záznam (aktivovaly se najednou), tudíž se musí ukládat v místě volání Notifications_Controller::notify(). Výsledný text, který se posílá v SMS, nebo E-mailem se ale tvoří až v metodách Message_Model::send_emails() a Message_Model::send_sms_messages(), což je v call stacku o 2 úrovně níž, než se musí ukládat historie. Navíc může mít některý člen bílou listinu, která se ale kontroluje v metodě notify, takže při ukládání historie vůbec nepoznám jestli členovi byla zpráva vůbec aktivována.
A které informace se budou v rámci #884 evidovat? Chtělo by ten požadavek rozšířit o výčet evidovaných prvků.
Updated by Ondřej Fibich over 5 years ago
Když kliknu na checkbox 2x, tak už nemůžu psát do polí..
Updated by David Raška over 5 years ago
Ondřej Fibich napsal:
Když kliknu na checkbox 2x, tak už nemůžu psát do polí..
Co? Jaky checkbox?