bgerp/bgerp — Issue #83: 'blast' - модул за разпространение на циркулярни писма, SMS, факсове
Author: milengg
Created: 2011-10-12 09:53:14+00:00
State: open

Този модул трябва да дава възможност за бързо изпращане на циркулярни (е)писма, факсове и СМС-и. Трябва да бъде ограничена възможността, той да се използва за СПАМ.

Модулът ще бъде в менюто: Визитник::Разпространение

Идеята е следната:
Да има собствени адресни данни, които се получават в него в CSV формат. Когато искаме да вкараме данни от визитника - вземаме данните от визитника в CSV, обработваме ги с външна програма, и създаваме група със съответните данни. Средствата като ОпенОфис Калк и Гугъл рефайн са подходящи за обработка на данните.

Ще има следните модели:

### ContactGroups - Контактни групи
`fields` - `varchar(255)` - списък с полетата на данните, разделен с | или , с имената на полетата. Някои имена са със запазено значение: email, address, country, place, pcode, fax
`data` - данни в CSV формат
+ полета за описание на CSV формата (последно използвани: разделител, кавички ...)
`dataFile` - алтернативно може да бъде прикрепен файл с CSV данни

### Email - Циркулярни е-мейл писма
Това са документи по смисъла на системата. Изпращането им по е-мейл към контактни групи е различно (без ид на тред в събджекта)
Полета:

`subject` - `varchar(128)`
`text` - `richtext`
`html` - `html` - не задължително. Ако липсва се генерира от предходното поле
`fromEmail` - key(mvc=email_Accounts)` - за сега може да е стрингово поле
`attachFiles` - дан/не дали да се прикачат линкваните файлове
`contactGroupId` -към коя контактна група ще се изпраща
`maxSendPerMinute` - колко писма да се изпращат максимално в минута
`state` - draft,active,stopped,closed,rejected

В полето '`text` и `html` могат да се записват плейсхолдъри от типа [#email#], [#name#] , [#country#] ... Особен параметър е [#removeLink#] . Този плейсхолдър поставя линк, който води към екшън на контролера `blasr_Remove`, който в диалог вкарва посочения е-майл в списък с блокирани емайли.

To Be Continued...