1 {% extends 'elements/list.html.twig' %}
3 {% set basic_table = true %}
7 'name': 'payments_filter',
13 'name': "contributions",
14 'args': {"type": "transactions"}
19 <form action="{{ url_for("payments_filter", {"type": "transactions"}) }}" method="post" class="ui form filters">
20 <div class="ui secondary yellow segment">
21 <div class="two fields">
22 <div class="two fields">
24 <label for="start_date_filter">{{ _T("Show transactions since") }}</label>
25 <div class="ui calendar" id="contrib-rangestart">
26 <div class="ui input left icon">
27 <i class="calendar icon"></i>
28 <input placeholder="{{ _T("(yyyy-mm-dd format)") }}" type="text" name="start_date_filter" id="start_date_filter" maxlength="10" size="10" value="{filters.start_date_filter}"/>
33 <label for="end_date_filter">{{ _T("until") }}</label>
34 <div class="ui calendar" id="contrib-rangeend">
35 <div class="ui input left icon">
36 <i class="calendar icon"></i>
37 <input placeholder="{{ _T("(yyyy-mm-dd format)") }}" type="text" name="end_date_filter" id="end_date_filter" maxlength="10" size="10" value="{filters.end_date_filter}"/>
43 <div class="ui right aligned basic fitted segment field flexend">
44 <button type="submit" class="tooltip action ui labeled icon primary button" title="{{ _T("Apply filters") }}" name="filter">
45 <i class="search icon"></i>
48 <button type="submit" name="clear_filter" class="tooltip ui labeled icon button" title="{{ _T("Reset all filters to defaults") }}">
49 <i class="trash alt red icon" aria-hidden="true"></i>
50 {{ _T("Clear filter") }}
55 {% if member is defined %}
56 {% if login.isAdmin() or login.isStaff() or member.canShow(login) %}
57 <div class="ui compact vertically fitted segment">
58 <div class="ui horizontal list">
59 <span class="ui primary ribbon label">
60 {% if login.isAdmin() or login.isStaff() or member.hasChildren() %}
62 href="{{ url_for("contributions", {"type": "transactions", "option": "member", "value": "all"}) }}"
64 <i class="icon times tooltip"></i>
65 <span class="ui special popup">{{ _T("Show all members transactions") }}</span>
69 {{ member.sname }}{% if not member.isActive() %} ({{ _T("Inactive") }}){% endif %}
71 {% if login.isAdmin() or login.isStaff() %}
73 <a href="{{ url_for("member", {"id": member.id}) }}" class="ui tiny button">{{ _T("See member profile") }}</a>
76 <a href="{{ url_for("addTransaction") }}?id_adh={{ member.id }}" class="ui tiny button">{{ _T("Add a transaction") }}</a>
82 {% include "components/forms/csrf.html.twig" %}
88 'label': _Tn("%count transaction", "%count transactions", nb)|replace({"%count": nb}),
90 'name': 'payments_filter',
92 'type': 'transactions'
99 {% block infoline_actions %}
100 {% if login.isAdmin() or login.isStaff() %}
102 class="ui tiny labeled icon button"
103 href="{{ url_for("addTransaction") }}"
105 <i class="ui plus circle green icon" aria-hidden="true"></i>
106 {{ _T("Add a transaction") }}
113 {'label': '#', 'order': constant("Galette\\Filters\\TransactionsList::ORDERBY_ID")},
114 {'label': _T("Date"), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_DATE")}
117 {% if ((login.isAdmin() or login.isStaff()) and member is not defined) or pmember is defined %}
118 {% set columns = columns|merge([{'label': _T("Member"), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_MEMBER")}]) %}
121 {% set columns = columns|merge([
122 {'label': _T("Description")}
125 {% if login.isAdmin() or login.isStaff() %}
126 {% set columns = columns|merge([
127 {'label': _T("Originator")}
131 {% set columns = columns|merge([
132 {'label': _T('Amount'), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_AMOUNT")}
139 {% for ordre, transaction in list %}
140 {% set mid = transaction.member %}
141 {% set cclass = transaction.getRowClass() %}
143 <td class="{{ cclass }}" data-scope="row">
144 {% if preferences.pref_show_id %}
147 {{ ordre + 1 + (filters.current_page - 1) * numrows }}
149 <span class="displaynone">
150 <a href="{{ url_for("editTransaction", {"id": transaction.id}) }}">
151 {{ _T("Transaction %id")|replace({"%id": transaction.id}) }}
155 <td class="{{ cclass }}" data-title="{{ _T("Date") }}">{{ transaction.date }}</td>
156 {% if ((login.isAdmin() or login.isStaff()) and member is not defined) or pmember is defined %}
157 <td class="{{ cclass }}" data-title="{{ _T("Member") }}">
158 {% if member is defined %}
159 {% set mname = member.sname %}
161 {% set mname = memberName({id: mid}) %}
163 {% if filters.filtre_cotis_adh == "" %}
165 href="{{ url_for("contributions", {"type": "transactions", "option": "member", "value": mid}) }}"
166 title="{{ _T("Show only '%name' transactions")|replace({"%name": mname}) }}"
168 <i class="filter grey small icon"></i>
172 href="{{ url_for("member", {"id": mid}) }}"
173 title="{{ _T("Show '%name' card")|replace({"%name": mname}) }}"
175 {% if member is defined %}{{ member.sname }}{% else %}{{ memberName({"id": mid}) }}{% endif %}
179 <td class="{{ cclass }}" data-title="{{ _T("Description") }}">{{ transaction.description|escape }}</td>
180 {% if login.isAdmin() or login.isStaff() %}
181 <td class="{{ cclass }}" data-title="{{ _T("Originator") }}">
182 {% if filters.filtre_cotis_adh == "" %}
183 <a href="{{ url_for("contributions", {"type": "transactions", "option": "member", "value": mid}) }}">
184 {% if member is defined %}{{ member.sname }}{% else %}{{ memberName({"id": mid}) }}{% endif %}
187 <a href="{{ url_for("member", {"id": mid}) }}">
188 {% if member is defined %}{{ member.sname }}{% else %}{{ memberName({"id": mid}) }}{% endif %}
193 <td class="actions_row {{ cclass }}" data-title="{{ _T("Amount") }}">{{ transaction.amount }}</td>
194 {% if login.isAdmin() or login.isStaff() %}
195 <td class="{{ cclass }} center">
197 href="{{ url_for("editTransaction", {"id": transaction.id}) }}"
200 <i class="ui edit icon tooltip"></i>
201 <span class="ui special popup">{{ _T("Edit transaction #%id")|replace({"%id": transaction.id}) }}</span>
204 href="{{ url_for("removeContribution", {"type": "transactions", "id": transaction.id}) }}"
207 <i class="ui trash red icon tooltip"></i>
208 <span class="ui special popup">{{ _T("Remove transaction #%id")|replace({"%id": transaction.id}) }}</span>
214 <tr><td colspan="{% if login.isAdmin() or login.isStaff() %}7{% else %}5{% endif %}" class="emptylist">{{ _T("no transaction") }}</td></tr>
219 <div id="legende" title="{{ _T("Legend") }}" class="ui modal">
220 <div class="header">{{ _T("Legend") }}</div>
221 <div class="content">
222 <table class="ui stripped table">
224 <th class="transaction-normal color-sample"><i class="ui icon"> </i></th>
225 <td class="back">{{ _T("Completely dispatched transaction") }}</td>
228 <th class="transaction-uncomplete color-sample"><i class="ui icon"> </i></th>
229 <td class="back">{{ _T("Uncomplete dispatched transaction") }}</td>
233 <div class="actions"><div class="ui labeled icon deny button"><i class="times icon"></i> {{ _T("Close") }}</div></div>
237 {% block javascripts %}
238 <script type="text/javascript">
240 var _checklinks = '<div class="checkboxes ui basic horizontal segments"><div class="ui basic right aligned fitted segment"><a href="#" class="show_legend ui blue tertiary button">{{ _T("Show legend")|e('js') }}</a></div></div>';
241 $('.listing').before(_checklinks);
242 $('.listing').after(_checklinks);
244 //$('#table_footer').parent().before('<td class="right" colspan="{% if (login.isAdmin() or login.isStaff()) and member is not defined %}9{% elseif login.isAdmin() or login.isStaff() %}8{% else %}7{% endif %}"><a href="#" class="show_legend">{{ _T("Show legend") }}</a></td>');
248 {% include "elements/js/removal.js.twig" with {
249 single_action: "true"