Comment: |
|
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
54a9688113eb3f47c7f5a1d34d24e619 |
User & Date: | bohwaz on 2012-10-15 02:20:16 |
Other Links: | manifest | tags |
2012-10-15
| ||
02:44 | Clôture d'exercice et vérification que les opérations sont bien saisies dans l'exercice en cours. check-in: dcfb1107bd user: bohwaz tags: trunk | |
02:20 |
| |
01:39 | Un peu de rangement dans les fichiers de la compta check-in: 16376296b5 user: bohwaz tags: trunk | |
Modified include/class.compta_journal.php from [07dcc49f0e] to [4ace1d92a5].
︙ | ︙ | |||
11 12 13 14 15 16 17 18 19 20 21 22 23 24 | if (!$id) { throw new UserException('Aucun exercice en cours.'); } return $id; } protected function _checkOpenExercice($id) { if (is_null($id)) return true; $db = Garradin_DB::getInstance(); | > > > > > | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | if (!$id) { throw new UserException('Aucun exercice en cours.'); } return $id; } public function checkExercice() { return $this->_getCurrentExercice(); } protected function _checkOpenExercice($id) { if (is_null($id)) return true; $db = Garradin_DB::getInstance(); |
︙ | ︙ | |||
32 33 34 35 36 37 38 | return false; } public function getSolde($compte, $inclure_sous_comptes = false) { $db = Garradin_DB::getInstance(); $exercice = $this->_getCurrentExercice(); | < | | < | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | return false; } public function getSolde($compte, $inclure_sous_comptes = false) { $db = Garradin_DB::getInstance(); $exercice = $this->_getCurrentExercice(); $compte = $inclure_sous_comptes ? 'LIKE \'' . $db->escapeString(trim($compte)) . '%\'' : '= \'' . $db->escapeString(trim($compte)) . '\''; // FIXME utiliser compta_comptes.position pour déterminer le sens ! $query = 'SELECT COALESCE((SELECT SUM(montant) FROM compta_journal WHERE compte_debit '.$compte.' AND id_exercice = '.(int)$exercice.'), 0) - COALESCE((SELECT SUM(montant) FROM compta_journal WHERE compte_credit '.$compte.' AND id_exercice = '.(int)$exercice.'), 0);'; return $db->querySingle($query); } public function getJournalCompte($compte, $inclure_sous_comptes = false) { $db = Garradin_DB::getInstance(); $exercice = $this->_getCurrentExercice(); $compte = $inclure_sous_comptes ? 'LIKE \'' . $db->escapeString(trim($compte)) . '%\'' : '= \'' . $db->escapeString(trim($compte)) . '\''; $query = 'SELECT *, strftime(\'%s\', date) AS date FROM compta_journal WHERE (compte_debit '.$compte.' OR compte_credit '.$compte.') AND id_exercice = '.(int)$exercice.' ORDER BY date;'; return $db->simpleStatementFetch($query); } public function add($data) { |
︙ | ︙ | |||
243 244 245 246 247 248 249 | $query .= 'id_categorie IS NULL'; } else { $query.= 'id_categorie IN (SELECT id FROM compta_categories WHERE type = '.(int)$type.')'; } | | < | 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 | $query .= 'id_categorie IS NULL'; } else { $query.= 'id_categorie IN (SELECT id FROM compta_categories WHERE type = '.(int)$type.')'; } $query .= ' AND id_exercice = ' . (int)$exercice; $query .= ' ORDER BY date;'; return $db->simpleStatementFetch($query); } } ?> |
Modified include/class.membres.php from [c156e4d482] to [d77deaccc2].
︙ | ︙ | |||
366 367 368 369 370 371 372 373 374 375 376 377 378 379 | $db = Garradin_DB::getInstance(); return $db->simpleQuerySingle('SELECT *, strftime(\'%s\', date_connexion) AS date_connexion, strftime(\'%s\', date_inscription) AS date_inscription, strftime(\'%s\', date_cotisation) AS date_cotisation FROM membres WHERE id = ? LIMIT 1;', true, (int)$id); } public function getNom($id) { $db = Garradin_DB::getInstance(); return $db->simpleQuerySingle('SELECT nom FROM membres WHERE id = ? LIMIT 1;', false, (int)$id); } | > > > > > > > > > > > > > > > > > > > > > > > | 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 | $db = Garradin_DB::getInstance(); return $db->simpleQuerySingle('SELECT *, strftime(\'%s\', date_connexion) AS date_connexion, strftime(\'%s\', date_inscription) AS date_inscription, strftime(\'%s\', date_cotisation) AS date_cotisation FROM membres WHERE id = ? LIMIT 1;', true, (int)$id); } public function delete($ids) { if (!is_array($ids)) { $ids = array((int)$ids); } if ($this->isLogged()) { $user = $this->getLoggedUser(); foreach ($ids as $id) { if ($user['id'] == $id) { throw new UserException('Il n\'est pas possible de supprimer son propre compte.'); } } } return self::_deleteMembres($ids); } public function getNom($id) { $db = Garradin_DB::getInstance(); return $db->simpleQuerySingle('SELECT nom FROM membres WHERE id = ? LIMIT 1;', false, (int)$id); } |
︙ | ︙ | |||
528 529 530 531 532 533 534 | $db = Garradin_DB::getInstance(); return $db->simpleUpdate('membres', array('id_categorie' => (int)$id_cat), 'id IN ('.implode(',', $membres).')' ); } | | | > | 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 | $db = Garradin_DB::getInstance(); return $db->simpleUpdate('membres', array('id_categorie' => (int)$id_cat), 'id IN ('.implode(',', $membres).')' ); } static protected function _deleteMembres($membres) { foreach ($membres as &$id) { $id = (int) $id; } $membres = implode(',', $membres); $db = Garradin_DB::getInstance(); $db->exec('UPDATE wiki_revisions SET id_auteur = NULL WHERE id_auteur IN ('.$membres.');'); $db->exec('UPDATE compta_operations SET id_auteur = NULL WHERE id_auteur IN ('.$membres.');'); //$db->exec('DELETE FROM wiki_suivi WHERE id_membre IN ('.$membres.');'); return $db->exec('DELETE FROM membres WHERE id IN ('.$membres.');'); } public function sendMessageToCategory($dest, $sujet, $message, $subscribed_only = false) { $config = Garradin_Config::getInstance(); |
︙ | ︙ |
Modified include/data/schema.sql from [7df50e6175] to [ec287cf265].
︙ | ︙ | |||
220 221 222 223 224 225 226 | moyen_paiement TEXT DEFAULT NULL, numero_cheque TEXT DEFAULT NULL, compte_debit INTEGER, -- N° du compte dans le plan compte_credit INTEGER, -- N° du compte dans le plan id_exercice INTEGER NULL DEFAULT NULL, -- En cas de compta simple, l'exercice est permanent (NULL) | | | 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 | moyen_paiement TEXT DEFAULT NULL, numero_cheque TEXT DEFAULT NULL, compte_debit INTEGER, -- N° du compte dans le plan compte_credit INTEGER, -- N° du compte dans le plan id_exercice INTEGER NULL DEFAULT NULL, -- En cas de compta simple, l'exercice est permanent (NULL) id_auteur INTEGER NULL, id_categorie INTEGER NULL, -- Numéro de catégorie (en mode simple) FOREIGN KEY(moyen_paiement) REFERENCES compta_moyens_paiement(code), FOREIGN KEY(compte_debit) REFERENCES compta_comptes(id), FOREIGN KEY(compte_credit) REFERENCES compta_comptes(id), FOREIGN KEY(id_exercice) REFERENCES compta_exercices(id), FOREIGN KEY(id_auteur) REFERENCES membres(id), |
︙ | ︙ |
Modified templates/admin/compta/operations/index.tpl from [753d1e9126] to [6f4a4ad886].
︙ | ︙ | |||
32 33 34 35 36 37 38 | {if !$categorie && $type} <col width="20%" /> {/if} </colgroup> <tbody> {foreach from=$journal item="ligne"} <tr> | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | {if !$categorie && $type} <col width="20%" /> {/if} </colgroup> <tbody> {foreach from=$journal item="ligne"} <tr> <td><a href="{$admin_url}compta/operations/voir.php?id={$ligne.id|escape}">{$ligne.id|escape}</a></td> <td class="actions"> {if $user.droits.compta >= Garradin_Membres::DROIT_ADMIN} <a class="icn" href="{$admin_url}compta/operations/modifier.php?id={$ligne.id|escape}">✎</a> {/if} </td> <td>{$ligne.date|date_fr:'d/m/Y'|escape}</td> <td>{$ligne.montant|escape_money} {$config.monnaie|escape}</td> <th>{$ligne.libelle|escape}</th> {if !$categorie && $type} <td>{$ligne.categorie|escape}</td> |
︙ | ︙ |
Modified templates/admin/compta/operations/voir.tpl from [8a4da82c21] to [cda96468bd].
︙ | ︙ | |||
34 35 36 37 38 39 40 41 42 43 | <dt>Catégorie</dt> <dd> <a href="{$www_url}admin/compta/operations/?{if $categorie.type == Garradin_Compta_Categories::DEPENSES}depenses{else}recettes{/if}">{if $categorie.type == Garradin_Compta_Categories::DEPENSES}Dépense{else}Recette{/if}</a> : <a href="{$www_url}admin/compta/operations/?cat={$operation.id_categorie|escape}">{$categorie.intitule|escape}</a> </dd> {/if} <dt>Opération créée par</dt> <dd> | > > > > > > > > | | | | > > > | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <dt>Catégorie</dt> <dd> <a href="{$www_url}admin/compta/operations/?{if $categorie.type == Garradin_Compta_Categories::DEPENSES}depenses{else}recettes{/if}">{if $categorie.type == Garradin_Compta_Categories::DEPENSES}Dépense{else}Recette{/if}</a> : <a href="{$www_url}admin/compta/operations/?cat={$operation.id_categorie|escape}">{$categorie.intitule|escape}</a> </dd> {/if} <dt>Exercice</dt> <dd> <a href="{$www_url}admin/compta/exercices/">{$exercice.libelle|escape}</a> | Du {$exercice.debut|date_fr:'d/m/Y'} au {$exercice.fin|date_fr:'d/m/Y'} | <strong>{if $exercice.cloture}Clôturé{else}En cours{/if}</strong> </dd> <dt>Opération créée par</dt> <dd> {if $operation.id_auteur} {if $user.droits.membres >= Garradin_Membres::DROIT_ACCES} <a href="{$www_url}admin/membres/fiche.php?id={$operation.id_auteur|escape}">{$nom_auteur|escape}</a> {else} {$nom_auteur|escape} {/if} {else} <em>membre supprimé</em> {/if} </dd> <dt>Remarques</dt> <dd>{if trim($operation.remarques)}{$operation.remarques|escape}{else}Non renseigné{/if}</dd> </dl> |
︙ | ︙ |
Modified templates/admin/membres/fiche.tpl from [4426db18b5] to [e9bd1d4d9d].
1 2 3 4 5 6 7 8 9 10 11 12 | {include file="admin/_head.tpl" title="`$membre.nom` (`$categorie.nom`)" current="membres"} {if $user.droits.membres >= Garradin_Membres::DROIT_ECRITURE} <ul class="actions"> <li><a href="{$www_url}admin/membres/modifier.php?id={$membre.id|escape}">Modifier</a></li> </ul> {/if} {if $error} <p class="error"> {$error|escape} </p> | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | {include file="admin/_head.tpl" title="`$membre.nom` (`$categorie.nom`)" current="membres"} {if $user.droits.membres >= Garradin_Membres::DROIT_ECRITURE} <ul class="actions"> <li><a href="{$www_url}admin/membres/modifier.php?id={$membre.id|escape}">Modifier</a></li> {if $user.droits.membres >= Garradin_Membres::DROIT_ADMIN} <li><a href="{$www_url}admin/membres/supprimer.php?id={$membre.id|escape}">Supprimer</a></li> {/if} </ul> {/if} {if $error} <p class="error"> {$error|escape} </p> |
︙ | ︙ |
Added templates/admin/membres/supprimer.tpl version [6ce9f8b4e1].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | {include file="admin/_head.tpl" title="Supprimer un membre" current="membres"} {if $error} <p class="error"> {$error|escape} </p> {/if} <form method="post" action="{$self_url|escape}"> <fieldset> <legend>Supprimer ce membre ?</legend> <h3 class="warning"> Êtes-vous sûr de vouloir supprimer le membre « {$membre.nom|escape} » ? </h3> <p class="alert"> <strong>Attention</strong> : cette action est irréversible et effacera toutes les données personnelles et l'historique de ces membres. </p> <p class="help"> Alternativement, il est aussi possible de déplacer les membres qui ne font plus partie de l'association dans une catégorie « Anciens membres », plutôt que de les effacer complètement. </p> </fieldset> <p class="submit"> {csrf_field key="delete_membre_"|cat:$membre.id} <input type="submit" name="delete" value="Supprimer →" /> </p> </form> {include file="admin/_foot.tpl"} |
Modified www/admin/compta/operations/saisir.php from [7aa56785cd] to [53b8830a64].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php require_once __DIR__ . '/../_inc.php'; if ($user['droits']['compta'] < Garradin_Membres::DROIT_ECRITURE) { throw new UserException("Vous n'avez pas le droit d'accéder à cette page."); } require_once GARRADIN_ROOT . '/include/class.compta_journal.php'; $journal = new Garradin_Compta_Journal; require_once GARRADIN_ROOT . '/include/class.compta_categories.php'; $cats = new Garradin_Compta_Categories; require_once GARRADIN_ROOT . '/include/class.compta_comptes_bancaires.php'; $banques = new Garradin_Compta_Comptes_Bancaires; | > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php require_once __DIR__ . '/../_inc.php'; if ($user['droits']['compta'] < Garradin_Membres::DROIT_ECRITURE) { throw new UserException("Vous n'avez pas le droit d'accéder à cette page."); } require_once GARRADIN_ROOT . '/include/class.compta_journal.php'; $journal = new Garradin_Compta_Journal; $journal->checkExercice(); require_once GARRADIN_ROOT . '/include/class.compta_categories.php'; $cats = new Garradin_Compta_Categories; require_once GARRADIN_ROOT . '/include/class.compta_comptes_bancaires.php'; $banques = new Garradin_Compta_Comptes_Bancaires; |
︙ | ︙ |
Modified www/admin/compta/operations/voir.php from [c1e88270d9] to [c2f023c4b1].
1 2 3 4 | <?php require_once __DIR__ . '/../_inc.php'; | < > > > > > | 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 | <?php require_once __DIR__ . '/../_inc.php'; require_once GARRADIN_ROOT . '/include/class.compta_journal.php'; $journal = new Garradin_Compta_Journal; $operation = $journal->get(utils::get('id')); if (!$operation) { throw new UserException("L'opération demandée n'existe pas."); } require_once GARRADIN_ROOT . '/include/class.compta_exercices.php'; $exercices = new Garradin_Compta_Exercices; $tpl->assign('operation', $operation); $credit = $comptes->get($operation['compte_credit']); $tpl->assign('nom_compte_credit', $credit['libelle']); $debit = $comptes->get($operation['compte_debit']); $tpl->assign('nom_compte_debit', $debit['libelle']); $tpl->assign('exercice', $exercices->get($operation['id_exercice'])); if ($operation['id_categorie']) { require_once GARRADIN_ROOT . '/include/class.compta_categories.php'; $cats = new Garradin_Compta_Categories; $categorie = $cats->get($operation['id_categorie']); |
︙ | ︙ | |||
37 38 39 40 41 42 43 | { $tpl->assign('compte', $credit['libelle']); } $tpl->assign('moyen_paiement', $cats->getMoyenPaiement($operation['moyen_paiement'])); } | > > | | > | 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | { $tpl->assign('compte', $credit['libelle']); } $tpl->assign('moyen_paiement', $cats->getMoyenPaiement($operation['moyen_paiement'])); } if ($operation['id_auteur']) { $auteur = $membres->get($operation['id_auteur']); $tpl->assign('nom_auteur', $auteur['nom']); } $tpl->display('admin/compta/operations/voir.tpl'); ?> |
Modified www/admin/membres/action.php from [ef0e85074c] to [a26315ef2d].
︙ | ︙ | |||
46 47 48 49 50 51 52 | { if (!utils::CSRF_check('membres_action')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | { if (!utils::CSRF_check('membres_action')) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { $membres->delete($_POST['selected']); utils::redirect('/admin/membres/'); } } $tpl->assign('selected', $_POST['selected']); $tpl->assign('nb_selected', count($_POST['selected'])); |
︙ | ︙ |
Added www/admin/membres/supprimer.php version [846ef2a6a8].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | <?php require_once __DIR__ . '/../_inc.php'; if ($user['droits']['membres'] < Garradin_Membres::DROIT_ADMIN) { throw new UserException("Vous n'avez pas le droit d'accéder à cette page."); } $membre = $membres->get(utils::get('id')); if (!$membre) { throw new UserException("Ce membre n'existe pas."); } $error = false; if (utils::post('delete')) { if (!utils::CSRF_check('delete_membre_'.$membre['id'])) { $error = 'Une erreur est survenue, merci de renvoyer le formulaire.'; } else { try { $membres->delete($membre['id']); utils::redirect('/admin/membres/'); } catch (UserException $e) { $error = $e->getMessage(); } } } $tpl->assign('membre', $membre); $tpl->assign('error', $error); $tpl->display('admin/membres/supprimer.tpl'); ?> |
Modified www/admin/upgrade.php from [20b4cac771] to [d67d4dcf70].
︙ | ︙ | |||
50 51 52 53 54 55 56 | require GARRADIN_ROOT . '/include/class.compta_categories.php'; $comptes = new Garradin_Compta_Categories; $comptes->importCategories(); } elseif (version_compare($v, '0.4.3', '<')) { | < < < < < < < < < < < < < < < | < < < | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | require GARRADIN_ROOT . '/include/class.compta_categories.php'; $comptes = new Garradin_Compta_Categories; $comptes->importCategories(); } elseif (version_compare($v, '0.4.3', '<')) { $db->exec(file_get_contents(GARRADIN_ROOT . '/include/data/0.4.3.sql')); } utils::clearCaches(); $config->setVersion(garradin_version()); echo '<h4>Mise à jour terminée.</h4> <p><a href="./">Retour</a></p>'; ?> |