1 {include file="admin/_head.tpl" title="Saisie d'une opération" current="compta/saisie" js=1}
17 L'opération numéro <a href="{$www_url}admin/compta/operations/voir.php?id={$ok|escape}">{$ok|escape}</a> a été ajoutée.
18 (<a href="{$www_url}admin/compta/operations/voir.php?id={$ok|escape}">Voir l'opération</a>)
23 <li{if $type == Garradin\Compta_Categories::RECETTES} class="current"{/if}><a href="{$www_url}admin/compta/operations/saisir.php?recette">Recette</a></li>
24 <li{if $type == Garradin\Compta_Categories::DEPENSES} class="current"{/if}><a href="{$www_url}admin/compta/operations/saisir.php?depense">Dépense</a></li>
25 <li{if $type === 'virement'} class="current"{/if}><a href="{$www_url}admin/compta/operations/saisir.php?virement">Virement interne</a></li>
26 <li{if $type === 'dette'} class="current"{/if}><a href="{$www_url}admin/compta/operations/saisir.php?dette">Dette</a></li>
27 <li{if is_null($type)} class="current"{/if}><a href="{$www_url}admin/compta/operations/saisir.php?avance">Saisie avancée</a></li>
30 <form method="post" action="{$self_url|escape}">
33 <legend>Informations sur l'opération</legend>
35 <dt><label for="f_date">Date</label> <b title="(Champ obligatoire)">obligatoire</b></dt>
36 <dd><input type="date" name="date" id="f_date" value="{form_field name=date default=$date}" size="10" required="required" /></dd>
37 <dt><label for="f_libelle">Libellé</label> <b title="(Champ obligatoire)">obligatoire</b></dt>
38 <dd><input type="text" name="libelle" id="f_libelle" value="{form_field name=libelle}" required="required" /></dd>
42 <legend>Flux <b title="(Champ obligatoire)">obligatoire</b></legend>
46 <th><label for="f_compte">Compte</label></th>
47 <th><label for="f_montant">Montant<br /><b title="">crédit < 0 < débit</b></label></th>
51 {foreach from=$fluxs item="flux" key="flux_n" name="fluxs"}
53 <td class="compte">{select_compte comptes=$comptes name="compte" form_name="compte_$flux_n" id="f_compte_$flux_n" data=$flux}</td>
54 {if !$tpl.foreach.fluxs.last}
55 <td class="montant"><input type="number" size="5" name="montant_{$flux_n}" id="f_montant_{$flux_n}"
56 value="{form_field name="montant" data=$flux}"
57 min="0.00" step="0.01" required="required"
58 /> {$config.monnaie|escape}</td>
65 {elseif $type === 'virement'}
66 <dt><label for="f_compte1">Compte débité</label></dt>
68 <select name="compte1" id="f_compte1">
69 <option value="{Garradin\Compta_Comptes::CAISSE}">Caisse</option>
70 {foreach from=$comptes_bancaires item="compte"}
71 <option value="{$compte.id|escape}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle|escape} - {$compte.banque|escape}</option>
75 <dt><label for="f_compte2">Compte crédité</label></dt>
77 <select name="compte2" id="f_compte2">
78 <option value="{Garradin\Compta_Comptes::CAISSE}">Caisse</option>
79 {foreach from=$comptes_bancaires item="compte"}
80 <option value="{$compte.id|escape}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle|escape} - {$compte.banque|escape}</option>
84 {elseif $type === 'dette'}
85 <dt><label for="f_compte_usager">Type de dette</label></dt>
87 <input type="radio" name="compte" id="f_compte_usager" value="4110" {form_field name=compte checked=4110 default=4110} />
88 <label for="f_compte_usager">Dette envers un membre ou usager</label>
91 <input type="radio" name="compte" id="f_compte_fournisseur" value="4010" {form_field name=compte checked=4010} />
92 <label for="f_compte_fournisseur">Dette envers un fournisseur</label>
95 <dt><label for="f_moyen_paiement">Moyen de paiement</label> <b title="(Champ obligatoire)">obligatoire</b></dt>
97 <select name="moyen_paiement" id="f_moyen_paiement" required="required">
98 {foreach from=$moyens_paiement item="moyen"}
99 <option value="{$moyen.code|escape}"{if $moyen.code == $moyen_paiement} selected="selected"{/if}>{$moyen.nom|escape}</option>
103 <dt class="f_cheque"><label for="f_numero_cheque">Numéro de chèque</label></dt>
104 <dd class="f_cheque"><input type="text" name="numero_cheque" id="f_numero_cheque" value="{form_field name=numero_cheque}" /></dd>
105 <dt class="f_banque"><label for="f_banque">Compte bancaire</label></dt>
106 <dd class="f_banque">
107 <select name="banque" id="f_banque">
108 {foreach from=$comptes_bancaires item="compte"}
109 <option value="{$compte.id|escape}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle|escape} - {$compte.banque|escape}</option>
114 <dt><label for="f_numero_piece">Numéro de pièce comptable</label></dt>
115 <dd><input type="text" name="numero_piece" id="f_numero_piece" value="{form_field name=numero_piece}" /></dd>
116 <dt><label for="f_remarques">Remarques</label></dt>
117 <dd><textarea name="remarques" id="f_remarques" rows="4" cols="30">{form_field name=remarques}</textarea></dd>
122 <script type="text/javascript">
125 if (!document.querySelector || !document.querySelectorAll)
129 fluxs = document.querySelector('#fluxs');
132 var fluxs = fluxs.querySelectorAll('#fluxs > table > tbody > tr');
133 var fluxs_nb = fluxs.length;
135 var add = document.createElement('input');
137 add.className = 'icn add';
139 add.title = 'Ajouter un flux';
140 add.onclick = function (e) {
141 var p = this.parentNode.parentNode; // tbody
142 var fluxs = p.querySelectorAll('tr'); // tr
143 var fluxs_nb = fluxs.length;
146 var new_flux = this.parentNode.cloneNode(true); // tr
147 var new_compte = new_flux.querySelector('.compte');
148 new_compte.querySelector('select').id = 'f_compte_'+fluxs_nb;
149 new_compte.querySelector('select').name = 'compte_'+fluxs_nb;
150 p.appendChild(new_flux);
152 // Add a montant to old last flux
153 var new_montant = fluxs[0].querySelector('.montant').cloneNode(true);
154 new_montant.querySelector('input').id = 'f_montant_'+(fluxs_nb - 1);
155 new_montant.querySelector('input').name = 'montant_'+(fluxs_nb - 1);
156 new_montant.querySelector('input').value = '0';
157 this.parentNode.appendChild(new_montant);
158 this.parentNode.removeChild(this);
160 // Register this callback on new flux
161 var btn = new_flux.querySelector('input.add');
162 btn.onclick = this.onclick;
165 fluxs[fluxs_nb - 1].appendChild(add);
170 {elseif $type == Garradin\Compta_Categories::DEPENSES || $type == Garradin\Compta_Categories::RECETTES || $type == 'dette'}
172 <legend>Catégorie</legend>
174 {foreach from=$categories item="cat"}
176 <input type="radio" name="categorie" value="{$cat.id|escape}" id="f_cat_{$cat.id|escape}" {form_field name="categorie" checked=$cat.id} />
177 <label for="f_cat_{$cat.id|escape}">{$cat.intitule|escape}</label>
179 {if !empty($cat.description)}
180 <dd class="desc">{$cat.description|escape}</dd>
186 <script type="text/javascript">
190 window.changeMoyenPaiement = function()
192 var elm = $('#f_moyen_paiement');
193 toggleElementVisibility('.f_cheque', elm.value == 'CH');
194 toggleElementVisibility('.f_banque', elm.value != 'ES');
197 changeMoyenPaiement();
199 $('#f_moyen_paiement').onchange = changeMoyenPaiement;
206 {csrf_field key="compta_saisie"}
207 <input type="submit" name="save" value="Enregistrer →" />
212 {include file="admin/_foot.tpl"}