1 {% extends 'elements/list.html.twig' %}
3 {% set nb = history.getCount() %}
13 'label': _Tn("%count entry", "%count entries", history.getCount())|replace({"%count": history.getCount()}),
15 'name': 'mailings_filter'
21 {% block infoline_actions %}
23 class="action ui tiny labeled icon button"
24 href="{{ url_for('mailing') }}?mailing_new=true"
26 <i class="plus circle green icon"></i>
27 {{ _T('Create new mailing') }}
34 {'label': _T("Date"), 'order': constant("Galette\\Filters\\MailingsList::ORDERBY_DATE")},
35 {'label': _T('Sender'), 'order': constant("Galette\\Filters\\MailingsList::ORDERBY_SENDER")},
36 {'label': _T('Recipients')},
37 {'label': _T('Subject'), 'order': constant("Galette\\Filters\\MailingsList::ORDERBY_SUBJECT")},
38 {'label': _T('Att.')},
39 {'label': _T("Sent"), 'order': constant("Galette\\Filters\\MailingsList::ORDERBY_SENT")}
45 <form action="{{ url_for('mailings_filter') }}" method="post" class="ui form filters">
46 <div class="ui secondary yellow segment">
47 <div class="three fields">
48 <div class="two fields">
50 <label for="start_date_filter">{{ _T('since') }}</label>
51 <div class="ui calendar" id="mailings-rangestart">
52 <div class="ui input left icon">
53 <i class="calendar icon"></i>
54 <input placeholder="{{ _T('(yyyy-mm-dd format)') }}" type="text" name="start_date_filter" id="start_date_filter" maxlength="10" size="10" value="{{ history.filters.start_date_filter }}"/>
59 <label for="end_date_filter">{{ _T('until') }}</label>
60 <div class="ui calendar" id="mailings-rangeend">
61 <div class="ui input left icon">
62 <i class="calendar icon"></i>
63 <input placeholder="{{ _T('(yyyy-mm-dd format)') }}" type="text" name="end_date_filter" id="end_date_filter" maxlength="10" size="10" value="{{ history.filters.end_date_filter }}"/>
69 <label for="subject_filter">{{ _T('Subject') }}</label>
70 <input type="text" name="subject_filter" id="subject_filter" value="{{ history.filters.subject_filter }}"/>
73 <label for="sent_filter">{{ _T('Sent mailings:') }}</label>
74 <div class="inline fields">
76 <div class="ui radio checkbox">
77 <input type="radio" name="sent_filter" id="filter_dc_sent" value="{{ constant("Galette\\Core\\MailingHistory::FILTER_DC_SENT") }}"{% if history.filters.sent_filter == constant("Galette\\Core\\MailingHistory::FILTER_DC_SENT") %} checked="checked"{% endif %}>
78 <label for="filter_dc_sent" >{{ _T("Don't care") }}</label>
82 <div class="ui radio checkbox">
83 <input type="radio" name="sent_filter" id="filter_sent" value="{{ constant("Galette\\Core\\MailingHistory::FILTER_SENT") }}"{% if history.filters.sent_filter == constant("Galette\\Core\\MailingHistory::FILTER_SENT") %} checked="checked"{% endif %}>
84 <label for="filter_sent" >{{ _T('Yes') }}</label>
88 <div class="ui radio checkbox">
89 <input type="radio" name="sent_filter" id="filter_not_sent" value="{{ constant("Galette\\Core\\MailingHistory::FILTER_NOT_SENT") }}"{% if history.filters.sent_filter == constant("Galette\\Core\\MailingHistory::FILTER_NOT_SENT") %} checked="checked"{% endif %}>
90 <label for="filter_not_sent" >{{ _T('No') }}</label>
96 <div class="ui right aligned basic fitted segment field">
97 <button type="submit" class="tooltip action ui labeled icon primary button" title="{{ _T('Apply filters') }}" name="filter">
98 <i class="search icon"></i>
101 <button type="submit" name="clear_filter" class="tooltip ui labeled icon button" title="{{ _T('Reset all filters to defaults') }}">
102 <i class="trash alt red icon" aria-hidden="true"></i>
103 {{ _T('Clear filter') }}
107 {% include "components/forms/csrf.html.twig" %}
112 {% for log in logs %}
113 {% set date_format = _T('Y-m-d H:i:s') %}
115 <td data-scope="row">
116 {% if preferences.pref_show_id %}
121 <span class="displaynone">
122 {{ _T('Mailing entry %id')|replace({'%id': log.mailing_id}) }}
125 <td class="" data-title="{{ _T('Date') }}">{{ log.mailing_date|date(date_format) }}</td>
126 <td data-title="{{ _T('Sender') }}">{% if log.mailing_sender == 0 %}{{ _T('Superadmin') }}{% else %}{{ log.mailing_sender_name }}{% endif %}</td>
127 <td data-title="{{ _T('Recipients') }}">{{ log.mailing_recipients[2:2]|first }}</td>
128 <td data-title="{{ _T('Subject') }}">{{ log.mailing_subject }}</td>
129 <td class="center" data-title="{{ _T('Attachments') }}">{{ log.attachments }}</td>
130 <td class="center{% if log.mailing_sent == 1 %} use{% endif %}" data-title="{{ _T('Sent') }}">
131 {% if log.mailing_sent == 1 %}
132 <i class="ui thumbs up green icon"></i>
134 <i class="ui thumbs down red icon"></i>
137 <td class="center actions_row">
139 href="{{ url_for("mailingPreview", {"id": log.mailing_id}) }}"
142 <i class="ui eye green icon tooltip"></i>
143 <span class="ui special popup">{{ _T("Display mailing '%subject' details in preview window")|replace({'%subject': log.mailing_subject}) }}</span>
146 href="{{ url_for('mailing') }}?from={{ log.mailing_id }}"
148 <i class="ui clone blue icon tooltip"></i>
149 <span class="ui special popup">{{ _T("Use mailing '%subject' as a template for a new one")|replace({'%subject': log.mailing_subject}) }}</span>
152 href="{{ url_for("removeMailing", {"id": log.mailing_id}) }}"
155 <i class="ui trash red icon tooltip"></i>
156 <span class="ui special popup">{{ _T("Delete mailing '%subject'")|replace({'%subject': log.mailing_subject}) }}</span>
161 <tr><td colspan="8" class="emptylist">{{ _T('No sent mailing has been stored in the database yet.') }}</td></tr>
165 {% block javascripts %}
166 <script type="text/javascript">
167 {% include "elements/js/removal.js.twig" with {
168 single_action: "true"
172 $('.showdetails').click(function(){
174 url: $(this).attr('href'),
179 {% include "elements/js/loader.js.twig" with {
181 selector: ".loader_selector"
183 success: function(res){
184 _preview_dialog(res);
187 {% include "elements/js/modal.js.twig" with {
188 modal_title_twig: _T("An error occurred displaying preview :(")|e("js"),
189 modal_without_content: true,
191 modal_deny_only: true,
192 modal_cancel_text: _T("Close")|e("js"),
193 modal_classname: "redalert",
200 var _preview_dialog = function(res){
201 {% include "elements/js/modal.js.twig" with {
202 modal_title_twig: _T("Mailing preview")|e("js"),
203 modal_content: "res",
204 modal_class: "scrolling",
205 modal_deny_only: true,
206 modal_cancel_text: _T("Close")|e("js")