Overview
Comment:Liste des membres liés à une opération
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: b0edec6de73844f0217dd275169af7fa751a3bb1
User & Date: bohwaz on 2015-03-28 17:13:44
Other Links: manifest | tags
Context
2015-03-31
20:16
Servir les fichiers stockés check-in: e86b32517d user: bohwaz tags: trunk
2015-03-28
17:13
Liste des membres liés à une opération check-in: b0edec6de7 user: bohwaz tags: trunk
17:06
Liste des écritures liées à une cotisation check-in: 9e6dc2ec31 user: bohwaz tags: trunk
Changes

Modified src/include/lib/Garradin/Compta/Journal.php from [64a209ea3e] to [819dc3ea62].

1
2
3
4
5
6
7

8
9
10
11
12
13
14
<?php

namespace Garradin\Compta;

use \Garradin\DB;
use \Garradin\Utils;
use \Garradin\UserException;


class Journal
{
    protected function _getCurrentExercice()
    {
        $db = DB::getInstance();
        $id = $db->querySingle('SELECT id FROM compta_exercices WHERE cloture = 0 LIMIT 1;');







>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

namespace Garradin\Compta;

use \Garradin\DB;
use \Garradin\Utils;
use \Garradin\UserException;
use \Garradin\Config;

class Journal
{
    protected function _getCurrentExercice()
    {
        $db = DB::getInstance();
        $id = $db->querySingle('SELECT id FROM compta_exercices WHERE cloture = 0 LIMIT 1;');
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

    public function get($id)
    {
        $db = DB::getInstance();
        return $db->simpleQuerySingle('SELECT *, strftime(\'%s\', date) AS date FROM compta_journal WHERE id = ?;', true, $id);
    }






    public function countForMember($id)
    {
        $db = DB::getInstance();
        return $db->simpleQuerySingle('SELECT COUNT(*) 
            FROM compta_journal WHERE id_auteur = ?;', false, (int)$id);
    }







    public function listForMember($id, $exercice)
    {
        $db = DB::getInstance();
        return $db->simpleStatementFetch('SELECT * FROM compta_journal
            WHERE id_auteur = ? AND id_exercice = ?;', \SQLITE3_ASSOC, (int)$id, (int)$exercice);
    }
















    protected function _checkFields(&$data)
    {
        $db = DB::getInstance();

        if (empty($data['libelle']) || !trim($data['libelle']))
        {







>
>
>
>
>







>
>
>
>
>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211

    public function get($id)
    {
        $db = DB::getInstance();
        return $db->simpleQuerySingle('SELECT *, strftime(\'%s\', date) AS date FROM compta_journal WHERE id = ?;', true, $id);
    }

    /**
     * Compte le nombre d'écritures liées à un membre
     * @param  integer $id Numéro de membre
     * @return integer     Nombre d'écritures liées
     */
    public function countForMember($id)
    {
        $db = DB::getInstance();
        return $db->simpleQuerySingle('SELECT COUNT(*) 
            FROM compta_journal WHERE id_auteur = ?;', false, (int)$id);
    }

    /**
     * Lister les écritures liées à un membre
     * @param  integer $id       Identifiant de membre
     * @param  integer $exercice Identifiant d'exercice
     * @return array           Liste des écritures liées
     */
    public function listForMember($id, $exercice)
    {
        $db = DB::getInstance();
        return $db->simpleStatementFetch('SELECT * FROM compta_journal
            WHERE id_auteur = ? AND id_exercice = ?;', \SQLITE3_ASSOC, (int)$id, (int)$exercice);
    }

    /**
     * Lister les membres liés à cette écriture
     * @param  integer $id Numéro d'écriture
     * @return array     Liste des membres liés
     */
    public function listRelatedMembers($id)
    {
        $db = DB::getInstance();
        $champ_id = Config::getInstance()->get('champ_identite');

        return $db->simpleStatementFetch('SELECT id_membre, id_cotisation, m.'.$champ_id.' AS identite
            FROM membres_operations AS mo INNER JOIN membres AS m ON mo.id_membre = m.id
            WHERE mo.id_operation = ?;', \SQLITE3_ASSOC, (int)$id);
    }

    protected function _checkFields(&$data)
    {
        $db = DB::getInstance();

        if (empty($data['libelle']) || !trim($data['libelle']))
        {

Modified src/templates/admin/compta/operations/voir.tpl from [a02482de9f] to [fee1fc22bd].

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
56
57
58
59
60











61
62
63
64
65
66
67
        {if $operation.moyen_paiement && $operation.moyen_paiement != 'ES'}
            <dt>Compte bancaire</dt>
            <dd>{$compte|escape}</dd>
        {/if}

        <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>&nbsp;:
            <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>

<table class="list multi">
    <thead>







|
|





|








|







>
>
>
>
>
>
>
>
>
>
>







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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
        {if $operation.moyen_paiement && $operation.moyen_paiement != 'ES'}
            <dt>Compte bancaire</dt>
            <dd>{$compte|escape}</dd>
        {/if}

        <dt>Catégorie</dt>
        <dd>
            <a href="{$admin_url}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>&nbsp;:
            <a href="{$admin_url}compta/operations/?cat={$operation.id_categorie|escape}">{$categorie.intitule|escape}</a>
        </dd>
    {/if}

    <dt>Exercice</dt>
    <dd>
        <a href="{$admin_url}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="{$admin_url}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>Opération liée à</dt>
    <dd>
        {if empty($related_members)}
            Aucun membre n'est lié à cette opération.
        {else}
            {foreach from=$related_members item="membre"}
                <a href="{$admin_url}membres/{if $membre.id_cotisation}cotisations{else}fiche{/if}.php?id={$membre.id_membre|escape}">{if $membre.id_cotisation}Cotisation pour {/if}{$membre.identite|escape}</a>
            {/foreach}
        {/if}
    </dd>

    <dt>Remarques</dt>
    <dd>{if trim($operation.remarques)}{$operation.remarques|escape}{else}Non renseigné{/if}</dd>
</dl>

<table class="list multi">
    <thead>

Modified src/www/admin/compta/operations/voir.php from [6f6c5cb110] to [47024bd16b].

44
45
46
47
48
49
50
51
52
53

if ($operation['id_auteur'])
{
    $auteur = $membres->get($operation['id_auteur']);
    $tpl->assign('nom_auteur', $auteur['identite']);
}

$tpl->display('admin/compta/operations/voir.tpl');

?>







|

|
44
45
46
47
48
49
50
51
52
53

if ($operation['id_auteur'])
{
    $auteur = $membres->get($operation['id_auteur']);
    $tpl->assign('nom_auteur', $auteur['identite']);
}

$tpl->assign('related_members', $journal->listRelatedMembers($operation['id']));

$tpl->display('admin/compta/operations/voir.tpl');