bgerp/bgerp — Issue #118: Система за известия bgerp_Notifications
Author: milengg
Created: 2011-11-15 22:20:35+00:00
State: open

Целата на тази система е да представи на едно място, всичко каквото се случва в организацията, което засяга дадения служител.

Информацията която поддържа системата има следната структура:

message - varchar - текста, който потребителя вижда
url - varchar - Ctr|Act|Id - url към обекта, който се нуждае от внимание
state (active, closed) - състояние. Когато потребителя види ресурса, към който сочи това съобщение - то става от активно в затворено.
userId - key(mvc=core_Users) - за кой потребител се отнася дадената нотификация
priority - enum(normal, warning, alert) - с какъв приоритет е съобщението
sentSms - enum(yes,no) - дали потребителя е известен по СМС
sentXmpp - emun(yes,no) - дали потребителя е известен по Xmpp
created(on,By)

unique(msg, url, userId);

Най-първи се сортират активните, след това затворените. Подредбата е от по-нови към по-стари.
Има филтър за търсене по ключова дума
По-старите нотификации от 60 дни се изтриват по крон

Този клас има основен входен метод: $Notifications->add($msg, $url, $userId, $priority) .

Освен този клас, трябва да се направи и плъгин, който се прикача към класовете, които създават нотификации и когато потребителя отвори даден обект, който е предизвикал нотификация тя се затваря.

Когато се добавя повтарящо се съобщение за даден потребител, на него само му се обновява createdOn, createdBy и state.