Then fill out the actual email fields:
-Senderaddr
+Sender address
: Email-address used to send the email. Be careful about what is used
here, should always be one where the sending server sets proper
DKIM. For non-superusers only addresses registered as either contact
or sponsor address for an existing conference can be used. For
superusers, any address at all can be used, so be careful!
-Sendername
+Sender name
: Name of the sender (typically the conference series name, if sent
to a complete conference series).
class CrossConferenceMailForm(forms.Form):
- senderaddr = forms.EmailField(min_length=5, required=True)
- sendername = forms.CharField(min_length=5, required=True)
+ senderaddr = forms.EmailField(min_length=5, required=True, label="Sender address")
+ sendername = forms.CharField(min_length=5, required=True, label="Sender name")
include = forms.CharField(widget=forms.widgets.HiddenInput(), required=False)
exclude = forms.CharField(widget=forms.widgets.HiddenInput(), required=False)
subject = forms.CharField(min_length=10, max_length=80, required=True)
if not self.user.is_superuser:
conferences = list(Conference.objects.filter(series__administrators=self.user))
- self.fields['senderaddr'] = forms.ChoiceField(choices=set(
+ self.fields['senderaddr'] = forms.ChoiceField(label="Sender address", choices=set(
[(c.contactaddr, c.contactaddr) for c in conferences] +
[(c.sponsoraddr, c.sponsoraddr) for c in conferences]))
<link rel="stylesheet" href="/media/css/selectize.css" />
<link rel="stylesheet" href="/media/css/selectize.default.css" />
<style>
-table.mailform tr {
- vertical-align: top;
-}
-table.mailform input[type=text],textarea,select {
- width: 500px;
+div.inclexclwrapper div.selectize-control {
+ margin-right: 10px;
+ margin-bottom: 3px;
}
.selectize-control { display: inline-block; }
</style>
var sel = $('<select style="width: 200px" class="noexpand" id="' + type + '_' + num + '">');
var sel2 = $('<select class="noexpand" style="width: 300px" id="' + type + 't_' + num +'">');
- var el = $('<div id="' + type + 'wrap_' + num + '">').append(
+ var el = $('<div id="' + type + 'wrap_' + num + '" class="inclexclwrapper">').append(
sel,
sel2,
$('<button class="btn btn-xs" style="float:right" onclick="return removeFilter(\'' + type + '\',' + num + ')"><span class="glyphicon glyphicon-remove-sign"></span></button>'),
</script>
{%endblock%}
{%block layoutblock%}
-<h1>Conference Emails</h1>
-<form method="post" action=".">{%csrf_token%}
-<table class="mailform">
-<tr>
- <th>Include</th>
- <td id="include_td">
+<h1>Send conference email</h1>
+<form class="form-horizontal" method="post" action=".">{%csrf_token%}
+<div class="form-group">
+ <label class="control-label col-lg-3">Include:</label>
+ <div class="col-lg-9 controls" id="include_div">
<button id="include_btn" class="btn btn-xs" style="float:left" onclick="return addNewFilter('include')"><span class="glyphicon glyphicon-plus-sign"></span></button>
- </td>
-</tr>
-<tr>
- <th>Exclude</th>
- <td id="exclude_td">
+ </div>
+</div>
+
+<div class="form-group">
+ <label class="control-label col-lg-3">Exclude:</label>
+ <div class="col-lg-9 controls" id="exclude_div">
<button id="exclude_btn" class="btn btn-xs" style="float:left" onclick="return addNewFilter('exclude')"><span class="glyphicon glyphicon-plus-sign"></span></button>
- </td>
-</tr>
-{{form.as_table}}
-</table>
-<input type="submit" value="Send mail" onClick="return submit_form()">
+ </div>
+</div>
+
+{%for field in form%}
+{%include "confreg/admin_backend_form_field.html"%}
+{%endfor%}
+
+<input class="btn btn-default" type="submit" value="Send mail" onClick="return submit_form()">
</form>
+
{%if recipients%}
<p>
Mail will be sent to the following {{recipients.all.count}} recipients: