Продолжая разговор ...
Заметила одну любопытную вещь:)
Написала свое действие, дотумкала как взять всех предков сообщения, чтоб отправить их авторам емейлы. Создаю правило, говорю: trigger event - добавлен объект в контейнер, condition - тип Comment, действие - Notify (мое).
Добавляем, тестируем - не работает. Действие срабатывает, но ветку сообщений уровнем выше получить не удается. Складывается подозрение, что в момент срабатываения события объект не до конца инициализируется. Смотрим код Ploneboard и видим, что, действительно, в content/PloneboardComment.py, есть код:
def addReply(self,
title,
text,
creator=None,
files=None ):
"""Add a reply to this comment."""
m = _createObjectByType(self.portal_type, conv, id)
event.notify(ObjectInitializedEvent(m))
...
m.setTitle(title)
m.setText(text)
m.setInReplyTo(self.UID())
То бишь уведомления о создании коммента идет до установки всех его основных свойств...
И для полного счастья надо всего лишь переместить event.notify(ObjectInitializedEvent(m)) после установки тайтла, текст, и связи с родительским сообщением...
05.11.09, 12:52, "Бессарабова Ирина" <
[hidden email]>:
> Как почту отправлять в принципе понятно. Главное собрать емейлы тех, кому нужно отправлять. В данном случае, у менять есть древовидная структура сообщений, нужно взять "родителей" сообщения, потом емейлы их авторов и отправить уже почту. Пока что бьюсь над тем, как взять всех родителей. В плон апи фиг че поймешь))
> 05.11.09, 12:34, "Юрий Поляков" :
> > Так там ведь как раз этот код и есть :)) Продукты почту отправляют.
> > 2009/11/5 Бессарабова Ирина :
> > > Спасибо за подсказку)) Действие добавить получилось, теперь будем думать, как написать собственно отправку мейлов людям)
> > >
> > > 05.11.09, 11:34, "Юрий Поляков" :
> > >
> > >> В collective svn-e есть несколько продуктов для работы с почтой в
> > >> правилах, думаю самым правильным будет поковыряться в них.
> > >> collective.contentrules.mail
> > >> collective.contentrules.xxx
> > >> 2009/11/5 Бессарабова Ирина :
> > >> > Всем привет,
> > >> > Хочу использовать rules для отправки уведомлений о новых сообщениях в форуме (Ploneboard). Я так понимаю, мне нужно создать новое действие, которое выполняется при добавлении нового коммента к обсуждению. Что-то не могу разобраться, как это сделать. Нашла только, как создавать новые условия на
http://plone.org/documentation/tutorial/creating-content-rule-conditions-and-actions/. Про действия там как-то мутно написано. Может кто знает какие-нибудь тьюториалы по теме?
> > >> >
> > >> > >
> > >> >
> > >
> > > >
> > >
>
--~--~---------~--~----~------------~-------~--~----~
Russian Plone Group
http://plone.org.ru/Для отправки сообщений
[hidden email]
Новые участники контролируются
Архив и настройки подписки
http://groups.google.com/group/plone-ru-~----------~----~----~----~------~----~------~--~---