Merge branch 'Tresorerie' into 'master'

Enhanced display in journals

See merge request ae/Sith!123
This commit is contained in:
Skia 2017-10-09 17:21:37 +02:00
commit 47bace2057
16 changed files with 719 additions and 657 deletions

View File

@ -5,21 +5,23 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
{% trans %}Accounting types{% endtrans %} <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
</p> {% trans %}Accounting types{% endtrans %}
<hr> </p>
<p><a href="{{ url('accounting:type_new') }}">{% trans %}New accounting type{% endtrans %}</a></p> <hr>
{% if accountingtype_list %} <p><a href="{{ url('accounting:type_new') }}">{% trans %}New accounting type{% endtrans %}</a></p>
<h3>{% trans %}Accounting type list{% endtrans %}</h3> {% if accountingtype_list %}
<ul> <h3>{% trans %}Accounting type list{% endtrans %}</h3>
{% for a in accountingtype_list %} <ul>
<li><a href="{{ url('accounting:type_edit', type_id=a.id) }}">{{ a }}</a></li> {% for a in accountingtype_list %}
{% endfor %} <li><a href="{{ url('accounting:type_edit', type_id=a.id) }}">{{ a }}</a></li>
</ul> {% endfor %}
{% else %} </ul>
{% trans %}There is no types in this website.{% endtrans %} {% else %}
{% endif %} {% trans %}There is no types in this website.{% endtrans %}
{% endif %}
</div>
{% endblock %} {% endblock %}

View File

@ -5,32 +5,33 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
{{ object.name }} <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
</p> {{ object.name }}
<hr> </p>
<h2>{% trans %}Bank account: {% endtrans %}{{ object.name }}</h2> <hr>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) and not object.club_accounts.exists() %} <h2>{% trans %}Bank account: {% endtrans %}{{ object.name }}</h2>
<a href="{{ url('accounting:bank_delete', b_account_id=object.id) }}">{% trans %}Delete{% endtrans %}</a> {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) and not object.club_accounts.exists() %}
{% endif %} <a href="{{ url('accounting:bank_delete', b_account_id=object.id) }}">{% trans %}Delete{% endtrans %}</a>
<h4>{% trans %}Infos{% endtrans %}</h4> {% endif %}
<ul> <h4>{% trans %}Infos{% endtrans %}</h4>
<li><strong>{% trans %}IBAN: {% endtrans %}</strong>{{ object.iban }}</li> <ul>
<li><strong>{% trans %}Number: {% endtrans %}</strong>{{ object.number }}</li> <li><strong>{% trans %}IBAN: {% endtrans %}</strong>{{ object.iban }}</li>
</ul> <li><strong>{% trans %}Number: {% endtrans %}</strong>{{ object.number }}</li>
<p><a href="{{ url('accounting:club_new') }}?parent={{ object.id }}">{% trans %}New club account{% endtrans %}</a></p> </ul>
<ul> <p><a href="{{ url('accounting:club_new') }}?parent={{ object.id }}">{% trans %}New club account{% endtrans %}</a></p>
{% for c in object.club_accounts.all() %} <ul>
<li><a href="{{ url('accounting:club_details', c_account_id=c.id) }}">{{ c }}</a> {% for c in object.club_accounts.all() %}
- <a href="{{ url('accounting:club_edit', c_account_id=c.id) }}">{% trans %}Edit{% endtrans %}</a> <li><a href="{{ url('accounting:club_details', c_account_id=c.id) }}">{{ c }}</a>
{% if c.journals.count() == 0 %} - <a href="{{ url('accounting:club_edit', c_account_id=c.id) }}">{% trans %}Edit{% endtrans %}</a>
- <a href="{{ url('accounting:club_delete', c_account_id=c.id) }}">{% trans %}Delete{% endtrans %}</a> {% if c.journals.count() == 0 %}
{% endif %} - <a href="{{ url('accounting:club_delete', c_account_id=c.id) }}">{% trans %}Delete{% endtrans %}</a>
</li> {% endif %}
{% endfor %} </li>
</ul> {% endfor %}
</ul>
</div>
{% endblock %} {% endblock %}

View File

@ -5,26 +5,28 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h4> <div id="accounting">
{% trans %}Accounting{% endtrans %} <h4>
</h4> {% trans %}Accounting{% endtrans %}
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %} </h4>
<p><a href="{{ url('accounting:simple_type_list') }}">{% trans %}Manage simplified types{% endtrans %}</a></p> {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
<p><a href="{{ url('accounting:type_list') }}">{% trans %}Manage accounting types{% endtrans %}</a></p> <p><a href="{{ url('accounting:simple_type_list') }}">{% trans %}Manage simplified types{% endtrans %}</a></p>
<p><a href="{{ url('accounting:bank_new') }}">{% trans %}New bank account{% endtrans %}</a></p> <p><a href="{{ url('accounting:type_list') }}">{% trans %}Manage accounting types{% endtrans %}</a></p>
{% endif %} <p><a href="{{ url('accounting:bank_new') }}">{% trans %}New bank account{% endtrans %}</a></p>
{% if bankaccount_list %} {% endif %}
<h3>{% trans %}Bank account list{% endtrans %}</h3> {% if bankaccount_list %}
<ul> <h3>{% trans %}Bank account list{% endtrans %}</h3>
{% for a in object_list %} <ul>
<li><a href="{{ url('accounting:bank_details', b_account_id=a.id) }}">{{ a }}</a> {% for a in object_list %}
- <a href="{{ url('accounting:bank_edit', b_account_id=a.id) }}">{% trans %}Edit{% endtrans %}</a> <li><a href="{{ url('accounting:bank_details', b_account_id=a.id) }}">{{ a }}</a>
</li> - <a href="{{ url('accounting:bank_edit', b_account_id=a.id) }}">{% trans %}Edit{% endtrans %}</a>
{% endfor %} </li>
</ul> {% endfor %}
{% else %} </ul>
{% trans %}There is no accounts in this website.{% endtrans %} {% else %}
{% endif %} {% trans %}There is no accounts in this website.{% endtrans %}
{% endif %}
</div>
{% endblock %} {% endblock %}

View File

@ -5,62 +5,64 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
<a href="{{ url('accounting:bank_details', b_account_id=object.bank_account.id) }}">{{object.bank_account }}</a> > <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
{{ object }} <a href="{{ url('accounting:bank_details', b_account_id=object.bank_account.id) }}">{{object.bank_account }}</a> >
</p> {{ object }}
<hr> </p>
<h2>{% trans %}Club account:{% endtrans %} {{ object.name }}</h2> <hr>
{% if user.is_root and not object.journals.exists() %} <h2>{% trans %}Club account:{% endtrans %} {{ object.name }}</h2>
<a href="{{ url('accounting:club_delete', c_account_id=object.id) }}">{% trans %}Delete{% endtrans %}</a> {% if user.is_root and not object.journals.exists() %}
{% endif %} <a href="{{ url('accounting:club_delete', c_account_id=object.id) }}">{% trans %}Delete{% endtrans %}</a>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %} {% endif %}
<p><a href="{{ url('accounting:label_new') }}?parent={{ object.id }}">{% trans %}New label{% endtrans %}</a></p> {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
{% endif %} <p><a href="{{ url('accounting:label_new') }}?parent={{ object.id }}">{% trans %}New label{% endtrans %}</a></p>
<p><a href="{{ url('accounting:label_list', clubaccount_id=object.id) }}">{% trans %}Label list{% endtrans %}</a></p> {% endif %}
{% if not object.has_open_journal() %} <p><a href="{{ url('accounting:label_list', clubaccount_id=object.id) }}">{% trans %}Label list{% endtrans %}</a></p>
<p><a href="{{ url('accounting:journal_new') }}?parent={{ object.id }}">{% trans %}New journal{% endtrans %}</a></p> {% if not object.has_open_journal() %}
{% else %} <p><a href="{{ url('accounting:journal_new') }}?parent={{ object.id }}">{% trans %}New journal{% endtrans %}</a></p>
<p>{% trans %}You can not create new journal while you still have one opened{% endtrans %}</p> {% else %}
{% endif %} <p>{% trans %}You can not create new journal while you still have one opened{% endtrans %}</p>
<table> {% endif %}
<thead> <table>
<tr> <thead>
<td>{% trans %}Name{% endtrans %}</td> <tr>
<td>{% trans %}Start{% endtrans %}</td> <td>{% trans %}Name{% endtrans %}</td>
<td>{% trans %}End{% endtrans %}</td> <td>{% trans %}Start{% endtrans %}</td>
<td>{% trans %}Amount{% endtrans %}</td> <td>{% trans %}End{% endtrans %}</td>
<td>{% trans %}Effective amount{% endtrans %}</td> <td>{% trans %}Amount{% endtrans %}</td>
<td>{% trans %}Closed{% endtrans %}</td> <td>{% trans %}Effective amount{% endtrans %}</td>
<td>{% trans %}Actions{% endtrans %}</td> <td>{% trans %}Closed{% endtrans %}</td>
</tr> <td>{% trans %}Actions{% endtrans %}</td>
</thead> </tr>
<tbody> </thead>
{% for j in object.journals.all() %} <tbody>
<tr> {% for j in object.journals.all() %}
<td>{{ j.name }}</td> <tr>
<td>{{ j.start_date }}</td> <td>{{ j.name }}</td>
{% if j.end_date %} <td>{{ j.start_date }}</td>
<td>{{ j.end_date }}</td> {% if j.end_date %}
{% else %} <td>{{ j.end_date }}</td>
<td> - </td> {% else %}
{% endif %} <td> - </td>
<td>{{ j.amount }} €</td>
<td>{{ j.effective_amount }} €</td>
{% if j.closed %}
<td>{% trans %}Yes{% endtrans %}</td>
{% else %}
<td>{% trans %}No{% endtrans %}</td>
{% endif %}
<td> <a href="{{ url('accounting:journal_details', j_id=j.id) }}">{% trans %}View{% endtrans %}</a>
<a href="{{ url('accounting:journal_edit', j_id=j.id) }}">{% trans %}Edit{% endtrans %}</a>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) and j.operations.count() == 0 %}
<a href="{{ url('accounting:journal_delete', j_id=j.id) }}">{% trans %}Delete{% endtrans %}</a>
{% endif %} {% endif %}
</td> <td>{{ j.amount }} €</td>
</tr> <td>{{ j.effective_amount }} €</td>
{% endfor %} {% if j.closed %}
</tbody> <td>{% trans %}Yes{% endtrans %}</td>
</table> {% else %}
<td>{% trans %}No{% endtrans %}</td>
{% endif %}
<td> <a href="{{ url('accounting:journal_details', j_id=j.id) }}">{% trans %}View{% endtrans %}</a>
<a href="{{ url('accounting:journal_edit', j_id=j.id) }}">{% trans %}Edit{% endtrans %}</a>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) and j.operations.count() == 0 %}
<a href="{{ url('accounting:journal_delete', j_id=j.id) }}">{% trans %}Delete{% endtrans %}</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %} {% endblock %}

View File

@ -5,24 +5,25 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) or user.is_root %} <div id="accounting">
<p><a href="{{ url('accounting:co_new') }}">{% trans %}Create new company{% endtrans %}</a></p> {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) or user.is_root %}
{% endif %} <p><a href="{{ url('accounting:co_new') }}">{% trans %}Create new company{% endtrans %}</a></p>
{% endif %}
</br>
<table>
<thead>
<tr>
<td>{% trans %}Companies{% endtrans %}</td>
</tr>
</thead>
<tbody>
{% for o in object_list %}
<tr>
<td><a href="{{ url('accounting:co_edit', co_id=o.id) }}">{{ o.get_display_name() }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</br>
<table>
<thead>
<tr>
<td>{% trans %}Companies{% endtrans %}</td>
</tr>
</thead>
<tbody>
{% for o in object_list %}
<tr>
<td><a href="{{ url('accounting:co_edit', co_id=o.id) }}">{{ o.get_display_name() }}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %} {% endblock %}

View File

@ -5,88 +5,96 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
<a href="{{ url('accounting:bank_details', b_account_id=object.club_account.bank_account.id) }}">{{object.club_account.bank_account }}</a> > <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
<a href="{{ url('accounting:club_details', c_account_id=object.club_account.id) }}">{{ object.club_account }}</a> > <a href="{{ url('accounting:bank_details', b_account_id=object.club_account.bank_account.id) }}">{{object.club_account.bank_account }}</a> >
{{ object.name }} <a href="{{ url('accounting:club_details', c_account_id=object.club_account.id) }}">{{ object.club_account }}</a> >
</p> {{ object.name }}
<hr> </p>
<h2>{% trans %}General journal:{% endtrans %} {{ object.name }}</h2> <hr>
<p><a href="{{ url('accounting:label_new') }}?parent={{ object.club_account.id }}">{% trans %}New label{% endtrans %}</a></p> <h2>{% trans %}General journal:{% endtrans %} {{ object.name }}</h2>
<p><a href="{{ url('accounting:label_list', clubaccount_id=object.club_account.id) }}">{% trans %}Label list{% endtrans %}</a></p> <p><a href="{{ url('accounting:label_new') }}?parent={{ object.club_account.id }}">{% trans %}New label{% endtrans %}</a></p>
<p><a href="{{ url('accounting:co_list') }}">{% trans %}Company list{% endtrans %}</a></p> <p><a href="{{ url('accounting:label_list', clubaccount_id=object.club_account.id) }}">{% trans %}Label list{% endtrans %}</a></p>
<p><strong>{% trans %}Amount: {% endtrans %}</strong>{{ object.amount }} € - <p><a href="{{ url('accounting:co_list') }}">{% trans %}Company list{% endtrans %}</a></p>
<strong>{% trans %}Effective amount: {% endtrans %}</strong>{{ object.effective_amount }} €</p> <p><strong>{% trans %}Amount: {% endtrans %}</strong>{{ object.amount }} € -
{% if object.closed %} <strong>{% trans %}Effective amount: {% endtrans %}</strong>{{ object.effective_amount }} €</p>
<p>{% trans %}Journal is closed, you can not create operation{% endtrans %}</p> {% if object.closed %}
{% else %} <p>{% trans %}Journal is closed, you can not create operation{% endtrans %}</p>
<p><a href="{{ url('accounting:op_new', j_id=object.id) }}">{% trans %}New operation{% endtrans %}</a></p> {% else %}
</br> <p><a href="{{ url('accounting:op_new', j_id=object.id) }}">{% trans %}New operation{% endtrans %}</a></p>
{% endif %} </br>
<table> {% endif %}
<thead> <div class="journal-table">
<tr> <table>
<td>{% trans %}Nb{% endtrans %}</td> <thead>
<td>{% trans %}Date{% endtrans %}</td> <tr>
<td>{% trans %}Label{% endtrans %}</td> <td>{% trans %}Nb{% endtrans %}</td>
<td>{% trans %}Amount{% endtrans %}</td> <td>{% trans %}Date{% endtrans %}</td>
<td>{% trans %}Payment mode{% endtrans %}</td> <td>{% trans %}Label{% endtrans %}</td>
<td>{% trans %}Target{% endtrans %}</td> <td>{% trans %}Amount{% endtrans %}</td>
<td>{% trans %}Code{% endtrans %}</td> <td>{% trans %}Payment mode{% endtrans %}</td>
<td>{% trans %}Nature{% endtrans %}</td> <td>{% trans %}Target{% endtrans %}</td>
<td>{% trans %}Done{% endtrans %}</td> <td>{% trans %}Code{% endtrans %}</td>
<td>{% trans %}Comment{% endtrans %}</td> <td>{% trans %}Nature{% endtrans %}</td>
<td>{% trans %}File{% endtrans %}</td> <td>{% trans %}Done{% endtrans %}</td>
<td>{% trans %}Actions{% endtrans %}</td> <td>{% trans %}Comment{% endtrans %}</td>
<td>{% trans %}PDF{% endtrans %}</td> <td>{% trans %}File{% endtrans %}</td>
</tr> <td>{% trans %}Actions{% endtrans %}</td>
</thead> <td>{% trans %}PDF{% endtrans %}</td>
<tbody> </tr>
{% for o in object.operations.all() %} </thead>
<tr> <tbody>
<td>{{ o.number }}</td> {% for o in object.operations.all() %}
<td>{{ o.date }}</td> <tr>
<td>{{ o.label or "" }}</td> <td>{{ o.number }}</td>
<td>{{ o.amount }} €</td> <td>{{ o.date }}</td>
<td>{{ o.get_mode_display() }}</td> <td>{{ o.label or "" }}</td>
{% if o.target_type == "OTHER" %} {% if o.accounting_type.movement_type == "DEBIT" %}
<td>{{ o.target_label }}</td> <td class="neg-amount">&nbsp;{{ o.amount }}&nbsp;€</td>
{% else %} {% else %}
<td><a href="{{ o.target.get_absolute_url() }}">{{ o.target.get_display_name() }}</a></td> <td class="pos-amount">&nbsp;{{ o.amount }}&nbsp;€</td>
{% endif %} {% endif %}
<td>{{ o.accounting_type.code }}</td> <td>{{ o.get_mode_display() }}</td>
<td>{{ o.accounting_type.label }}</td> {% if o.target_type == "OTHER" %}
{% if o.done %} <td>{{ o.target_label }}</td>
<td>{% trans %}Yes{% endtrans %}</td> {% else %}
{% else %} <td><a href="{{ o.target.get_absolute_url() }}">{{ o.target.get_display_name() }}</a></td>
<td>{% trans %}No{% endtrans %}</td> {% endif %}
{% endif %} <td>{{ o.accounting_type.code }}</td>
<td>{{ o.remark }} <td>{{ o.accounting_type.label }}</td>
{% if not o.linked_operation and o.target_type == "ACCOUNT" and not o.target.has_open_journal() %} {% if o.done %}
<td>{% trans %}Yes{% endtrans %}</td>
{% else %}
<td>{% trans %}No{% endtrans %}</td>
{% endif %}
<td>{{ o.remark }}
{% if not o.linked_operation and o.target_type == "ACCOUNT" and not o.target.has_open_journal() %}
<p><strong>
{% trans %}Warning: this operation has no linked operation because the targeted club account has no opened journal.{% endtrans %}
</strong></p>
<p><strong> <p><strong>
{% trans %}Warning: this operation has no linked operation because the targeted club account has no opened journal.{% endtrans %} {% trans url=o.target.get_absolute_url() %}Open a journal in <a href="{{ url }}">this club account</a>, then save this operation again to make the linked operation.{% endtrans %}
</strong></p> </strong></p>
<p><strong>
{% trans url=o.target.get_absolute_url() %}Open a journal in <a href="{{ url }}">this club account</a>, then save this operation again to make the linked operation.{% endtrans %}
</strong></p>
{% endif %}
</td>
{% if o.invoice %}
<td><a href="{{ url('core:download', file_id=o.invoice.id) }}">{{ o.invoice.name }}</a></td>
{% else %}
<td>-</td>
{% endif %}
<td>
{% if o.journal.club_account.bank_account.name != "AE TI" and o.journal.club_account.bank_account.name != "TI" or user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
{% if not o.journal.closed %}
<a href="{{ url('accounting:op_edit', op_id=o.id) }}">{% trans %}Edit{% endtrans %}</a>
{% endif %} {% endif %}
</td>
{% if o.invoice %}
<td><a href="{{ url('core:download', file_id=o.invoice.id) }}">{{ o.invoice.name }}</a></td>
{% else %}
<td>-</td>
{% endif %} {% endif %}
</td> <td>
<td><a href="{{ url('accounting:op_pdf', op_id=o.id) }}">{% trans %}Generate{% endtrans %}</a></td> {% if o.journal.club_account.bank_account.name != "AE TI" and o.journal.club_account.bank_account.name != "TI" or user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
</tr> {% if not o.journal.closed %}
{% endfor %} <a href="{{ url('accounting:op_edit', op_id=o.id) }}">{% trans %}Edit{% endtrans %}</a>
</tbody> {% endif %}
</table> {% endif %}
</td>
<td><a href="{{ url('accounting:op_pdf', op_id=o.id) }}">{% trans %}Generate{% endtrans %}</a></td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
{% endblock %} {% endblock %}

View File

@ -6,27 +6,28 @@
{% block content %} {% block content %}
<h3>{% trans %}Accounting statement: {% endtrans %} {{ object.name }}</h3> <div id="accounting">
<h3>{% trans %}Accounting statement: {% endtrans %} {{ object.name }}</h3>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>{% trans %}Operation type{% endtrans %}</td> <td>{% trans %}Operation type{% endtrans %}</td>
<td>{% trans %}Sum{% endtrans %}</td> <td>{% trans %}Sum{% endtrans %}</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for k,v in statement.items() %} {% for k,v in statement.items() %}
<tr> <tr>
<td>{{ k }}</td> <td>{{ k }}</td>
<td>{{ v }}</td> <td>{{ v }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<p><strong>{% trans %}Amount: {% endtrans %}</strong>{{ object.amount }} €</p>
<p><strong>{% trans %}Effective amount: {% endtrans %}</strong>{{ object.effective_amount }} €</p>
<p><strong>{% trans %}Amount: {% endtrans %}</strong>{{ object.amount }} €</p>
<p><strong>{% trans %}Effective amount: {% endtrans %}</strong>{{ object.effective_amount }} €</p>
</div>
{% endblock %} {% endblock %}

View File

@ -5,52 +5,53 @@
{% endblock %} {% endblock %}
{% macro display_tables(dict) %} {% macro display_tables(dict) %}
<h6>{% trans %}Credit{% endtrans %}</h6> <div id="accounting">
<table> <h6>{% trans %}Credit{% endtrans %}</h6>
<thead> <table>
<tr> <thead>
<td>{% trans %}Nature of operation{% endtrans %}</td> <tr>
<td>{% trans %}Sum{% endtrans %}</td> <td>{% trans %}Nature of operation{% endtrans %}</td>
</tr> <td>{% trans %}Sum{% endtrans %}</td>
</thead> </tr>
<tbody> </thead>
{% for k,v in dict['CREDIT'].items() %} <tbody>
<tr> {% for k,v in dict['CREDIT'].items() %}
<td>{{ k }}</td> <tr>
<td>{{ v }}</td> <td>{{ k }}</td>
</tr> <td>{{ v }}</td>
{% endfor %} </tr>
</tbody> {% endfor %}
</table> </tbody>
{% trans %}Total: {% endtrans %}{{ dict['CREDIT_sum'] }} </table>
{% trans %}Total: {% endtrans %}{{ dict['CREDIT_sum'] }}
<h6>{% trans %}Debit{% endtrans %}</h6> <h6>{% trans %}Debit{% endtrans %}</h6>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>{% trans %}Nature of operation{% endtrans %}</td> <td>{% trans %}Nature of operation{% endtrans %}</td>
<td>{% trans %}Sum{% endtrans %}</td> <td>{% trans %}Sum{% endtrans %}</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for k,v in dict['DEBIT'].items() %} {% for k,v in dict['DEBIT'].items() %}
<tr> <tr>
<td>{{ k }}</td> <td>{{ k }}</td>
<td>{{ v }}</td> <td>{{ v }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
{% trans %}Total: {% endtrans %}{{ dict['DEBIT_sum'] }} {% trans %}Total: {% endtrans %}{{ dict['DEBIT_sum'] }}
{% endmacro %} {% endmacro %}
{% block content %} {% block content %}
<h3>{% trans %}Statement by nature: {% endtrans %} {{ object.name }}</h3> <h3>{% trans %}Statement by nature: {% endtrans %} {{ object.name }}</h3>
{% for k,v in statement.items() %}
<h4 style="background: lightblue; padding: 4px;">{{ k }} : {{ v['CREDIT_sum'] - v['DEBIT_sum'] }}</h4>
{{ display_tables(v) }}
<hr>
{% endfor %}
{% for k,v in statement.items() %}
<h4 style="background: lightblue; padding: 4px;">{{ k }} : {{ v['CREDIT_sum'] - v['DEBIT_sum'] }}</h4>
{{ display_tables(v) }}
<hr>
{% endfor %}
</div>
{% endblock %} {% endblock %}

View File

@ -6,62 +6,63 @@
{% block content %} {% block content %}
<h3>{% trans %}Statement by person: {% endtrans %} {{ object.name }}</h3> <div id="accounting">
<h3>{% trans %}Statement by person: {% endtrans %} {{ object.name }}</h3>
<h4>{% trans %}Credit{% endtrans %}</h4> <h4>{% trans %}Credit{% endtrans %}</h4>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>{% trans %}Target of the operation{% endtrans %}</td> <td>{% trans %}Target of the operation{% endtrans %}</td>
<td>{% trans %}Sum{% endtrans %}</td> <td>{% trans %}Sum{% endtrans %}</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for key in credit_statement.keys() %} {% for key in credit_statement.keys() %}
<tr> <tr>
{% if key.target_type == "OTHER" %} {% if key.target_type == "OTHER" %}
<td>{{ o.target_label }}</td> <td>{{ o.target_label }}</td>
{% elif key %} {% elif key %}
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td> <td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
{% else %} {% else %}
<td></td> <td></td>
{% endif %} {% endif %}
<td>{{ credit_statement[key] }}</td> <td>{{ credit_statement[key] }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<p>Total : {{ total_credit }}</p> <p>Total : {{ total_credit }}</p>
<h4>{% trans %}Debit{% endtrans %}</h4> <h4>{% trans %}Debit{% endtrans %}</h4>
<table> <table>
<thead> <thead>
<tr> <tr>
<td>{% trans %}Target of the operation{% endtrans %}</td> <td>{% trans %}Target of the operation{% endtrans %}</td>
<td>{% trans %}Sum{% endtrans %}</td> <td>{% trans %}Sum{% endtrans %}</td>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% for key in debit_statement.keys() %} {% for key in debit_statement.keys() %}
<tr> <tr>
{% if key.target_type == "OTHER" %} {% if key.target_type == "OTHER" %}
<td>{{ o.target_label }}</td> <td>{{ o.target_label }}</td>
{% elif key %} {% elif key %}
<td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td> <td><a href="{{ key.get_absolute_url() }}">{{ key.get_display_name() }}</a></td>
{% else %} {% else %}
<td></td> <td></td>
{% endif %} {% endif %}
<td>{{ debit_statement[key] }}</td> <td>{{ debit_statement[key] }}</td>
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<p>Total : {{ total_debit }}</p>
<p>Total : {{ total_debit }}</p>
</div>
{% endblock %} {% endblock %}

View File

@ -5,30 +5,32 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
<a href="{{ url('accounting:bank_details', b_account_id=object.bank_account.id) }}">{{object.bank_account }}</a> > <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
<a href="{{ url('accounting:club_details', c_account_id=object.id) }}">{{ object }}</a> <a href="{{ url('accounting:bank_details', b_account_id=object.bank_account.id) }}">{{object.bank_account }}</a> >
</p> <a href="{{ url('accounting:club_details', c_account_id=object.id) }}">{{ object }}</a>
<hr> </p>
<p><a href="{{ url('accounting:club_details', c_account_id=object.id) }}">{% trans %}Back to club account{% endtrans %}</a></p> <hr>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %} <p><a href="{{ url('accounting:club_details', c_account_id=object.id) }}">{% trans %}Back to club account{% endtrans %}</a></p>
<p><a href="{{ url('accounting:label_new') }}?parent={{ object.id }}">{% trans %}New label{% endtrans %}</a></p>
{% endif %}
{% if object.labels.all() %}
<h3>{% trans %}Label list{% endtrans %}</h3>
<ul>
{% for l in object.labels.all() %}
<li><a href="{{ url('accounting:label_edit', label_id=l.id) }}">{{ l }}</a>
{% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %} {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
- <p><a href="{{ url('accounting:label_new') }}?parent={{ object.id }}">{% trans %}New label{% endtrans %}</a></p>
<a href="{{ url('accounting:label_delete', label_id=l.id) }}">{% trans %}Delete{% endtrans %}</a>
{% endif %} {% endif %}
</li> {% if object.labels.all() %}
{% endfor %} <h3>{% trans %}Label list{% endtrans %}</h3>
</ul> <ul>
{% else %} {% for l in object.labels.all() %}
{% trans %}There is no label in this club account.{% endtrans %} <li><a href="{{ url('accounting:label_edit', label_id=l.id) }}">{{ l }}</a>
{% endif %} {% if user.is_in_group(settings.SITH_GROUP_ACCOUNTING_ADMIN_ID) %}
-
<a href="{{ url('accounting:label_delete', label_id=l.id) }}">{% trans %}Delete{% endtrans %}</a>
{% endif %}
</li>
{% endfor %}
</ul>
{% else %}
{% trans %}There is no label in this club account.{% endtrans %}
{% endif %}
</div>
{% endblock %} {% endblock %}

View File

@ -5,107 +5,111 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
<a href="{{ url('accounting:bank_details', b_account_id=object.club_account.bank_account.id) }}">{{object.club_account.bank_account }}</a> > <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
<a href="{{ url('accounting:club_details', c_account_id=object.club_account.id) }}">{{ object.club_account }}</a> > <a href="{{ url('accounting:bank_details', b_account_id=object.club_account.bank_account.id) }}">{{object.club_account.bank_account }}</a> >
<a href="{{ url('accounting:journal_details', j_id=object.id) }}">{{ object.name }}</a> > <a href="{{ url('accounting:club_details', c_account_id=object.club_account.id) }}">{{ object.club_account }}</a> >
{% trans %}Edit operation{% endtrans %} <a href="{{ url('accounting:journal_details', j_id=object.id) }}">{{ object.name }}</a> >
</p> {% trans %}Edit operation{% endtrans %}
<hr>
<h2>{% trans %}Edit operation{% endtrans %}</h2>
<form action="" method="post">
{% csrf_token %}
{{ form.non_field_errors() }}
{{ form.journal }}
{{ form.target_id }}
<p>{{ form.amount.errors }}<label for="{{ form.amount.name }}">{{ form.amount.label }}</label> {{ form.amount }}</p>
<p>{{ form.remark.errors }}<label for="{{ form.remark.name }}">{{ form.remark.label }}</label> {{ form.remark }}</p>
<p>{{ form.target_type.errors }}<label for="{{ form.target_type.name }}">{{ form.target_type.label }}</label> {{ form.target_type }}</p>
{{ form.user }}
{{ form.club }}
{{ form.club_account }}
{{ form.company }}
{{ form.target_label }}
<p>{{ form.date.errors }}<label for="{{ form.date.name }}">{{ form.date.label }}</label> {{ form.date }}</p>
<p>{{ form.mode.errors }}<label for="{{ form.mode.name }}">{{ form.mode.label }}</label> {{ form.mode }}</p>
<p>{{ form.cheque_number.errors }}<label for="{{ form.cheque_number.name }}">{{ form.cheque_number.label }}</label> {{
form.cheque_number }}</p>
<p>{{ form.invoice.errors }}<label for="{{ form.invoice.name }}">{{ form.invoice.label }}</label> {{ form.invoice }}</p>
<p>{{ form.simpleaccounting_type.errors }}<label for="{{ form.simpleaccounting_type.name }}">{{
form.simpleaccounting_type.label }}</label> {{ form.simpleaccounting_type }}</p>
<p>{{ form.accounting_type.errors }}<label for="{{ form.accounting_type.name }}">{{ form.accounting_type.label }}</label> {{
form.accounting_type }}</p>
<p>{{ form.label.errors }}<label for="{{ form.label.name }}">{{ form.label.label }}</label> {{ form.label }}</p>
<p>{{ form.done.errors }}<label for="{{ form.done.name }}">{{ form.done.label }}</label> {{ form.done }}</p>
{% if form.instance.linked_operation %}
{% set obj = form.instance.linked_operation %}
<p><strong>{% trans %}Linked operation:{% endtrans %}</strong><br>
<a href="{{ url('accounting:bank_details', b_account_id=obj.journal.club_account.bank_account.id) }}">
{{obj.journal.club_account.bank_account }}</a> >
<a href="{{ url('accounting:club_details', c_account_id=obj.journal.club_account.id) }}">{{ obj.journal.club_account }}</a> >
<a href="{{ url('accounting:journal_details', j_id=obj.journal.id) }}">{{ obj.journal }}</a> >
n°{{ obj.number }}
</p> </p>
{% endif %} <hr>
<p><input type="submit" value="{% trans %}Save{% endtrans %}" /></p> <h2>{% trans %}Edit operation{% endtrans %}</h2>
</form> <form action="" method="post">
{% endblock %} {% csrf_token %}
{{ form.non_field_errors() }}
{{ form.journal }}
{{ form.target_id }}
<p>{{ form.amount.errors }}<label for="{{ form.amount.name }}">{{ form.amount.label }}</label> {{ form.amount }}</p>
<p>{{ form.remark.errors }}<label for="{{ form.remark.name }}">{{ form.remark.label }}</label> {{ form.remark }}</p>
<br />
<strong>{% trans %}Warning: if you select <em>Account</em>, the opposite operation will be created in the target account. If you don't want that, select <em>Club</em> instead of <em>Account</em>.{% endtrans %}</strong>
<p>{{ form.target_type.errors }}<label for="{{ form.target_type.name }}">{{ form.target_type.label }}</label> {{ form.target_type }}</p>
{{ form.user }}
{{ form.club }}
{{ form.club_account }}
{{ form.company }}
{{ form.target_label }}
<p>{{ form.date.errors }}<label for="{{ form.date.name }}">{{ form.date.label }}</label> {{ form.date }}</p>
<p>{{ form.mode.errors }}<label for="{{ form.mode.name }}">{{ form.mode.label }}</label> {{ form.mode }}</p>
<p>{{ form.cheque_number.errors }}<label for="{{ form.cheque_number.name }}">{{ form.cheque_number.label }}</label> {{
form.cheque_number }}</p>
<p>{{ form.invoice.errors }}<label for="{{ form.invoice.name }}">{{ form.invoice.label }}</label> {{ form.invoice }}</p>
<p>{{ form.simpleaccounting_type.errors }}<label for="{{ form.simpleaccounting_type.name }}">{{
form.simpleaccounting_type.label }}</label> {{ form.simpleaccounting_type }}</p>
<p>{{ form.accounting_type.errors }}<label for="{{ form.accounting_type.name }}">{{ form.accounting_type.label }}</label> {{
form.accounting_type }}</p>
<p>{{ form.label.errors }}<label for="{{ form.label.name }}">{{ form.label.label }}</label> {{ form.label }}</p>
<p>{{ form.done.errors }}<label for="{{ form.done.name }}">{{ form.done.label }}</label> {{ form.done }}</p>
{% if form.instance.linked_operation %}
{% set obj = form.instance.linked_operation %}
<p><strong>{% trans %}Linked operation:{% endtrans %}</strong><br>
<a href="{{ url('accounting:bank_details', b_account_id=obj.journal.club_account.bank_account.id) }}">
{{obj.journal.club_account.bank_account }}</a> >
<a href="{{ url('accounting:club_details', c_account_id=obj.journal.club_account.id) }}">{{ obj.journal.club_account }}</a> >
<a href="{{ url('accounting:journal_details', j_id=obj.journal.id) }}">{{ obj.journal }}</a> >
n°{{ obj.number }}
</p>
{% endif %}
<p><input type="submit" value="{% trans %}Save{% endtrans %}" /></p>
</form>
{% endblock %}
{% block script %} {% block script %}
{{ super() }} {{ super() }}
<script> <script>
$( function() { $( function() {
var target_type = $('#id_target_type'); var target_type = $('#id_target_type');
var user = $('#id_user_wrapper'); var user = $('#id_user_wrapper');
var club = $('#id_club_wrapper'); var club = $('#id_club_wrapper');
var club_account = $('#id_club_account_wrapper'); var club_account = $('#id_club_account_wrapper');
var company = $('#id_company_wrapper'); var company = $('#id_company_wrapper');
var other = $('#id_target_label'); var other = $('#id_target_label');
function update_targets () { function update_targets () {
if (target_type.val() == "USER") { if (target_type.val() == "USER") {
console.log(user); console.log(user);
user.show(); user.show();
club.hide(); club.hide();
club_account.hide(); club_account.hide();
company.hide(); company.hide();
other.hide(); other.hide();
} else if (target_type.val() == "ACCOUNT") { } else if (target_type.val() == "ACCOUNT") {
club_account.show(); club_account.show();
user.hide(); user.hide();
club.hide(); club.hide();
company.hide(); company.hide();
other.hide(); other.hide();
} else if (target_type.val() == "CLUB") { } else if (target_type.val() == "CLUB") {
club.show(); club.show();
user.hide(); user.hide();
club_account.hide(); club_account.hide();
company.hide(); company.hide();
other.hide(); other.hide();
} else if (target_type.val() == "COMPANY") { } else if (target_type.val() == "COMPANY") {
company.show(); company.show();
user.hide(); user.hide();
club_account.hide(); club_account.hide();
club.hide(); club.hide();
other.hide(); other.hide();
} else if (target_type.val() == "OTHER") { } else if (target_type.val() == "OTHER") {
other.show(); other.show();
user.hide(); user.hide();
club.hide(); club.hide();
club_account.hide(); club_account.hide();
company.hide(); company.hide();
} else { } else {
company.hide(); company.hide();
user.hide(); user.hide();
club_account.hide(); club_account.hide();
club.hide(); club.hide();
other.hide(); other.hide();
}
} }
} update_targets();
update_targets(); target_type.change(update_targets);
target_type.change(update_targets); } );
} ); </script>
</script> </div>
{% endblock %} {% endblock %}

View File

@ -5,10 +5,12 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<h3>{% trans %}Refound account{% endtrans %}</h3> <div id="accounting">
<form action="" method="post"> <h3>{% trans %}Refound account{% endtrans %}</h3>
{% csrf_token %} <form action="" method="post">
{{ form.as_p() }} {% csrf_token %}
<p><input type="submit" value="{% trans %}Refound{% endtrans %}" /></p> {{ form.as_p() }}
</form> <p><input type="submit" value="{% trans %}Refound{% endtrans %}" /></p>
</form>
</div>
{% endblock %} {% endblock %}

View File

@ -5,21 +5,23 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<p> <div id="accounting">
<a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> > <p>
{% trans %}Simplified types{% endtrans %} <a href="{{ url('accounting:bank_list') }}">{% trans %}Accounting{% endtrans %}</a> >
</p> {% trans %}Simplified types{% endtrans %}
<hr> </p>
<p><a href="{{ url('accounting:simple_type_new') }}">{% trans %}New simplified type{% endtrans %}</a></p> <hr>
{% if simplifiedaccountingtype_list %} <p><a href="{{ url('accounting:simple_type_new') }}">{% trans %}New simplified type{% endtrans %}</a></p>
<h3>{% trans %}Simplified type list{% endtrans %}</h3> {% if simplifiedaccountingtype_list %}
<ul> <h3>{% trans %}Simplified type list{% endtrans %}</h3>
{% for a in simplifiedaccountingtype_list %} <ul>
<li><a href="{{ url('accounting:simple_type_edit', type_id=a.id) }}">{{ a }}</a></li> {% for a in simplifiedaccountingtype_list %}
{% endfor %} <li><a href="{{ url('accounting:simple_type_edit', type_id=a.id) }}">{{ a }}</a></li>
</ul> {% endfor %}
{% else %} </ul>
{% trans %}There is no types in this website.{% endtrans %} {% else %}
{% endif %} {% trans %}There is no types in this website.{% endtrans %}
{% endif %}
</div>
{% endblock %} {% endblock %}

View File

@ -213,9 +213,9 @@ class OperationTest(TestCase):
def test_person_statement(self): def test_person_statement(self):
self.client.login(username='comptable', password='plop') self.client.login(username='comptable', password='plop')
response_get = self.client.get(reverse("accounting:journal_person_statement", args=[self.journal.id])) response_get = self.client.get(reverse("accounting:journal_person_statement", args=[self.journal.id]))
self.assertTrue("S&#39; Kia</a></td>\\n \\n <td>3.00</td>" in str(response_get.content)) self.assertTrue("<td>3.00</td>" in str(response_get.content) and '<td><a href="/user/1/">S&#39; Kia</a></td>' in str(response_get.content))
def test_accounting_statement(self): def test_accounting_statement(self):
self.client.login(username='comptable', password='plop') self.client.login(username='comptable', password='plop')
response_get = self.client.get(reverse("accounting:journal_accounting_statement", args=[self.journal.id])) response_get = self.client.get(reverse("accounting:journal_accounting_statement", args=[self.journal.id]))
self.assertTrue("<td>443 - Cr\\xc3\\xa9dit - Ce code n&#39;existe pas</td>\\n <td>3.00</td>" in str(response_get.content)) self.assertTrue("<td>443 - Cr\\xc3\\xa9dit - Ce code n&#39;existe pas</td>" in str(response_get.content))

View File

@ -642,6 +642,31 @@ header {
display: block; display: block;
} }
/*---------------------------ACCOUNTING----------------------------*/
#accounting {
.journal-table {
tbody {
.neg-amount {
color: red;
&:before {
font-family: FontAwesome;
font-size: 1em;
content: "\f063";
}
}
.pos-amount {
color: green;
&:before {
font-family: FontAwesome;
font-size: 1em;
content: "\f062";
}
}
}
}
}
/*-----------------------------GENERAL-----------------------------*/
h1, h2, h3, h4, h5, h6 { h1, h2, h3, h4, h5, h6 {
font-weight: bold; font-weight: bold;
margin-top: 0.5em; margin-top: 0.5em;

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-06 11:11+0200\n" "POT-Creation-Date: 2017-10-09 16:19+0200\n"
"PO-Revision-Date: 2016-07-18\n" "PO-Revision-Date: 2016-07-18\n"
"Last-Translator: Skia <skia@libskia.so>\n" "Last-Translator: Skia <skia@libskia.so>\n"
"Language-Team: AE info <ae.info@utbm.fr>\n" "Language-Team: AE info <ae.info@utbm.fr>\n"
@ -216,7 +216,7 @@ msgstr "Compte"
msgid "Company" msgid "Company"
msgstr "Entreprise" msgstr "Entreprise"
#: accounting/models.py:271 sith/settings.py:371 #: accounting/models.py:271 sith/settings.py:372
#: stock/templates/stock/shopping_list_items.jinja:37 #: stock/templates/stock/shopping_list_items.jinja:37
msgid "Other" msgid "Other"
msgstr "Autre" msgstr "Autre"
@ -276,15 +276,15 @@ msgid "movement type"
msgstr "type de mouvement" msgstr "type de mouvement"
#: accounting/models.py:372 #: accounting/models.py:372
#: accounting/templates/accounting/journal_statement_nature.jinja:8 #: accounting/templates/accounting/journal_statement_nature.jinja:9
#: accounting/templates/accounting/journal_statement_person.jinja:11 #: accounting/templates/accounting/journal_statement_person.jinja:12
#: accounting/views.py:481 #: accounting/views.py:481
msgid "Credit" msgid "Credit"
msgstr "Crédit" msgstr "Crédit"
#: accounting/models.py:372 #: accounting/models.py:372
#: accounting/templates/accounting/journal_statement_nature.jinja:27 #: accounting/templates/accounting/journal_statement_nature.jinja:28
#: accounting/templates/accounting/journal_statement_person.jinja:39 #: accounting/templates/accounting/journal_statement_person.jinja:40
#: accounting/views.py:481 #: accounting/views.py:481
msgid "Debit" msgid "Debit"
msgstr "Débit" msgstr "Débit"
@ -302,46 +302,46 @@ msgid "simplified type"
msgstr "type simplifié" msgstr "type simplifié"
#: accounting/templates/accounting/accountingtype_list.jinja:4 #: accounting/templates/accounting/accountingtype_list.jinja:4
#: accounting/templates/accounting/accountingtype_list.jinja:15 #: accounting/templates/accounting/accountingtype_list.jinja:16
msgid "Accounting type list" msgid "Accounting type list"
msgstr "Liste des types comptable" msgstr "Liste des types comptable"
#: accounting/templates/accounting/accountingtype_list.jinja:9 #: accounting/templates/accounting/accountingtype_list.jinja:10
#: accounting/templates/accounting/bank_account_details.jinja:9 #: accounting/templates/accounting/bank_account_details.jinja:10
#: accounting/templates/accounting/bank_account_list.jinja:9 #: accounting/templates/accounting/bank_account_list.jinja:10
#: accounting/templates/accounting/club_account_details.jinja:9 #: accounting/templates/accounting/club_account_details.jinja:10
#: accounting/templates/accounting/journal_details.jinja:9 #: accounting/templates/accounting/journal_details.jinja:10
#: accounting/templates/accounting/label_list.jinja:9 #: accounting/templates/accounting/label_list.jinja:10
#: accounting/templates/accounting/operation_edit.jinja:9 #: accounting/templates/accounting/operation_edit.jinja:10
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:9 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:10
#: core/templates/core/user_tools.jinja:56 #: core/templates/core/user_tools.jinja:56
msgid "Accounting" msgid "Accounting"
msgstr "Comptabilité" msgstr "Comptabilité"
#: accounting/templates/accounting/accountingtype_list.jinja:10 #: accounting/templates/accounting/accountingtype_list.jinja:11
msgid "Accounting types" msgid "Accounting types"
msgstr "Type comptable" msgstr "Type comptable"
#: accounting/templates/accounting/accountingtype_list.jinja:13 #: accounting/templates/accounting/accountingtype_list.jinja:14
msgid "New accounting type" msgid "New accounting type"
msgstr "Nouveau type comptable" msgstr "Nouveau type comptable"
#: accounting/templates/accounting/accountingtype_list.jinja:22 #: accounting/templates/accounting/accountingtype_list.jinja:23
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:22 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:23
msgid "There is no types in this website." msgid "There is no types in this website."
msgstr "Il n'y a pas de types comptable dans ce site web." msgstr "Il n'y a pas de types comptable dans ce site web."
#: accounting/templates/accounting/bank_account_details.jinja:4 #: accounting/templates/accounting/bank_account_details.jinja:4
#: accounting/templates/accounting/bank_account_details.jinja:13 #: accounting/templates/accounting/bank_account_details.jinja:14
#: core/templates/core/user_tools.jinja:65 #: core/templates/core/user_tools.jinja:65
msgid "Bank account: " msgid "Bank account: "
msgstr "Compte en banque : " msgstr "Compte en banque : "
#: accounting/templates/accounting/bank_account_details.jinja:15 #: accounting/templates/accounting/bank_account_details.jinja:16
#: accounting/templates/accounting/bank_account_details.jinja:28 #: accounting/templates/accounting/bank_account_details.jinja:29
#: accounting/templates/accounting/club_account_details.jinja:16 #: accounting/templates/accounting/club_account_details.jinja:17
#: accounting/templates/accounting/club_account_details.jinja:59 #: accounting/templates/accounting/club_account_details.jinja:60
#: accounting/templates/accounting/label_list.jinja:25 #: accounting/templates/accounting/label_list.jinja:26
#: club/templates/club/club_sellings.jinja:50 #: club/templates/club/club_sellings.jinja:50
#: club/templates/club/mailing.jinja:16 club/templates/club/mailing.jinja:39 #: club/templates/club/mailing.jinja:16 club/templates/club/mailing.jinja:39
#: com/templates/com/mailing_admin.jinja:19 #: com/templates/com/mailing_admin.jinja:19
@ -378,27 +378,27 @@ msgstr "Compte en banque : "
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
#: accounting/templates/accounting/bank_account_details.jinja:17 #: accounting/templates/accounting/bank_account_details.jinja:18
#: club/views.py:98 core/views/user.py:164 sas/templates/sas/picture.jinja:86 #: club/views.py:98 core/views/user.py:164 sas/templates/sas/picture.jinja:86
msgid "Infos" msgid "Infos"
msgstr "Infos" msgstr "Infos"
#: accounting/templates/accounting/bank_account_details.jinja:19 #: accounting/templates/accounting/bank_account_details.jinja:20
msgid "IBAN: " msgid "IBAN: "
msgstr "IBAN : " msgstr "IBAN : "
#: accounting/templates/accounting/bank_account_details.jinja:20 #: accounting/templates/accounting/bank_account_details.jinja:21
msgid "Number: " msgid "Number: "
msgstr "Numéro : " msgstr "Numéro : "
#: accounting/templates/accounting/bank_account_details.jinja:22 #: accounting/templates/accounting/bank_account_details.jinja:23
msgid "New club account" msgid "New club account"
msgstr "Nouveau compte club" msgstr "Nouveau compte club"
#: accounting/templates/accounting/bank_account_details.jinja:26 #: accounting/templates/accounting/bank_account_details.jinja:27
#: accounting/templates/accounting/bank_account_list.jinja:21 #: accounting/templates/accounting/bank_account_list.jinja:22
#: accounting/templates/accounting/club_account_details.jinja:57 #: accounting/templates/accounting/club_account_details.jinja:58
#: accounting/templates/accounting/journal_details.jinja:83 club/views.py:126 #: accounting/templates/accounting/journal_details.jinja:89 club/views.py:126
#: com/templates/com/news_admin_list.jinja:39 #: com/templates/com/news_admin_list.jinja:39
#: com/templates/com/news_admin_list.jinja:68 #: com/templates/com/news_admin_list.jinja:68
#: com/templates/com/news_admin_list.jinja:115 #: com/templates/com/news_admin_list.jinja:115
@ -427,53 +427,53 @@ msgid "Edit"
msgstr "Éditer" msgstr "Éditer"
#: accounting/templates/accounting/bank_account_list.jinja:4 #: accounting/templates/accounting/bank_account_list.jinja:4
#: accounting/templates/accounting/bank_account_list.jinja:17 #: accounting/templates/accounting/bank_account_list.jinja:18
msgid "Bank account list" msgid "Bank account list"
msgstr "Liste des comptes en banque" msgstr "Liste des comptes en banque"
#: accounting/templates/accounting/bank_account_list.jinja:12 #: accounting/templates/accounting/bank_account_list.jinja:13
msgid "Manage simplified types" msgid "Manage simplified types"
msgstr "Gérer les types simplifiés" msgstr "Gérer les types simplifiés"
#: accounting/templates/accounting/bank_account_list.jinja:13 #: accounting/templates/accounting/bank_account_list.jinja:14
msgid "Manage accounting types" msgid "Manage accounting types"
msgstr "Gérer les types comptable" msgstr "Gérer les types comptable"
#: accounting/templates/accounting/bank_account_list.jinja:14 #: accounting/templates/accounting/bank_account_list.jinja:15
msgid "New bank account" msgid "New bank account"
msgstr "Nouveau compte en banque" msgstr "Nouveau compte en banque"
#: accounting/templates/accounting/bank_account_list.jinja:26 #: accounting/templates/accounting/bank_account_list.jinja:27
msgid "There is no accounts in this website." msgid "There is no accounts in this website."
msgstr "Il n'y a pas de comptes dans ce site web." msgstr "Il n'y a pas de comptes dans ce site web."
#: accounting/templates/accounting/club_account_details.jinja:4 #: accounting/templates/accounting/club_account_details.jinja:4
#: accounting/templates/accounting/club_account_details.jinja:14 #: accounting/templates/accounting/club_account_details.jinja:15
msgid "Club account:" msgid "Club account:"
msgstr "Compte club : " msgstr "Compte club : "
#: accounting/templates/accounting/club_account_details.jinja:19 #: accounting/templates/accounting/club_account_details.jinja:20
#: accounting/templates/accounting/journal_details.jinja:16 #: accounting/templates/accounting/journal_details.jinja:17
#: accounting/templates/accounting/label_list.jinja:16 #: accounting/templates/accounting/label_list.jinja:17
msgid "New label" msgid "New label"
msgstr "Nouvelle étiquette" msgstr "Nouvelle étiquette"
#: accounting/templates/accounting/club_account_details.jinja:21 #: accounting/templates/accounting/club_account_details.jinja:22
#: accounting/templates/accounting/journal_details.jinja:17 #: accounting/templates/accounting/journal_details.jinja:18
#: accounting/templates/accounting/label_list.jinja:4 #: accounting/templates/accounting/label_list.jinja:4
#: accounting/templates/accounting/label_list.jinja:19 #: accounting/templates/accounting/label_list.jinja:20
msgid "Label list" msgid "Label list"
msgstr "Liste des étiquettes" msgstr "Liste des étiquettes"
#: accounting/templates/accounting/club_account_details.jinja:23 #: accounting/templates/accounting/club_account_details.jinja:24
msgid "New journal" msgid "New journal"
msgstr "Nouveau classeur" msgstr "Nouveau classeur"
#: accounting/templates/accounting/club_account_details.jinja:25 #: accounting/templates/accounting/club_account_details.jinja:26
msgid "You can not create new journal while you still have one opened" msgid "You can not create new journal while you still have one opened"
msgstr "Vous ne pouvez pas créer de journal tant qu'il y en a un d'ouvert" msgstr "Vous ne pouvez pas créer de journal tant qu'il y en a un d'ouvert"
#: accounting/templates/accounting/club_account_details.jinja:30 #: accounting/templates/accounting/club_account_details.jinja:31
#: launderette/templates/launderette/launderette_admin.jinja:43 #: launderette/templates/launderette/launderette_admin.jinja:43
#: stock/templates/stock/shopping_list_items.jinja:20 #: stock/templates/stock/shopping_list_items.jinja:20
#: stock/templates/stock/stock_shopping_list.jinja:26 #: stock/templates/stock/stock_shopping_list.jinja:26
@ -481,7 +481,7 @@ msgstr "Vous ne pouvez pas créer de journal tant qu'il y en a un d'ouvert"
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: accounting/templates/accounting/club_account_details.jinja:31 #: accounting/templates/accounting/club_account_details.jinja:32
#: com/templates/com/news_admin_list.jinja:178 #: com/templates/com/news_admin_list.jinja:178
#: com/templates/com/news_admin_list.jinja:214 #: com/templates/com/news_admin_list.jinja:214
#: com/templates/com/news_admin_list.jinja:254 #: com/templates/com/news_admin_list.jinja:254
@ -489,7 +489,7 @@ msgstr "Nom"
msgid "Start" msgid "Start"
msgstr "Début" msgstr "Début"
#: accounting/templates/accounting/club_account_details.jinja:32 #: accounting/templates/accounting/club_account_details.jinja:33
#: com/templates/com/news_admin_list.jinja:179 #: com/templates/com/news_admin_list.jinja:179
#: com/templates/com/news_admin_list.jinja:215 #: com/templates/com/news_admin_list.jinja:215
#: com/templates/com/news_admin_list.jinja:255 #: com/templates/com/news_admin_list.jinja:255
@ -497,8 +497,8 @@ msgstr "Début"
msgid "End" msgid "End"
msgstr "Fin" msgstr "Fin"
#: accounting/templates/accounting/club_account_details.jinja:33 #: accounting/templates/accounting/club_account_details.jinja:34
#: accounting/templates/accounting/journal_details.jinja:33 #: accounting/templates/accounting/journal_details.jinja:35
#: core/templates/core/user_account_detail.jinja:53 #: core/templates/core/user_account_detail.jinja:53
#: core/templates/core/user_account_detail.jinja:80 #: core/templates/core/user_account_detail.jinja:80
#: counter/templates/counter/last_ops.jinja:17 #: counter/templates/counter/last_ops.jinja:17
@ -506,16 +506,16 @@ msgstr "Fin"
msgid "Amount" msgid "Amount"
msgstr "Montant" msgstr "Montant"
#: accounting/templates/accounting/club_account_details.jinja:34 #: accounting/templates/accounting/club_account_details.jinja:35
msgid "Effective amount" msgid "Effective amount"
msgstr "Montant effectif" msgstr "Montant effectif"
#: accounting/templates/accounting/club_account_details.jinja:35 #: accounting/templates/accounting/club_account_details.jinja:36
msgid "Closed" msgid "Closed"
msgstr "Fermé" msgstr "Fermé"
#: accounting/templates/accounting/club_account_details.jinja:36 #: accounting/templates/accounting/club_account_details.jinja:37
#: accounting/templates/accounting/journal_details.jinja:41 #: accounting/templates/accounting/journal_details.jinja:43
#: com/templates/com/mailing_admin.jinja:12 #: com/templates/com/mailing_admin.jinja:12
#: com/templates/com/news_admin_list.jinja:26 #: com/templates/com/news_admin_list.jinja:26
#: com/templates/com/news_admin_list.jinja:56 #: com/templates/com/news_admin_list.jinja:56
@ -530,17 +530,17 @@ msgstr "Fermé"
msgid "Actions" msgid "Actions"
msgstr "Actions" msgstr "Actions"
#: accounting/templates/accounting/club_account_details.jinja:52 #: accounting/templates/accounting/club_account_details.jinja:53
#: accounting/templates/accounting/journal_details.jinja:61 #: accounting/templates/accounting/journal_details.jinja:67
msgid "Yes" msgid "Yes"
msgstr "Oui" msgstr "Oui"
#: accounting/templates/accounting/club_account_details.jinja:54 #: accounting/templates/accounting/club_account_details.jinja:55
#: accounting/templates/accounting/journal_details.jinja:63 #: accounting/templates/accounting/journal_details.jinja:69
msgid "No" msgid "No"
msgstr "Non" msgstr "Non"
#: accounting/templates/accounting/club_account_details.jinja:56 #: accounting/templates/accounting/club_account_details.jinja:57
#: com/templates/com/news_admin_list.jinja:38 #: com/templates/com/news_admin_list.jinja:38
#: com/templates/com/news_admin_list.jinja:67 #: com/templates/com/news_admin_list.jinja:67
#: com/templates/com/news_admin_list.jinja:114 #: com/templates/com/news_admin_list.jinja:114
@ -554,99 +554,98 @@ msgid "View"
msgstr "Voir" msgstr "Voir"
#: accounting/templates/accounting/co_list.jinja:4 #: accounting/templates/accounting/co_list.jinja:4
#: accounting/templates/accounting/journal_details.jinja:18 #: accounting/templates/accounting/journal_details.jinja:19
#: core/templates/core/user_tools.jinja:61 #: core/templates/core/user_tools.jinja:61
msgid "Company list" msgid "Company list"
msgstr "Liste des entreprises" msgstr "Liste des entreprises"
#: accounting/templates/accounting/co_list.jinja:9 #: accounting/templates/accounting/co_list.jinja:10
msgid "Create new company" msgid "Create new company"
msgstr "Nouvelle entreprise" msgstr "Nouvelle entreprise"
#: accounting/templates/accounting/co_list.jinja:16 #: accounting/templates/accounting/co_list.jinja:17
msgid "Companies" msgid "Companies"
msgstr "Entreprises" msgstr "Entreprises"
#: accounting/templates/accounting/journal_details.jinja:4 #: accounting/templates/accounting/journal_details.jinja:4
#: accounting/templates/accounting/journal_details.jinja:15 #: accounting/templates/accounting/journal_details.jinja:16
#: accounting/templates/accounting/journal_statement_accounting.jinja:4 #: accounting/templates/accounting/journal_statement_accounting.jinja:4
#: accounting/templates/accounting/journal_statement_nature.jinja:4 #: accounting/templates/accounting/journal_statement_nature.jinja:4
#: accounting/templates/accounting/journal_statement_person.jinja:4 #: accounting/templates/accounting/journal_statement_person.jinja:4
msgid "General journal:" msgid "General journal:"
msgstr "Classeur : " msgstr "Classeur : "
#: accounting/templates/accounting/journal_details.jinja:19 #: accounting/templates/accounting/journal_details.jinja:20
#: accounting/templates/accounting/journal_statement_accounting.jinja:29 #: accounting/templates/accounting/journal_statement_accounting.jinja:30
#: core/templates/core/user_account.jinja:38 #: core/templates/core/user_account.jinja:38
#: core/templates/core/user_account_detail.jinja:10 #: core/templates/core/user_account_detail.jinja:10
#: counter/templates/counter/counter_click.jinja:32 #: counter/templates/counter/counter_click.jinja:32
msgid "Amount: " msgid "Amount: "
msgstr "Montant : " msgstr "Montant : "
#: accounting/templates/accounting/journal_details.jinja:20 #: accounting/templates/accounting/journal_details.jinja:21
#: accounting/templates/accounting/journal_statement_accounting.jinja:30 #: accounting/templates/accounting/journal_statement_accounting.jinja:31
msgid "Effective amount: " msgid "Effective amount: "
msgstr "Montant effectif: " msgstr "Montant effectif: "
#: accounting/templates/accounting/journal_details.jinja:22 #: accounting/templates/accounting/journal_details.jinja:23
msgid "Journal is closed, you can not create operation" msgid "Journal is closed, you can not create operation"
msgstr "Le classeur est fermé, vous ne pouvez pas créer d'opération" msgstr "Le classeur est fermé, vous ne pouvez pas créer d'opération"
#: accounting/templates/accounting/journal_details.jinja:24 #: accounting/templates/accounting/journal_details.jinja:25
msgid "New operation" msgid "New operation"
msgstr "Nouvelle opération" msgstr "Nouvelle opération"
#: accounting/templates/accounting/journal_details.jinja:30 #: accounting/templates/accounting/journal_details.jinja:32
#: counter/templates/counter/stats.jinja:14 #: counter/templates/counter/stats.jinja:14
#: counter/templates/counter/stats.jinja:51 #: counter/templates/counter/stats.jinja:51
#: counter/templates/counter/stats.jinja:76 #: counter/templates/counter/stats.jinja:76
msgid "Nb" msgid "Nb"
msgstr "No" msgstr "No"
#: accounting/templates/accounting/journal_details.jinja:31 #: accounting/templates/accounting/journal_details.jinja:33
#: club/templates/club/club_sellings.jinja:20 #: club/templates/club/club_sellings.jinja:20
#: core/templates/core/user_account_detail.jinja:17 #: core/templates/core/user_account_detail.jinja:17
#: core/templates/core/user_account_detail.jinja:50 #: core/templates/core/user_account_detail.jinja:50
#: core/templates/core/user_account_detail.jinja:78 #: core/templates/core/user_account_detail.jinja:78
#: counter/templates/counter/cash_summary_list.jinja:34 #: counter/templates/counter/cash_summary_list.jinja:34
#: counter/templates/counter/last_ops.jinja:14 #: counter/templates/counter/last_ops.jinja:14
#: counter/templates/counter/last_ops.jinja:39 sas/views.py:282 #: counter/templates/counter/last_ops.jinja:39 sas/views.py:285
#: stock/templates/stock/stock_shopping_list.jinja:25 #: stock/templates/stock/stock_shopping_list.jinja:25
#: stock/templates/stock/stock_shopping_list.jinja:54 #: stock/templates/stock/stock_shopping_list.jinja:54
#: trombi/templates/trombi/export.jinja:57
#: trombi/templates/trombi/user_profile.jinja:40 #: trombi/templates/trombi/user_profile.jinja:40
msgid "Date" msgid "Date"
msgstr "Date" msgstr "Date"
#: accounting/templates/accounting/journal_details.jinja:32 #: accounting/templates/accounting/journal_details.jinja:34
#: club/templates/club/club_sellings.jinja:24 #: club/templates/club/club_sellings.jinja:24
#: core/templates/core/user_account_detail.jinja:20 #: core/templates/core/user_account_detail.jinja:20
#: counter/templates/counter/last_ops.jinja:42 #: counter/templates/counter/last_ops.jinja:42
msgid "Label" msgid "Label"
msgstr "Étiquette" msgstr "Étiquette"
#: accounting/templates/accounting/journal_details.jinja:34 #: accounting/templates/accounting/journal_details.jinja:36
msgid "Payment mode" msgid "Payment mode"
msgstr "Méthode de paiement" msgstr "Méthode de paiement"
#: accounting/templates/accounting/journal_details.jinja:35 #: accounting/templates/accounting/journal_details.jinja:37
msgid "Target" msgid "Target"
msgstr "Cible" msgstr "Cible"
#: accounting/templates/accounting/journal_details.jinja:36 #: accounting/templates/accounting/journal_details.jinja:38
msgid "Code" msgid "Code"
msgstr "Code" msgstr "Code"
#: accounting/templates/accounting/journal_details.jinja:37 #: accounting/templates/accounting/journal_details.jinja:39
msgid "Nature" msgid "Nature"
msgstr "Nature" msgstr "Nature"
#: accounting/templates/accounting/journal_details.jinja:38 #: accounting/templates/accounting/journal_details.jinja:40
#: stock/templates/stock/stock_shopping_list.jinja:50 #: stock/templates/stock/stock_shopping_list.jinja:50
msgid "Done" msgid "Done"
msgstr "Effectuées" msgstr "Effectuées"
#: accounting/templates/accounting/journal_details.jinja:39 #: accounting/templates/accounting/journal_details.jinja:41
#: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:855 #: counter/templates/counter/cash_summary_list.jinja:37 counter/views.py:855
#: trombi/templates/trombi/comment.jinja:4 #: trombi/templates/trombi/comment.jinja:4
#: trombi/templates/trombi/comment.jinja:8 #: trombi/templates/trombi/comment.jinja:8
@ -654,15 +653,15 @@ msgstr "Effectuées"
msgid "Comment" msgid "Comment"
msgstr "Commentaire" msgstr "Commentaire"
#: accounting/templates/accounting/journal_details.jinja:40 #: accounting/templates/accounting/journal_details.jinja:42
msgid "File" msgid "File"
msgstr "Fichier" msgstr "Fichier"
#: accounting/templates/accounting/journal_details.jinja:42 #: accounting/templates/accounting/journal_details.jinja:44
msgid "PDF" msgid "PDF"
msgstr "PDF" msgstr "PDF"
#: accounting/templates/accounting/journal_details.jinja:68 #: accounting/templates/accounting/journal_details.jinja:74
msgid "" msgid ""
"Warning: this operation has no linked operation because the targeted club " "Warning: this operation has no linked operation because the targeted club "
"account has no opened journal." "account has no opened journal."
@ -670,7 +669,7 @@ msgstr ""
"Attention: cette opération n'a pas d'opération liée parce qu'il n'y a pas de " "Attention: cette opération n'a pas d'opération liée parce qu'il n'y a pas de "
"classeur ouvert dans le compte club cible" "classeur ouvert dans le compte club cible"
#: accounting/templates/accounting/journal_details.jinja:71 #: accounting/templates/accounting/journal_details.jinja:77
#, python-format #, python-format
msgid "" msgid ""
"Open a journal in <a href=\"%(url)s\">this club account</a>, then save this " "Open a journal in <a href=\"%(url)s\">this club account</a>, then save this "
@ -679,34 +678,34 @@ msgstr ""
"Ouvrez un classeur dans <a href=\"%(url)s\">ce compte club</a>, puis sauver " "Ouvrez un classeur dans <a href=\"%(url)s\">ce compte club</a>, puis sauver "
"cette opération à nouveau pour créer l'opération liée." "cette opération à nouveau pour créer l'opération liée."
#: accounting/templates/accounting/journal_details.jinja:87 #: accounting/templates/accounting/journal_details.jinja:93
msgid "Generate" msgid "Generate"
msgstr "Générer" msgstr "Générer"
#: accounting/templates/accounting/journal_statement_accounting.jinja:9 #: accounting/templates/accounting/journal_statement_accounting.jinja:10
msgid "Accounting statement: " msgid "Accounting statement: "
msgstr "Bilan comptable : " msgstr "Bilan comptable : "
#: accounting/templates/accounting/journal_statement_accounting.jinja:14 #: accounting/templates/accounting/journal_statement_accounting.jinja:15
msgid "Operation type" msgid "Operation type"
msgstr "Type d'opération" msgstr "Type d'opération"
#: accounting/templates/accounting/journal_statement_accounting.jinja:15 #: accounting/templates/accounting/journal_statement_accounting.jinja:16
#: accounting/templates/accounting/journal_statement_nature.jinja:13 #: accounting/templates/accounting/journal_statement_nature.jinja:14
#: accounting/templates/accounting/journal_statement_nature.jinja:32 #: accounting/templates/accounting/journal_statement_nature.jinja:33
#: accounting/templates/accounting/journal_statement_person.jinja:17 #: accounting/templates/accounting/journal_statement_person.jinja:18
#: accounting/templates/accounting/journal_statement_person.jinja:45 #: accounting/templates/accounting/journal_statement_person.jinja:46
#: counter/templates/counter/invoices_call.jinja:24 #: counter/templates/counter/invoices_call.jinja:24
msgid "Sum" msgid "Sum"
msgstr "Somme" msgstr "Somme"
#: accounting/templates/accounting/journal_statement_nature.jinja:12 #: accounting/templates/accounting/journal_statement_nature.jinja:13
#: accounting/templates/accounting/journal_statement_nature.jinja:31 #: accounting/templates/accounting/journal_statement_nature.jinja:32
msgid "Nature of operation" msgid "Nature of operation"
msgstr "Nature de l'opération" msgstr "Nature de l'opération"
#: accounting/templates/accounting/journal_statement_nature.jinja:25 #: accounting/templates/accounting/journal_statement_nature.jinja:26
#: accounting/templates/accounting/journal_statement_nature.jinja:44 #: accounting/templates/accounting/journal_statement_nature.jinja:45
#: club/templates/club/club_sellings.jinja:14 #: club/templates/club/club_sellings.jinja:14
#: counter/templates/counter/counter_click.jinja:70 #: counter/templates/counter/counter_click.jinja:70
#: counter/templates/counter/counter_main.jinja:28 #: counter/templates/counter/counter_main.jinja:28
@ -714,38 +713,47 @@ msgstr "Nature de l'opération"
msgid "Total: " msgid "Total: "
msgstr "Total : " msgstr "Total : "
#: accounting/templates/accounting/journal_statement_nature.jinja:48 #: accounting/templates/accounting/journal_statement_nature.jinja:49
msgid "Statement by nature: " msgid "Statement by nature: "
msgstr "Bilan par nature : " msgstr "Bilan par nature : "
#: accounting/templates/accounting/journal_statement_person.jinja:9 #: accounting/templates/accounting/journal_statement_person.jinja:10
msgid "Statement by person: " msgid "Statement by person: "
msgstr "Bilan par personne : " msgstr "Bilan par personne : "
#: accounting/templates/accounting/journal_statement_person.jinja:16 #: accounting/templates/accounting/journal_statement_person.jinja:17
#: accounting/templates/accounting/journal_statement_person.jinja:44 #: accounting/templates/accounting/journal_statement_person.jinja:45
msgid "Target of the operation" msgid "Target of the operation"
msgstr "Cible de l'opération" msgstr "Cible de l'opération"
#: accounting/templates/accounting/label_list.jinja:14 #: accounting/templates/accounting/label_list.jinja:15
msgid "Back to club account" msgid "Back to club account"
msgstr "Retour au compte club" msgstr "Retour au compte club"
#: accounting/templates/accounting/label_list.jinja:31 #: accounting/templates/accounting/label_list.jinja:32
msgid "There is no label in this club account." msgid "There is no label in this club account."
msgstr "Il n'y a pas d'étiquette dans ce compte club." msgstr "Il n'y a pas d'étiquette dans ce compte club."
#: accounting/templates/accounting/operation_edit.jinja:4 #: accounting/templates/accounting/operation_edit.jinja:4
#: accounting/templates/accounting/operation_edit.jinja:13 #: accounting/templates/accounting/operation_edit.jinja:14
#: accounting/templates/accounting/operation_edit.jinja:16 #: accounting/templates/accounting/operation_edit.jinja:17
msgid "Edit operation" msgid "Edit operation"
msgstr "Éditer l'opération" msgstr "Éditer l'opération"
#: accounting/templates/accounting/operation_edit.jinja:43 #: accounting/templates/accounting/operation_edit.jinja:26
msgid ""
"Warning: if you select <em>Account</em>, the opposite operation will be "
"created in the target account. If you don't want that, select <em>Club</em> "
"instead of <em>Account</em>."
msgstr "Attention : si vous sélectionnez <em>Compte</em>, l'opération inverse sera "
"créée dans le compte cible. Si vous ne le voulez pas, sélectionnez <em>Club</em> "
"à la place de <em>Compte</em>."
#: accounting/templates/accounting/operation_edit.jinja:46
msgid "Linked operation:" msgid "Linked operation:"
msgstr "Opération liée : " msgstr "Opération liée : "
#: accounting/templates/accounting/operation_edit.jinja:51 #: accounting/templates/accounting/operation_edit.jinja:54
#: com/templates/com/news_edit.jinja:57 com/templates/com/weekmail.jinja:74 #: com/templates/com/news_edit.jinja:57 com/templates/com/weekmail.jinja:74
#: core/templates/core/create.jinja:12 core/templates/core/edit.jinja:7 #: core/templates/core/create.jinja:12 core/templates/core/edit.jinja:7
#: core/templates/core/edit.jinja.py:15 core/templates/core/edit.jinja:20 #: core/templates/core/edit.jinja.py:15 core/templates/core/edit.jinja:20
@ -765,25 +773,25 @@ msgid "Save"
msgstr "Sauver" msgstr "Sauver"
#: accounting/templates/accounting/refound_account.jinja:4 #: accounting/templates/accounting/refound_account.jinja:4
#: accounting/templates/accounting/refound_account.jinja:8 #: accounting/templates/accounting/refound_account.jinja:9
#: accounting/views.py:757 #: accounting/views.py:757
msgid "Refound account" msgid "Refound account"
msgstr "Remboursement de compte" msgstr "Remboursement de compte"
#: accounting/templates/accounting/refound_account.jinja:12 #: accounting/templates/accounting/refound_account.jinja:13
msgid "Refound" msgid "Refound"
msgstr "Rembourser" msgstr "Rembourser"
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:4 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:4
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:15 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:16
msgid "Simplified type list" msgid "Simplified type list"
msgstr "Liste des types simplifiés" msgstr "Liste des types simplifiés"
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:10 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:11
msgid "Simplified types" msgid "Simplified types"
msgstr "Types simplifiés" msgstr "Types simplifiés"
#: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:13 #: accounting/templates/accounting/simplifiedaccountingtype_list.jinja:14
msgid "New simplified type" msgid "New simplified type"
msgstr "Nouveau type simplifié" msgstr "Nouveau type simplifié"
@ -1251,7 +1259,7 @@ msgstr "Propriétés"
msgid "Select user" msgid "Select user"
msgstr "Choisir un utilisateur" msgstr "Choisir un utilisateur"
#: club/views.py:290 sas/views.py:97 sas/views.py:150 sas/views.py:225 #: club/views.py:290 sas/views.py:97 sas/views.py:150 sas/views.py:228
msgid "You do not have the permission to do that" msgid "You do not have the permission to do that"
msgstr "Vous n'avez pas la permission de faire cela" msgstr "Vous n'avez pas la permission de faire cela"
@ -3120,7 +3128,7 @@ msgstr "Erreur de création du dossier %(folder_name)s : %(msg)s"
msgid "Error uploading file %(file_name)s: %(msg)s" msgid "Error uploading file %(file_name)s: %(msg)s"
msgstr "Erreur d'envoi du fichier %(file_name)s : %(msg)s" msgstr "Erreur d'envoi du fichier %(file_name)s : %(msg)s"
#: core/views/files.py:151 sas/views.py:285 #: core/views/files.py:151 sas/views.py:288
msgid "Apply rights recursively" msgid "Apply rights recursively"
msgstr "Appliquer les droits récursivement" msgstr "Appliquer les droits récursivement"
@ -3267,7 +3275,7 @@ msgstr "Bureau"
#: eboutic/templates/eboutic/eboutic_main.jinja:24 #: eboutic/templates/eboutic/eboutic_main.jinja:24
#: eboutic/templates/eboutic/eboutic_makecommand.jinja:8 #: eboutic/templates/eboutic/eboutic_makecommand.jinja:8
#: eboutic/templates/eboutic/eboutic_payment_result.jinja:4 #: eboutic/templates/eboutic/eboutic_payment_result.jinja:4
#: sith/settings.py:370 sith/settings.py:378 #: sith/settings.py:371 sith/settings.py:379
msgid "Eboutic" msgid "Eboutic"
msgstr "Eboutic" msgstr "Eboutic"
@ -3308,8 +3316,8 @@ msgstr "quantité"
msgid "Sith account" msgid "Sith account"
msgstr "Compte utilisateur" msgstr "Compte utilisateur"
#: counter/models.py:352 sith/settings.py:363 sith/settings.py:368 #: counter/models.py:352 sith/settings.py:364 sith/settings.py:369
#: sith/settings.py:390 #: sith/settings.py:391
msgid "Credit card" msgid "Credit card"
msgstr "Carte bancaire" msgstr "Carte bancaire"
@ -4179,12 +4187,12 @@ msgid "Washing and drying"
msgstr "Lavage et séchage" msgstr "Lavage et séchage"
#: launderette/templates/launderette/launderette_book.jinja:27 #: launderette/templates/launderette/launderette_book.jinja:27
#: sith/settings.py:553 #: sith/settings.py:554
msgid "Washing" msgid "Washing"
msgstr "Lavage" msgstr "Lavage"
#: launderette/templates/launderette/launderette_book.jinja:31 #: launderette/templates/launderette/launderette_book.jinja:31
#: sith/settings.py:553 #: sith/settings.py:554
msgid "Drying" msgid "Drying"
msgstr "Séchage" msgstr "Séchage"
@ -4359,231 +4367,231 @@ msgstr "Erreur de création de l'album %(album)s : %(msg)s"
msgid "Add user" msgid "Add user"
msgstr "Ajouter une personne" msgstr "Ajouter une personne"
#: sith/settings.py:211 #: sith/settings.py:212
msgid "English" msgid "English"
msgstr "Anglais" msgstr "Anglais"
#: sith/settings.py:212 #: sith/settings.py:213
msgid "French" msgid "French"
msgstr "Français" msgstr "Français"
#: sith/settings.py:344 #: sith/settings.py:345
msgid "TC" msgid "TC"
msgstr "TC" msgstr "TC"
#: sith/settings.py:345 #: sith/settings.py:346
msgid "IMSI" msgid "IMSI"
msgstr "IMSI" msgstr "IMSI"
#: sith/settings.py:346 #: sith/settings.py:347
msgid "IMAP" msgid "IMAP"
msgstr "IMAP" msgstr "IMAP"
#: sith/settings.py:347 #: sith/settings.py:348
msgid "INFO" msgid "INFO"
msgstr "INFO" msgstr "INFO"
#: sith/settings.py:348 #: sith/settings.py:349
msgid "GI" msgid "GI"
msgstr "GI" msgstr "GI"
#: sith/settings.py:349 #: sith/settings.py:350
msgid "E" msgid "E"
msgstr "E" msgstr "E"
#: sith/settings.py:350 #: sith/settings.py:351
msgid "EE" msgid "EE"
msgstr "EE" msgstr "EE"
#: sith/settings.py:351 #: sith/settings.py:352
msgid "GESC" msgid "GESC"
msgstr "GESC" msgstr "GESC"
#: sith/settings.py:352 #: sith/settings.py:353
msgid "GMC" msgid "GMC"
msgstr "GMC" msgstr "GMC"
#: sith/settings.py:353 #: sith/settings.py:354
msgid "MC" msgid "MC"
msgstr "MC" msgstr "MC"
#: sith/settings.py:354 #: sith/settings.py:355
msgid "EDIM" msgid "EDIM"
msgstr "EDIM" msgstr "EDIM"
#: sith/settings.py:355 #: sith/settings.py:356
msgid "Humanities" msgid "Humanities"
msgstr "Humanités" msgstr "Humanités"
#: sith/settings.py:356 #: sith/settings.py:357
msgid "N/A" msgid "N/A"
msgstr "N/A" msgstr "N/A"
#: sith/settings.py:360 sith/settings.py:367 sith/settings.py:388 #: sith/settings.py:361 sith/settings.py:368 sith/settings.py:389
msgid "Check" msgid "Check"
msgstr "Chèque" msgstr "Chèque"
#: sith/settings.py:361 sith/settings.py:369 sith/settings.py:389 #: sith/settings.py:362 sith/settings.py:370 sith/settings.py:390
msgid "Cash" msgid "Cash"
msgstr "Espèces" msgstr "Espèces"
#: sith/settings.py:362 #: sith/settings.py:363
msgid "Transfert" msgid "Transfert"
msgstr "Virement" msgstr "Virement"
#: sith/settings.py:375 #: sith/settings.py:376
msgid "Belfort" msgid "Belfort"
msgstr "Belfort" msgstr "Belfort"
#: sith/settings.py:376 #: sith/settings.py:377
msgid "Sevenans" msgid "Sevenans"
msgstr "Sevenans" msgstr "Sevenans"
#: sith/settings.py:377 #: sith/settings.py:378
msgid "Montbéliard" msgid "Montbéliard"
msgstr "Montbéliard" msgstr "Montbéliard"
#: sith/settings.py:435 #: sith/settings.py:436
msgid "One semester" msgid "One semester"
msgstr "Un semestre, 15 €" msgstr "Un semestre, 15 €"
#: sith/settings.py:440 #: sith/settings.py:441
msgid "Two semesters" msgid "Two semesters"
msgstr "Deux semestres, 28 €" msgstr "Deux semestres, 28 €"
#: sith/settings.py:445 #: sith/settings.py:446
msgid "Common core cursus" msgid "Common core cursus"
msgstr "Cursus tronc commun, 45 €" msgstr "Cursus tronc commun, 45 €"
#: sith/settings.py:450 #: sith/settings.py:451
msgid "Branch cursus" msgid "Branch cursus"
msgstr "Cursus branche, 45 €" msgstr "Cursus branche, 45 €"
#: sith/settings.py:455 #: sith/settings.py:456
msgid "Alternating cursus" msgid "Alternating cursus"
msgstr "Cursus alternant, 30 €" msgstr "Cursus alternant, 30 €"
#: sith/settings.py:460 #: sith/settings.py:461
msgid "Honorary member" msgid "Honorary member"
msgstr "Membre honoraire, 0 €" msgstr "Membre honoraire, 0 €"
#: sith/settings.py:465 #: sith/settings.py:466
msgid "Assidu member" msgid "Assidu member"
msgstr "Membre d'Assidu, 0 €" msgstr "Membre d'Assidu, 0 €"
#: sith/settings.py:470 #: sith/settings.py:471
msgid "Amicale/DOCEO member" msgid "Amicale/DOCEO member"
msgstr "Membre de l'Amicale/DOCEO, 0 €" msgstr "Membre de l'Amicale/DOCEO, 0 €"
#: sith/settings.py:475 #: sith/settings.py:476
msgid "UT network member" msgid "UT network member"
msgstr "Cotisant du réseau UT, 0 €" msgstr "Cotisant du réseau UT, 0 €"
#: sith/settings.py:480 #: sith/settings.py:481
msgid "CROUS member" msgid "CROUS member"
msgstr "Membres du CROUS, 0 €" msgstr "Membres du CROUS, 0 €"
#: sith/settings.py:485 #: sith/settings.py:486
msgid "Sbarro/ESTA member" msgid "Sbarro/ESTA member"
msgstr "Membre de Sbarro ou de l'ESTA, 15 €" msgstr "Membre de Sbarro ou de l'ESTA, 15 €"
#: sith/settings.py:490 #: sith/settings.py:491
msgid "One semester Welcome Week" msgid "One semester Welcome Week"
msgstr "Un semestre Welcome Week" msgstr "Un semestre Welcome Week"
#: sith/settings.py:495 #: sith/settings.py:496
msgid "Two month for free" msgid "Two month for free"
msgstr "Deux mois gratuits" msgstr "Deux mois gratuits"
#: sith/settings.py:517 #: sith/settings.py:518
msgid "President" msgid "President"
msgstr "Président" msgstr "Président"
#: sith/settings.py:518 #: sith/settings.py:519
msgid "Vice-President" msgid "Vice-President"
msgstr "Vice-Président" msgstr "Vice-Président"
#: sith/settings.py:519 #: sith/settings.py:520
msgid "Treasurer" msgid "Treasurer"
msgstr "Trésorier" msgstr "Trésorier"
#: sith/settings.py:520 #: sith/settings.py:521
msgid "Communication supervisor" msgid "Communication supervisor"
msgstr "Responsable communication" msgstr "Responsable communication"
#: sith/settings.py:521 #: sith/settings.py:522
msgid "Secretary" msgid "Secretary"
msgstr "Secrétaire" msgstr "Secrétaire"
#: sith/settings.py:522 #: sith/settings.py:523
msgid "IT supervisor" msgid "IT supervisor"
msgstr "Responsable info" msgstr "Responsable info"
#: sith/settings.py:523 #: sith/settings.py:524
msgid "Board member" msgid "Board member"
msgstr "Membre du bureau" msgstr "Membre du bureau"
#: sith/settings.py:524 #: sith/settings.py:525
msgid "Active member" msgid "Active member"
msgstr "Membre actif" msgstr "Membre actif"
#: sith/settings.py:525 #: sith/settings.py:526
msgid "Curious" msgid "Curious"
msgstr "Curieux" msgstr "Curieux"
#: sith/settings.py:560 #: sith/settings.py:561
msgid "A new mailing list needs to be moderated" msgid "A new mailing list needs to be moderated"
msgstr "Une nouvelle mailing list a besoin d'être modérée" msgstr "Une nouvelle mailing list a besoin d'être modérée"
#: sith/settings.py:561 #: sith/settings.py:562
#, python-format #, python-format
msgid "There are %s fresh news to be moderated" msgid "There are %s fresh news to be moderated"
msgstr "Il y a %s nouvelles toutes fraîches à modérer" msgstr "Il y a %s nouvelles toutes fraîches à modérer"
#: sith/settings.py:562 #: sith/settings.py:563
msgid "New files to be moderated" msgid "New files to be moderated"
msgstr "Nouveaux fichiers à modérer" msgstr "Nouveaux fichiers à modérer"
#: sith/settings.py:563 #: sith/settings.py:564
#, python-format #, python-format
msgid "There are %s pictures to be moderated in the SAS" msgid "There are %s pictures to be moderated in the SAS"
msgstr "Il y a %s photos à modérer dans le SAS" msgstr "Il y a %s photos à modérer dans le SAS"
#: sith/settings.py:564 #: sith/settings.py:565
msgid "You've been identified on some pictures" msgid "You've been identified on some pictures"
msgstr "Vous avez été identifié sur des photos" msgstr "Vous avez été identifié sur des photos"
#: sith/settings.py:565 #: sith/settings.py:566
#, python-format #, python-format
msgid "You just refilled of %s €" msgid "You just refilled of %s €"
msgstr "Vous avez rechargé votre compte de %s€" msgstr "Vous avez rechargé votre compte de %s€"
#: sith/settings.py:566 #: sith/settings.py:567
#, python-format #, python-format
msgid "You just bought %s" msgid "You just bought %s"
msgstr "Vous avez acheté %s" msgstr "Vous avez acheté %s"
#: sith/settings.py:567 #: sith/settings.py:568
msgid "You have a notification" msgid "You have a notification"
msgstr "Vous avez une notification" msgstr "Vous avez une notification"
#: sith/settings.py:579 #: sith/settings.py:580
msgid "Success!" msgid "Success!"
msgstr "Succès !" msgstr "Succès !"
#: sith/settings.py:580 #: sith/settings.py:581
msgid "Fail!" msgid "Fail!"
msgstr "Échec !" msgstr "Échec !"
#: sith/settings.py:581 #: sith/settings.py:582
msgid "You successfully posted an article in the Weekmail" msgid "You successfully posted an article in the Weekmail"
msgstr "Article posté avec succès dans le Weekmail" msgstr "Article posté avec succès dans le Weekmail"
#: sith/settings.py:582 #: sith/settings.py:583
msgid "You successfully edited an article in the Weekmail" msgid "You successfully edited an article in the Weekmail"
msgstr "Article édité avec succès dans le Weekmail" msgstr "Article édité avec succès dans le Weekmail"
#: sith/settings.py:583 #: sith/settings.py:584
msgid "You successfully sent the Weekmail" msgid "You successfully sent the Weekmail"
msgstr "Weekmail envoyé avec succès" msgstr "Weekmail envoyé avec succès"
@ -4653,7 +4661,7 @@ msgid "Quantity bought"
msgstr "Quantité achetée" msgstr "Quantité achetée"
#: stock/templates/stock/shopping_list_items.jinja:42 stock/views.py:206 #: stock/templates/stock/shopping_list_items.jinja:42 stock/views.py:206
#: trombi/templates/trombi/export.jinja:72 #: trombi/templates/trombi/export.jinja:70
msgid "Comments" msgid "Comments"
msgstr "Commentaires" msgstr "Commentaires"
@ -5019,11 +5027,11 @@ msgstr "Copier la photo de profil"
msgid "Copy scrub picture" msgid "Copy scrub picture"
msgstr "Copier la photo de blouse" msgstr "Copier la photo de blouse"
#: trombi/templates/trombi/export.jinja:70 #: trombi/templates/trombi/export.jinja:68
msgid "Copy clubs" msgid "Copy clubs"
msgstr "Copier les clubs" msgstr "Copier les clubs"
#: trombi/templates/trombi/export.jinja:87 #: trombi/templates/trombi/export.jinja:85
msgid "Copy comments" msgid "Copy comments"
msgstr "Copier les commentaires" msgstr "Copier les commentaires"