Filtrer les libellés des écritures
This commit is contained in:
parent
262b25889b
commit
900b0f5a47
9 changed files with 171 additions and 11 deletions
|
|
@ -37,8 +37,16 @@
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{:assign condition=$condition|cat:"0)"}}
|
{{:assign condition=$condition|cat:"0)"}}
|
||||||
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
||||||
{{:assign nb_immo=0}}
|
|
||||||
|
|
||||||
|
{{:assign filter_condition=" NOT ("}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||||
|
{{:assign condition=$condition|cat:" AND "|cat:$filter_condition}}
|
||||||
|
|
||||||
|
{{:assign nb_immo=0}}
|
||||||
{{#select
|
{{#select
|
||||||
trans.id as trans_id,
|
trans.id as trans_id,
|
||||||
trans.label as trans_label,
|
trans.label as trans_label,
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
{{* lister les immobilisations *}}
|
{{* lister les immobilisations *}}
|
||||||
{{:include file="_get_config.html" keep="module.config.prefixes"}}
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
|
||||||
{{:assign condition="("}}
|
{{:assign condition="("}}
|
||||||
{{#foreach from=$module.config.prefixes item="code"}}
|
{{#foreach from=$module.config.prefixes item="code"}}
|
||||||
|
|
@ -38,8 +38,16 @@
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{:assign condition=$condition|cat:"0)"}}
|
{{:assign condition=$condition|cat:"0)"}}
|
||||||
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
{{:assign condition=$condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
||||||
{{:assign nb_immo=0}}
|
|
||||||
|
|
||||||
|
{{:assign filter_condition=" NOT ("}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||||
|
{{:assign condition=$condition|cat:" AND "|cat:$filter_condition}}
|
||||||
|
|
||||||
|
{{:assign nb_immo=0}}
|
||||||
{{#select
|
{{#select
|
||||||
trans.id as trans_id,
|
trans.id as trans_id,
|
||||||
trans.label as trans_label,
|
trans.label as trans_label,
|
||||||
|
|
|
||||||
|
|
@ -33,4 +33,12 @@
|
||||||
<li class="title"><strong>Sortie de bilan</strong></li>
|
<li class="title"><strong>Sortie de bilan</strong></li>
|
||||||
</ul>
|
</ul>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{if $current == "config"}}
|
||||||
|
<ul class="sub">
|
||||||
|
<li {{if $subcurrent == null}} class="current"{{/if}}><a href="config.html">Comptes d'immobilisation</a></li>
|
||||||
|
<li {{if $subcurrent == "create_accounts"}} class="current"{{/if}}><a href="create_accounts.html">Comptes de sortie du bilan</a></li>
|
||||||
|
<li {{if $subcurrent == "filters"}} class="current"{{/if}}><a href="filters.html">Filtres de libellés</a></li>
|
||||||
|
</ul>
|
||||||
|
{{/if}}
|
||||||
</nav>
|
</nav>
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
{{* lister les immobilisations en cours de constitution *}}
|
{{* lister les immobilisations en cours de constitution *}}
|
||||||
{{:include file="_get_config.html" keep="module.config.unfinished"}}
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
|
||||||
{{:assign accounts_condition="("}}
|
{{:assign accounts_condition="("}}
|
||||||
{{#foreach from=$module.config.unfinished item="elem"}}
|
{{#foreach from=$module.config.unfinished item="elem"}}
|
||||||
|
|
@ -61,8 +61,17 @@
|
||||||
{{/foreach}}
|
{{/foreach}}
|
||||||
{{:assign accounts_condition=$accounts_condition|cat:"0)"}}
|
{{:assign accounts_condition=$accounts_condition|cat:"0)"}}
|
||||||
{{:assign condition=$accounts_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
{{:assign condition=$accounts_condition|cat:" AND debit > 0 AND NOT (trans.status & 16)"}}
|
||||||
{{:assign nb_immo=0}}
|
|
||||||
|
|
||||||
|
{{:assign filter_condition=" NOT ("}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:" trans_label LIKE "|cat:$filter|cat:" OR "}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||||
|
{{:assign condition=$condition|cat:" AND "|cat:$filter_condition}}
|
||||||
|
{{*:debug condition=$condition*}}
|
||||||
|
|
||||||
|
{{:assign nb_immo=0}}
|
||||||
{{#select
|
{{#select
|
||||||
trans.id as trans_id,
|
trans.id as trans_id,
|
||||||
trans.label as trans_label,
|
trans.label as trans_label,
|
||||||
|
|
|
||||||
|
|
@ -79,6 +79,14 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{* Autres amortissements non rattachés *}}
|
{{* Autres amortissements non rattachés *}}
|
||||||
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
{{:assign filter_condition=" NOT ("}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:" trans.label LIKE "|cat:$filter|cat:" OR "}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||||
|
|
||||||
{{#select
|
{{#select
|
||||||
line.id as l_id,
|
line.id as l_id,
|
||||||
line.id_transaction as t_id,
|
line.id_transaction as t_id,
|
||||||
|
|
@ -94,8 +102,9 @@
|
||||||
INNER JOIN acc_accounts AS account ON account.id = line.id_account
|
INNER JOIN acc_accounts AS account ON account.id = line.id_account
|
||||||
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
|
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
|
||||||
INNER JOIN acc_years AS y ON y.id = trans.id_year
|
INNER JOIN acc_years AS y ON y.id = trans.id_year
|
||||||
WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16)
|
WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16) AND !filter_condition
|
||||||
ORDER BY trans.date, trans.label;
|
ORDER BY trans.date, trans.label;
|
||||||
|
!filter_condition=$filter_condition
|
||||||
assign=autre_amort
|
assign=autre_amort
|
||||||
}}
|
}}
|
||||||
{{#select
|
{{#select
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
{{* -*- brindille -*- *}}
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
{{:admin_header title="Configuration" custom_css="./style.css" current="module_amortissement"}}
|
|
||||||
{{:include file="_nav.html" current="config"}}
|
|
||||||
|
|
||||||
{{if $_GET.ok == 1}}
|
{{if $_GET.ok == 1}}
|
||||||
<p class="block confirm">Configuration enregistrée.</p>
|
<p class="block confirm">Configuration enregistrée.</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
@ -52,6 +49,9 @@
|
||||||
{{:form_errors}}
|
{{:form_errors}}
|
||||||
{{/form}}
|
{{/form}}
|
||||||
|
|
||||||
|
{{:admin_header title="Configuration" custom_css="./style.css" current="module_amortissement"}}
|
||||||
|
{{:include file="_nav.html" current="config"}}
|
||||||
|
|
||||||
{{* récupérer l'exercice courant ou sinon le plus récent *}}
|
{{* récupérer l'exercice courant ou sinon le plus récent *}}
|
||||||
{{:assign var="selected_year" from="logged_user.preferences.accounting_year"}}
|
{{:assign var="selected_year" from="logged_user.preferences.accounting_year"}}
|
||||||
{{if $selected_year == null}}
|
{{if $selected_year == null}}
|
||||||
|
|
|
||||||
94
filters.html
Normal file
94
filters.html
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
{{* -*- brindille -*- *}}
|
||||||
|
|
||||||
|
{{:admin_header title="Configuration" custom_css="./style.css" current="module_amortissement"}}
|
||||||
|
{{:include file="_nav.html" current="config" subcurrent="filters"}}
|
||||||
|
|
||||||
|
{{if $_GET.ok == 1}}
|
||||||
|
<p class="block confirm">Configuration enregistrée.</p>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{* lecture config *}}
|
||||||
|
{{:include file="./_get_config.html" keep="module.config"}}
|
||||||
|
|
||||||
|
{{#form on="save"}}
|
||||||
|
{{* enregistrer les filtres dans la config *}}
|
||||||
|
{{#foreach from=$_POST.filters item="filter"}}
|
||||||
|
{{if $filter != ""}}
|
||||||
|
{{:assign var="filters." value=$filter}}
|
||||||
|
{{/if}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:save key="config" filters=$filters}}
|
||||||
|
{{:redirect to="./filters.html"}}
|
||||||
|
{{/form}}
|
||||||
|
|
||||||
|
<form method="post" action="">
|
||||||
|
<h3>Liste de libellés à ignorer</h3>
|
||||||
|
<p class="help">
|
||||||
|
Les écritures dont le libellé contient un des textes ci-dessous seront ignorées
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<table class="list" id="filter_list">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Libellé</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{{if $module.config.filters == null}}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{:input type="text" name="filters[]" required=false}}
|
||||||
|
</td>
|
||||||
|
<td class="actions">
|
||||||
|
{{:button
|
||||||
|
label="Enlever"
|
||||||
|
title="Enlever une ligne"
|
||||||
|
shape="minus"
|
||||||
|
name="remove_line"
|
||||||
|
}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{else}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{:input type="text" name="filters[]" default=$filter required=false}}
|
||||||
|
</td>
|
||||||
|
<td class="actions">
|
||||||
|
{{:button
|
||||||
|
label="Enlever"
|
||||||
|
title="Enlever une ligne"
|
||||||
|
shape="minus"
|
||||||
|
name="remove_line"
|
||||||
|
}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/foreach}}
|
||||||
|
{{/if}}
|
||||||
|
</tbody>
|
||||||
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td class="actions">{{:button shape="plus" label="Ajouter" title="Ajouter un libellé"}}</td>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
<p class="submit">
|
||||||
|
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="scripts.js"></script>
|
||||||
|
<script type="text/javascript" async="async">
|
||||||
|
|
||||||
|
// bouton - : supprimer une ligne
|
||||||
|
let lines = $('#filter_list tbody tr');
|
||||||
|
lines.forEach(initLine);
|
||||||
|
|
||||||
|
// bouton + : dupliquer une ligne de la 1ère table
|
||||||
|
for (const b of $('#filter_list tfoot button')) {
|
||||||
|
copyLine(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
@ -23,6 +23,14 @@
|
||||||
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
{{:error message="Immobilisation %s non trouvée"|args:$_GET.immo_id}}
|
||||||
{{/select}}
|
{{/select}}
|
||||||
|
|
||||||
|
{{:include file="_get_config.html" keep="module.config"}}
|
||||||
|
{{:assign filter_condition=" NOT ("}}
|
||||||
|
{{#foreach from=$module.config.filters item="filter"}}
|
||||||
|
{{:assign filter="%"|cat:$filter|cat:"%"|quote_sql}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:" trans.label LIKE "|cat:$filter|cat:" OR "}}
|
||||||
|
{{/foreach}}
|
||||||
|
{{:assign filter_condition=$filter_condition|cat:"0)"}}
|
||||||
|
|
||||||
{{#select
|
{{#select
|
||||||
line.id as l_id,
|
line.id as l_id,
|
||||||
line.id_transaction as t_id,
|
line.id_transaction as t_id,
|
||||||
|
|
@ -38,8 +46,9 @@
|
||||||
INNER JOIN acc_accounts AS account ON account.id = line.id_account
|
INNER JOIN acc_accounts AS account ON account.id = line.id_account
|
||||||
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
|
INNER JOIN acc_transactions AS trans ON trans.id = line.id_transaction
|
||||||
INNER JOIN acc_years AS y ON y.id = trans.id_year
|
INNER JOIN acc_years AS y ON y.id = trans.id_year
|
||||||
WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16)
|
WHERE account.code LIKE "28%" AND credit > 0 AND (NOT trans.status & 16) AND !filter_condition
|
||||||
ORDER BY trans.date, trans.label;
|
ORDER BY trans.date, trans.label;
|
||||||
|
!filter_condition=$filter_condition
|
||||||
assign=autre_amort
|
assign=autre_amort
|
||||||
}}
|
}}
|
||||||
{{#select
|
{{#select
|
||||||
|
|
|
||||||
17
scripts.js
17
scripts.js
|
|
@ -149,7 +149,7 @@ function initLine(row) {
|
||||||
var min = removeBtn.getAttribute('min');
|
var min = removeBtn.getAttribute('min');
|
||||||
|
|
||||||
if (count <= min) {
|
if (count <= min) {
|
||||||
alert("Il n'est pas possible d'avoir moins de " + min + " compte(s).");
|
alert("Il n'est pas possible d'avoir moins de " + min + " ligne(s).");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -235,3 +235,18 @@ function computeTotal(id_total, id_url) {
|
||||||
let new_href = url.href.replace(/trans=.*/, 'trans=' + Object.values(transactions));
|
let new_href = url.href.replace(/trans=.*/, 'trans=' + Object.values(transactions));
|
||||||
url.href = new_href;
|
url.href = new_href;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dupliquer la dernière ligne d'une table
|
||||||
|
function copyLine(button) {
|
||||||
|
button.onclick = () => {
|
||||||
|
let lines = button.closest("table").querySelectorAll('tbody tr');
|
||||||
|
let line = lines[lines.length - 1];
|
||||||
|
let newNode = line.cloneNode(true);
|
||||||
|
let libelle = newNode.querySelector('input');
|
||||||
|
libelle.value = '';
|
||||||
|
|
||||||
|
// ajouter la nouvelle ligne
|
||||||
|
line.parentNode.appendChild(newNode);
|
||||||
|
initLine(newNode);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue