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()) |