web/views/massmailing.py
changeset 6637 6bbfc628555b
parent 6006 54cdc0164193
child 8190 2a3c1b787688
equal deleted inserted replaced
6636:dbc9cce53c11 6637:6bbfc628555b
    63     domid = 'sendmail'
    63     domid = 'sendmail'
    64     action = 'sendmail'
    64     action = 'sendmail'
    65 
    65 
    66     sender = ff.StringField(widget=TextInput({'disabled': 'disabled'}),
    66     sender = ff.StringField(widget=TextInput({'disabled': 'disabled'}),
    67                             label=_('From:'),
    67                             label=_('From:'),
    68                             value=lambda f: '%s <%s>' % (
    68                             value=lambda form, field: '%s <%s>' % (
    69                                 f._cw.user.dc_title(),
    69                                 form._cw.user.dc_title(),
    70                                 f._cw.user.cw_adapt_to('IEmailable').get_email()))
    70                                 form._cw.user.cw_adapt_to('IEmailable').get_email()))
    71     recipient = ff.StringField(widget=CheckBox(), label=_('Recipients:'),
    71     recipient = ff.StringField(widget=CheckBox(), label=_('Recipients:'),
    72                                choices=recipient_vocabulary,
    72                                choices=recipient_vocabulary,
    73                                value= lambda f: [entity.eid for entity in f.cw_rset.entities()
    73                                value= lambda form, field: [entity.eid for entity in form.cw_rset.entities()
    74                                                  if entity.cw_adapt_to('IEmailable').get_email()])
    74                                                            if entity.cw_adapt_to('IEmailable').get_email()])
    75     subject = ff.StringField(label=_('Subject:'), max_length=256)
    75     subject = ff.StringField(label=_('Subject:'), max_length=256)
    76     mailbody = ff.StringField(widget=AjaxWidget(wdgtype='TemplateTextField',
    76     mailbody = ff.StringField(widget=AjaxWidget(wdgtype='TemplateTextField',
    77                                                 inputid='mailbody'))
    77                                                 inputid='mailbody'))
    78 
    78 
    79     form_buttons = [ImgButton('sendbutton', "javascript: $('#sendmail').submit()",
    79     form_buttons = [ImgButton('sendbutton', "javascript: $('#sendmail').submit()",
   144     __select__ = authenticated_user() & adaptable('IEmailable')
   144     __select__ = authenticated_user() & adaptable('IEmailable')
   145 
   145 
   146     def call(self):
   146     def call(self):
   147         form = self._cw.vreg['forms'].select('massmailing', self._cw,
   147         form = self._cw.vreg['forms'].select('massmailing', self._cw,
   148                                              rset=self.cw_rset)
   148                                              rset=self.cw_rset)
   149         self.w(form.render())
   149         form.render(w=self.w)
   150 
   150 
   151 
   151 
   152 class SendMailController(controller.Controller):
   152 class SendMailController(controller.Controller):
   153     __regid__ = 'sendmail'
   153     __regid__ = 'sendmail'
   154     __select__ = authenticated_user() & match_form_params('recipient', 'mailbody', 'subject')
   154     __select__ = authenticated_user() & match_form_params('recipient', 'mailbody', 'subject')