web/views/massmailing.py
changeset 4161 4273f5094651
parent 4159 6b2b20c73d59
child 4252 6c4f109c2b03
equal deleted inserted replaced
4160:3fbdeef9a610 4161:4273f5094651
    33             params['rql'] = self._cw.form['rql']
    33             params['rql'] = self._cw.form['rql']
    34         return self._cw.build_url(self._cw.relative_path(includeparams=False),
    34         return self._cw.build_url(self._cw.relative_path(includeparams=False),
    35                                   **params)
    35                                   **params)
    36 
    36 
    37 
    37 
       
    38 def recipient_vocabulary(form):
       
    39     vocab = [(entity.get_email(), entity.eid) for entity in form.cw_rset.entities()]
       
    40     return [(label, value) for label, value in vocab if label]
       
    41 
    38 class MassMailingForm(forms.FieldsForm):
    42 class MassMailingForm(forms.FieldsForm):
    39     __regid__ = 'massmailing'
    43     __regid__ = 'massmailing'
    40 
    44 
    41     sender = ff.StringField(widget=TextInput({'disabled': 'disabled'}),
    45     sender = ff.StringField(widget=TextInput({'disabled': 'disabled'}),
    42                             label=_('From:'),
    46                             label=_('From:'),
    51     form_buttons = [ImgButton('sendbutton', "javascript: $('#sendmail').submit()",
    55     form_buttons = [ImgButton('sendbutton', "javascript: $('#sendmail').submit()",
    52                               _('send email'), 'SEND_EMAIL_ICON'),
    56                               _('send email'), 'SEND_EMAIL_ICON'),
    53                     ImgButton('cancelbutton', "javascript: history.back()",
    57                     ImgButton('cancelbutton', "javascript: history.back()",
    54                               stdmsgs.BUTTON_CANCEL, 'CANCEL_EMAIL_ICON')]
    58                               stdmsgs.BUTTON_CANCEL, 'CANCEL_EMAIL_ICON')]
    55     form_renderer_id = __regid__
    59     form_renderer_id = __regid__
    56 
       
    57     def form_field_vocabulary(self, field):
       
    58         if field.name == 'recipient':
       
    59             vocab = [(entity.get_email(), entity.eid) for entity in self.cw_rset.entities()]
       
    60             return [(label, value) for label, value in vocab if label]
       
    61         return super(MassMailingForm, self).form_field_vocabulary(field)
       
    62 
    60 
    63     def __init__(self, *args, **kwargs):
    61     def __init__(self, *args, **kwargs):
    64         super(MassMailingForm, self).__init__(*args, **kwargs)
    62         super(MassMailingForm, self).__init__(*args, **kwargs)
    65         field = self.field_by_name('mailbody')
    63         field = self.field_by_name('mailbody')
    66         field.widget.attrs['cubicweb:variables'] = ','.join(self.get_allowed_substitutions())
    64         field.widget.attrs['cubicweb:variables'] = ','.join(self.get_allowed_substitutions())