Overview
Comment: | Ajoute option : chèques / CB à encaisser |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
bc71c0882ce1841f9deaebc329185487 |
User & Date: | bohwaz on 2017-10-11 00:38:19 |
Other Links: | branch diff | manifest | tags |
Context
2017-10-11
| ||
04:53 | Gestion de projets (compta analytique) check-in: f571ba3640 user: bohwaz tags: dev | |
00:38 | Ajoute option : chèques / CB à encaisser check-in: bc71c0882c user: bohwaz tags: dev | |
2017-10-10
| ||
04:58 | Ne sont plus nécessaires check-in: b01c425c0b user: bohwaz tags: dev | |
Changes
Modified src/include/data/plan_comptable.json from [11c2e3c591] to [a0d7ad88ed].
︙ | ︙ | |||
1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 | }, "51": { "code": 51, "nom": "BANQUES, \u00c9TABLISSEMENTS FINANCIERS ET ASSIMIL\u00c9S", "parent": 5, "position": 2 }, "512": { "code": 512, "nom": "Banques", "parent": 51, "position": 2 }, "53": { | > > > > > > > > > > > > > > > > > > | 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 | }, "51": { "code": 51, "nom": "BANQUES, \u00c9TABLISSEMENTS FINANCIERS ET ASSIMIL\u00c9S", "parent": 5, "position": 2 }, "511": { "code": 511, "nom": "Valeurs à l'encaissement", "parent": 51, "position": 2 }, "5112": { "code": 5112, "nom": "Chèques à encaisser", "parent": 511, "position": 2 }, "5115": { "code": 5115, "nom": "Paiements par carte à encaisser", "parent": 511, "position": 2 }, "512": { "code": 512, "nom": "Banques", "parent": 51, "position": 2 }, "53": { |
︙ | ︙ |
Modified src/include/lib/Garradin/Compta/Comptes.php from [62194cfbde] to [f2bc5722a8].
1 2 3 4 5 6 7 8 9 10 | <?php namespace Garradin\Compta; use \Garradin\DB; use \Garradin\Utils; use \Garradin\UserException; class Comptes { | | > > > | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <?php namespace Garradin\Compta; use \Garradin\DB; use \Garradin\Utils; use \Garradin\UserException; class Comptes { const CAISSE = '530'; const CHEQUE_A_ENCAISSER = '5112'; const CARTE_A_ENCAISSER = '5115'; const PASSIF = 0x01; const ACTIF = 0x02; const PRODUIT = 0x04; const CHARGE = 0x08; public function importPlan() { $plan = json_decode(file_get_contents(\Garradin\ROOT . '/include/data/plan_comptable.json')); $db = DB::getInstance(); $db->begin(); $ids = []; foreach ($plan as $id=>$compte) { $ids[] = $id; if ($db->test('compta_comptes', $db->where('id', $id))) { $db->update('compta_comptes', [ 'parent' => $compte->parent, 'libelle' => $compte->nom, 'position' => $compte->position, 'plan_comptable' => 1, ], $db->where('id', $id)); } else { $db->insert('compta_comptes', [ 'id' => $id, 'parent' => $compte->parent, 'libelle' => $compte->nom, 'position' => $compte->position, 'plan_comptable' => 1, ]); } } // Supprime les comptes qui étaient dans l'ancien plan comptable // mais pas dans le nouveau |
︙ | ︙ |
Modified src/templates/admin/compta/operations/saisir.tpl from [ea0dad9d97] to [95ac71bec2].
1 2 3 4 5 6 7 | {include file="admin/_head.tpl" title="Saisie d'une opération" current="compta/saisie" js=1} <form method="post" action="{$self_url}"> <ul class="actions"> <li><input type="radio" name="type" value="recette" {form_field name=type checked=recette default=recette} id="f_type_recette" /><label for="f_type_recette">Recette</label></li> <li><input type="radio" name="type" value="depense" {form_field name=type checked=depense} id="f_type_depense" /><label for="f_type_depense">Dépense</label></li> <li><input type="radio" name="type" value="virement" {form_field name=type checked=virement} id="f_type_virement" /><label for="f_type_virement">Virement interne</label></li> | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | {include file="admin/_head.tpl" title="Saisie d'une opération" current="compta/saisie" js=1} <form method="post" action="{$self_url}"> <ul class="actions"> <li><input type="radio" name="type" value="recette" {form_field name=type checked=recette default=recette} id="f_type_recette" /><label for="f_type_recette">Recette</label></li> <li><input type="radio" name="type" value="depense" {form_field name=type checked=depense} id="f_type_depense" /><label for="f_type_depense">Dépense</label></li> <li><input type="radio" name="type" value="virement" {form_field name=type checked=virement} id="f_type_virement" /><label for="f_type_virement">Virement interne</label></li> <li><input type="radio" name="type" value="encaisser" {form_field name=type checked=encaisser} id="f_type_encaisser" /><label for="f_type_encaisser">Encaissement</label></li> <li><input type="radio" name="type" value="avance" {form_field name=type checked=avance} id="f_type_avance" /><label for="f_type_avance">Saisie avancée</label></li> </ul> {form_errors} {if $ok} <p class="confirm"> |
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | <dd> <select name="moyen_paiement" id="f_moyen_paiement" required="required"> {foreach from=$moyens_paiement item="moyen"} <option value="{$moyen.code}"{if $moyen.code == $moyen_paiement} selected="selected"{/if}>{$moyen.nom}</option> {/foreach} </select> </dd> <dt class="f_cheque"><label for="f_numero_cheque">Numéro de chèque</label></dt> <dd class="f_cheque"><input type="text" name="numero_cheque" id="f_numero_cheque" value="{form_field name=numero_cheque}" /></dd> <dt class="f_banque"><label for="f_banque">Compte bancaire</label></dt> <dd class="f_banque"> <select name="banque" id="f_banque"> {foreach from=$comptes_bancaires item="compte"} <option value="{$compte.id}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle} - {$compte.banque}</option> | > > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <dd> <select name="moyen_paiement" id="f_moyen_paiement" required="required"> {foreach from=$moyens_paiement item="moyen"} <option value="{$moyen.code}"{if $moyen.code == $moyen_paiement} selected="selected"{/if}>{$moyen.nom}</option> {/foreach} </select> </dd> <dd class="f_a_encaisser"> <input type="checkbox" name="a_encaisser" value="1" id="f_a_encaisser" {form_field name=a_encaisser checked="1"} /> <label for="f_a_encaisser">En attente d'encaissement</label> </dd> <dt class="f_cheque"><label for="f_numero_cheque">Numéro de chèque</label></dt> <dd class="f_cheque"><input type="text" name="numero_cheque" id="f_numero_cheque" value="{form_field name=numero_cheque}" /></dd> <dt class="f_banque"><label for="f_banque">Compte bancaire</label></dt> <dd class="f_banque"> <select name="banque" id="f_banque"> {foreach from=$comptes_bancaires item="compte"} <option value="{$compte.id}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle} - {$compte.banque}</option> |
︙ | ︙ | |||
62 63 64 65 66 67 68 | {select_compte comptes=$comptes name="compte_debit"} </dd> <dt><label for="f_compte_credit">Compte crédité</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd> {select_compte comptes=$comptes name="compte_credit"} </dd> </dl> | < > > | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | {select_compte comptes=$comptes name="compte_debit"} </dd> <dt><label for="f_compte_credit">Compte crédité</label> <b title="(Champ obligatoire)">obligatoire</b></dt> <dd> {select_compte comptes=$comptes name="compte_credit"} </dd> </dl> </fieldset> <fieldset class="type_virement"> <legend>Virement</legend> <dl> <dt><label for="f_compte2">De</label></dt> <dd> <select name="compte2" id="f_compte2"> <option value="{$id_caisse}">Caisse</option> {foreach from=$comptes_bancaires item="compte"} <option value="{$compte.id}"{if $compte.id == $banque} selected="selected"{/if}>{$compte.libelle} - {$compte.banque}</option> {/foreach} <option value="{$compte_cheque_e_encaisser}">Chèques à encaisser</option> <option value="{$compte_carte_e_encaisser}">Paiement CB à encaisser</option> </select> </dd> <dt><label for="f_compte1">Vers</label></dt> <dd> <select name="compte1" id="f_compte1"> <option value="{$id_caisse}">Caisse</option> {foreach from=$comptes_bancaires item="compte"} |
︙ | ︙ | |||
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | (function () { function changeMoyenPaiement() { var elm = $('#f_moyen_paiement'); g.toggle('.f_cheque', elm.value == 'CH'); g.toggle('.f_banque', elm.value != 'ES'); } function changeTypeSaisie(type) { g.toggle(['.type_dette', '.type_recette', '.type_depense', '.type_avance', '.type_virement'], false); g.toggle('.type_' + type, true); } changeMoyenPaiement(); changeTypeSaisie(document.forms[0].type.value); $('#f_moyen_paiement').onchange = changeMoyenPaiement; $('input[name="type"]').forEach(function (elm) { elm.onchange = function (e) { changeTypeSaisie(this.value); }; }); } ()); | > > > > > > > > > > > > > | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 | (function () { function changeMoyenPaiement() { var elm = $('#f_moyen_paiement'); g.toggle('.f_cheque', elm.value == 'CH'); g.toggle('.f_banque', elm.value != 'ES'); g.toggle('.f_a_encaisser', elm.value == 'CB' || elm.value == 'CH'); cocherAEncaisser(); } function changeTypeSaisie(type) { g.toggle(['.type_dette', '.type_recette', '.type_depense', '.type_avance', '.type_virement'], false); g.toggle('.type_' + type, true); } function cocherAEncaisser() { var elm = $('#f_a_encaisser'); g.toggle('.f_banque', !elm.checked); } changeMoyenPaiement(); changeTypeSaisie(document.forms[0].type.value); cocherAEncaisser(); $('#f_moyen_paiement').onchange = changeMoyenPaiement; $('#f_a_encaisser').onchange = cocherAEncaisser; $('input[name="type"]').forEach(function (elm) { elm.onchange = function (e) { changeTypeSaisie(this.value); }; }); } ()); |
︙ | ︙ |
Modified src/www/admin/compta/operations/saisir.php from [29fdb3a84b] to [a84763f6af].
︙ | ︙ | |||
82 83 84 85 86 87 88 89 90 91 92 93 94 95 | else { if (f('moyen_paiement') == 'ES') { $a = Compta\Comptes::CAISSE; $b = $cat->compte; } else { if (!trim(f('banque'))) { throw new UserException('Le compte bancaire choisi est invalide.'); } | > > > > > > > | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | else { if (f('moyen_paiement') == 'ES') { $a = Compta\Comptes::CAISSE; $b = $cat->compte; } elseif (in_array(f('moyen_paiement'), ['CH', 'CB']) && f('a_encaisser')) { $a = f('moyen_paiement') == 'CH' ? Compta\Comptes::CHEQUE_A_ENCAISSER : Compta\Comptes::CARTE_A_ENCAISSER; $b = $cat->compte; } else { if (!trim(f('banque'))) { throw new UserException('Le compte bancaire choisi est invalide.'); } |
︙ | ︙ | |||
150 151 152 153 154 155 156 157 158 159 160 161 162 163 | $tpl->assign('comptes', $comptes->listTree()); $tpl->assign('moyens_paiement', $cats->listMoyensPaiement()); $tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES'); $tpl->assign('categories_depenses', $cats->getList(Compta\Categories::DEPENSES)); $tpl->assign('categories_recettes', $cats->getList(Compta\Categories::RECETTES)); $tpl->assign('comptes_bancaires', $banques->getList()); $tpl->assign('banque', f('banque')); if (!$session->get('context_compta_date')) { $exercices = new Compta\Exercices; $exercice = $exercices->getCurrent(); if ($exercice->debut > time() || $exercice->fin < time()) | > > | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | $tpl->assign('comptes', $comptes->listTree()); $tpl->assign('moyens_paiement', $cats->listMoyensPaiement()); $tpl->assign('moyen_paiement', f('moyen_paiement') ?: 'ES'); $tpl->assign('categories_depenses', $cats->getList(Compta\Categories::DEPENSES)); $tpl->assign('categories_recettes', $cats->getList(Compta\Categories::RECETTES)); $tpl->assign('comptes_bancaires', $banques->getList()); $tpl->assign('banque', f('banque')); $tpl->assign('compte_cheque_e_encaisser', Compta\Comptes::CHEQUE_A_ENCAISSER); $tpl->assign('compte_carte_e_encaisser', Compta\Comptes::CARTE_A_ENCAISSER); if (!$session->get('context_compta_date')) { $exercices = new Compta\Exercices; $exercice = $exercices->getCurrent(); if ($exercice->debut > time() || $exercice->fin < time()) |
︙ | ︙ |
Modified src/www/admin/upgrade.php from [509637e724] to [52f275a46e].
︙ | ︙ | |||
287 288 289 290 291 292 293 294 295 296 297 298 299 300 | $config->set('champ_identifiant', 'numero'); $config->save(); } // Nettoyage de la base de données $db->exec('VACUUM;'); } Utils::clearCaches(); $config->setVersion(garradin_version()); echo '<h2>Mise à jour terminée.</h2> <p><a href="'.WWW_URL.'admin/">Retour</a></p>'; | > > > > > > > | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 | $config->set('champ_identifiant', 'numero'); $config->save(); } // Nettoyage de la base de données $db->exec('VACUUM;'); } if (version_compare($v, '0.8.0-beta4', '<')) { // Mise à jour plan comptable $comptes = new Compta\Comptes; $comptes->importPlan(); } Utils::clearCaches(); $config->setVersion(garradin_version()); echo '<h2>Mise à jour terminée.</h2> <p><a href="'.WWW_URL.'admin/">Retour</a></p>'; |
︙ | ︙ |