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" aria-hidden="true"></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" aria-hidden="true"></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" aria-hidden="true"></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 {% set member_logged_in_as = member.name ~ " " ~ member.surname ~ " (" ~ member.login ~ ")" %}
61 {% if login.isAdmin() or login.isStaff() or member.hasChildren() or (member.hasParent() and (member_logged_in_as != login.loggedInAs(true))) %}
63 href="{{ url_for("contributions", {"type": "transactions", "option": "member", "value": "all"}) }}"
65 <i class="icon times tooltip" aria-hidden="true"></i>
66 <span class="ui special popup">
67 {% if member.hasChildren() or (member.hasParent() and (member_logged_in_as != login.logged_in_as(true))) %}
68 {{ _T("Show all your transactions") }}
70 {{ _T("Show all members transactions") }}
76 {{ member.sname }}{% if not member.isActive() %} ({{ _T("Inactive") }}){% endif %}
78 {% if login.isAdmin() or login.isStaff() %}
80 <a href="{{ url_for("member", {"id": member.id}) }}" class="ui tiny button">{{ _T("See member profile") }}</a>
83 <a href="{{ url_for("addTransaction") }}?id_adh={{ member.id }}" class="ui tiny button">{{ _T("Add a transaction") }}</a>
89 {% include "components/forms/csrf.html.twig" %}
95 'label': _Tn("%count transaction", "%count transactions", nb)|replace({"%count": nb}),
97 'name': 'payments_filter',
99 'type': 'transactions'
106 {% block infoline_actions %}
107 {% if login.isAdmin() or login.isStaff() %}
109 class="ui tiny labeled icon button"
110 href="{{ url_for("addTransaction") }}"
112 <i class="ui plus circle green icon" aria-hidden="true"></i>
113 {{ _T("Add a transaction") }}
120 {'label': '#', 'order': constant("Galette\\Filters\\TransactionsList::ORDERBY_ID")},
121 {'label': _T("Date"), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_DATE")}
124 {% if ((login.isAdmin() or login.isStaff()) and member is not defined) or pmember is defined %}
125 {% set columns = columns|merge([{'label': _T("Originator"), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_MEMBER")}]) %}
128 {% set columns = columns|merge([
129 {'label': _T("Description")}
132 {% set columns = columns|merge([
133 {'label': _T('Amount'), 'order': constant("Galette\\Filters\\ContributionsList::ORDERBY_AMOUNT")}
140 {% for ordre, transaction in list %}
141 {% set mid = transaction.member %}
142 {% set cclass = transaction.getRowClass() %}
143 {% if member is defined %}
144 {% set mname = member.sname %}
146 {% set mname = memberName({id: mid}) %}
150 <td class="{{ cclass }}" data-scope="row">
151 {% if preferences.pref_show_id %}
154 {{ ordre + 1 + (filters.current_page - 1) * numrows }}
156 <span class="displaynone">
157 <a href="{{ url_for("editTransaction", {"id": transaction.id}) }}">
158 {{ _T("Transaction %id")|replace({"%id": transaction.id}) }}
162 <td class="{{ cclass }}" data-title="{{ _T("Date") }}">{{ transaction.date }}</td>
163 {% if ((login.isAdmin() or login.isStaff()) and member is not defined) or pmember is defined %}
164 <td class="{{ cclass }}" data-title="{{ _T("Member") }}">
165 {% if filters.filtre_cotis_adh == "" or filters.filtre_cotis_adh == null %}
167 href="{{ url_for("contributions", {"type": "transactions", "option": "member", "value": mid}) }}"
168 title="{{ _T("Show only '%name' transactions")|replace({"%name": mname}) }}"
170 <i class="filter grey small icon" aria-hidden="true"></i>
174 href="{{ url_for("member", {"id": mid}) }}"
175 title="{{ _T("Show '%name' card")|replace({"%name": mname}) }}"
181 <td class="{{ cclass }}" data-title="{{ _T("Description") }}">{{ transaction.description|escape }}</td>
182 <td class="actions_row {{ cclass }}" data-title="{{ _T("Amount") }}">{{ transaction.amount }}</td>
183 {% if login.isAdmin() or login.isStaff() %}
184 <td class="{{ cclass }} center">
186 href="{{ url_for("editTransaction", {"id": transaction.id}) }}"
189 <i class="ui edit icon tooltip" aria-hidden="true"></i>
190 <span class="ui special popup">{{ _T("Edit transaction #%id")|replace({"%id": transaction.id}) }}</span>
193 href="{{ url_for("removeContribution", {"type": "transactions", "id": transaction.id}) }}"
196 <i class="ui trash red icon tooltip" aria-hidden="true"></i>
197 <span class="ui special popup">{{ _T("Remove transaction #%id")|replace({"%id": transaction.id}) }}</span>
203 <tr><td colspan="{% if login.isAdmin() or login.isStaff() %}7{% else %}5{% endif %}" class="emptylist">{{ _T("no transaction") }}</td></tr>
208 <div id="legende" title="{{ _T("Legend") }}" class="ui modal">
209 <div class="header">{{ _T("Legend") }}</div>
210 <div class="content">
211 <table class="ui stripped table">
213 <th class="transaction-normal color-sample"><i class="ui icon"> </i></th>
214 <td class="back">{{ _T("Completely dispatched transaction") }}</td>
217 <th class="transaction-uncomplete color-sample"><i class="ui icon"> </i></th>
218 <td class="back">{{ _T("Uncomplete dispatched transaction") }}</td>
222 <div class="actions"><div class="ui labeled icon deny button"><i class="times icon" aria-hidden="true"></i> {{ _T("Close") }}</div></div>
226 {% block javascripts %}
227 <script type="text/javascript">
229 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>';
230 $('.listing').before(_checklinks);
231 $('.listing').after(_checklinks);
233 //$('#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>');
237 {% include "elements/js/removal.js.twig" with {
238 single_action: "true"