equal
deleted
inserted
replaced
18 from logilab.common.textutils import normalize_text |
18 from logilab.common.textutils import normalize_text |
19 |
19 |
20 from cubicweb import RegistryException |
20 from cubicweb import RegistryException |
21 from cubicweb.selectors import implements |
21 from cubicweb.selectors import implements |
22 from cubicweb.common.view import EntityView, Component |
22 from cubicweb.common.view import EntityView, Component |
23 from cubicweb.common.registerers import accepts_registerer |
|
24 from cubicweb.common.mail import format_mail |
23 from cubicweb.common.mail import format_mail |
25 |
24 |
26 from cubicweb.server.pool import PreCommitOperation |
25 from cubicweb.server.pool import PreCommitOperation |
27 from cubicweb.server.hookhelper import SendMailOp |
26 from cubicweb.server.hookhelper import SendMailOp |
28 from cubicweb.server.hooksmanager import Hook |
27 from cubicweb.server.hooksmanager import Hook |
34 |
33 |
35 by default user's with their email set are notified if any, else the default |
34 by default user's with their email set are notified if any, else the default |
36 email addresses specified in the configuration are used |
35 email addresses specified in the configuration are used |
37 """ |
36 """ |
38 id = 'recipients_finder' |
37 id = 'recipients_finder' |
39 __registerer__ = accepts_registerer |
38 __select__ = implements('Any') |
40 __selectors__ = (implements('Any'),) |
|
41 user_rql = ('Any X,E,A WHERE X is EUser, X in_state S, S name "activated",' |
39 user_rql = ('Any X,E,A WHERE X is EUser, X in_state S, S name "activated",' |
42 'X primary_email E, E address A') |
40 'X primary_email E, E address A') |
43 |
41 |
44 def recipients(self): |
42 def recipients(self): |
45 mode = self.config['default-recipients-mode'] |
43 mode = self.config['default-recipients-mode'] |
295 entity.eid, self.user_login()) |
293 entity.eid, self.user_login()) |
296 |
294 |
297 |
295 |
298 class CardAddedView(NormalizedTextView): |
296 class CardAddedView(NormalizedTextView): |
299 """get notified from new cards""" |
297 """get notified from new cards""" |
300 __selectors__ = (implements('Card'),) |
298 __select__ = implements('Card') |
301 content_attr = 'synopsis' |
299 content_attr = 'synopsis' |
302 |
300 |
303 |
301 |