sobjects/notification.py
changeset 2650 18aec79ec3a3
parent 2577 7c9888114085
child 2789 39712da6f397
child 2879 ae26a80c0635
equal deleted inserted replaced
2649:5d4a943695d1 2650:18aec79ec3a3
    74     def call(self, session, entity):
    74     def call(self, session, entity):
    75         if not entity.from_state: # not a transition
    75         if not entity.from_state: # not a transition
    76             return
    76             return
    77         rset = entity.related('wf_info_for')
    77         rset = entity.related('wf_info_for')
    78         try:
    78         try:
    79             view = session.vreg.select('views', 'notif_status_change',
    79             view = session.vreg['views'].select('notif_status_change', session,
    80                                        session, rset=rset, row=0)
    80                                                 rset=rset, row=0)
    81         except RegistryException:
    81         except RegistryException:
    82             return
    82             return
    83         comment = entity.printable_value('comment', format='text/plain')
    83         comment = entity.printable_value('comment', format='text/plain')
    84         if comment:
    84         if comment:
    85             comment = normalize_text(comment, 80,
    85             comment = normalize_text(comment, 80,
    98         email defined by the view
    98         email defined by the view
    99         """
    99         """
   100         rset = session.eid_rset(fromeid)
   100         rset = session.eid_rset(fromeid)
   101         vid = 'notif_%s_%s' % (self.event,  rtype)
   101         vid = 'notif_%s_%s' % (self.event,  rtype)
   102         try:
   102         try:
   103             view = session.vreg.select('views', vid, session, rset=rset, row=0)
   103             view = session.vreg['views'].select(vid, session, rset=rset, row=0)
   104         except RegistryException:
   104         except RegistryException:
   105             return
   105             return
   106         RenderAndSendNotificationView(session, view=view)
   106         RenderAndSendNotificationView(session, view=view)
   107 
   107 
   108 
   108 
   115         email defined by the view
   115         email defined by the view
   116         """
   116         """
   117         rset = entity.as_rset()
   117         rset = entity.as_rset()
   118         vid = 'notif_%s' % self.event
   118         vid = 'notif_%s' % self.event
   119         try:
   119         try:
   120             view = session.vreg.select('views', vid, session, rset=rset, row=0)
   120             view = session.vreg['views'].select(vid, session, rset=rset, row=0)
   121         except RegistryException:
   121         except RegistryException:
   122             return
   122             return
   123         RenderAndSendNotificationView(session, view=view)
   123         RenderAndSendNotificationView(session, view=view)
   124 
   124 
   125 
   125 
   136     # XXX refactor this class to work with len(rset) > 1
   136     # XXX refactor this class to work with len(rset) > 1
   137 
   137 
   138     msgid_timestamp = True
   138     msgid_timestamp = True
   139 
   139 
   140     def recipients(self):
   140     def recipients(self):
   141         finder = self.vreg.select('components', 'recipients_finder', self.req,
   141         finder = self.vreg['components'].select('recipients_finder', self.req,
   142                                   rset=self.rset)
   142                                   rset=self.rset)
   143         return finder.recipients()
   143         return finder.recipients()
   144 
   144 
   145     def subject(self):
   145     def subject(self):
   146         entity = self.entity(self.row or 0, self.col or 0)
   146         entity = self.entity(self.row or 0, self.col or 0)