Overview
Comment:Page de liste des écritures comptables liées à un paiement
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 864f64380c60b8222d5b6836ebc086d456318f87
User & Date: bohwaz on 2014-02-06 18:36:03
Other Links: manifest | tags
Context
2014-02-06
18:42
Liaison écriture -> paiement check-in: 4d199a14d0 user: bohwaz tags: trunk
18:36
Page de liste des écritures comptables liées à un paiement check-in: 864f64380c user: bohwaz tags: trunk
18:09
Déporter l'ajout d'écriture comptable check-in: f57802b448 user: bohwaz tags: trunk
Changes

Modified src/include/class.membres_transactions.php from [d105569cbb] to [8bcbdfa34c].

144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
...
237
238
239
240
241
242
243


244
245
246
247
248
249
250
251
	}

	/**
	 * Renvoie une liste des écritures comptables liées à un paiement
	 * @param  int $id Numéro de la transaction
	 * @return array Liste des écritures
	 */
	public function listComptaOperations($id)
	{
		$db = DB::getInstance();
		return $db->simpleQueryFetch('SELECT * FROM compta_journal
			WHERE id IN (SELECT id_operation FROM membres_transactions_operations 
				WHERE id_membre_transaction = ?);', \SQLITE3_ASSOC, (int)$id);
	}

	/**
	 * Ajouter une écriture comptable pour un paiemement membre
	 * @param int $id Numéro de la transaction
................................................................................
	 * Renvoie un paiement membre
	 * @param  integer $id Numéro du paiement
	 * @return array Données du paiement
	 */
	public function get($id)
	{
		$db = DB::getInstance();


		return $db->simpleQuerySingle('SELECT * FROM membres_transactions WHERE id = ?;', true, (int) $id);
	}

	public function listForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT mtr.*, tr.intitule, tr.duree, tr.debut, tr.fin,
				(SELECT COUNT(*) FROM membres_transactions_operations WHERE id_membre_transaction = mtr.id) AS nb_operations







|


|







 







>
>
|







144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
...
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
	}

	/**
	 * Renvoie une liste des écritures comptables liées à un paiement
	 * @param  int $id Numéro de la transaction
	 * @return array Liste des écritures
	 */
	public function listOperationsCompta($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT * FROM compta_journal
			WHERE id IN (SELECT id_operation FROM membres_transactions_operations 
				WHERE id_membre_transaction = ?);', \SQLITE3_ASSOC, (int)$id);
	}

	/**
	 * Ajouter une écriture comptable pour un paiemement membre
	 * @param int $id Numéro de la transaction
................................................................................
	 * Renvoie un paiement membre
	 * @param  integer $id Numéro du paiement
	 * @return array Données du paiement
	 */
	public function get($id)
	{
		$db = DB::getInstance();
		return $db->simpleQuerySingle('SELECT *,
			(SELECT COUNT(*) FROM membres_transactions_operations WHERE id_membre_transaction = id) AS nb_operations
			FROM membres_transactions WHERE id = ?;', true, (int) $id);
	}

	public function listForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT mtr.*, tr.intitule, tr.duree, tr.debut, tr.fin,
				(SELECT COUNT(*) FROM membres_transactions_operations WHERE id_membre_transaction = mtr.id) AS nb_operations

Modified src/templates/admin/membres/transactions.tpl from [14fa5c2cc6] to [434e8879f5].

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{/if}
</dl>

{if !empty($paiements)}
<table class="list">
    <thead>
        <th>Date</th>
        <td>Intitulé</td>
        <td>Montant</td>
        <td>Activité ou cotisation liée</td>
        <td>Écritures liées</td>
        <td class="actions"></td>
    </thead>
    <tbody>
        {foreach from=$paiements item="p"}







|







62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{/if}
</dl>

{if !empty($paiements)}
<table class="list">
    <thead>
        <th>Date</th>
        <td>Libellé</td>
        <td>Montant</td>
        <td>Activité ou cotisation liée</td>
        <td>Écritures liées</td>
        <td class="actions"></td>
    </thead>
    <tbody>
        {foreach from=$paiements item="p"}

Added src/templates/admin/membres/transactions/ecritures.tpl version [6d8b9e99e9].















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
{include file="admin/_head.tpl" title="Écritures comptable pour le paiement n°`$transaction.id`" current="membres/transactions"}

<ul class="actions">
    <li><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">Membre n°{$membre.id|escape}</a></li>
    <li><a href="{$admin_url}membres/modifier.php?id={$membre.id|escape}">Modifier</a></li>
    {if $user.droits.membres >= Garradin\Membres::DROIT_ADMIN}
        <li><a href="{$admin_url}membres/supprimer.php?id={$membre.id|escape}">Supprimer</a></li>
    {/if}
    <li class="current"><a href="{$admin_url}membres/transactions.php?id={$membre.id|escape}">Suivi des paiements</a></li>
    <li><a href="{$admin_url}membres/transactions/ajout.php?id={$membre.id|escape}">Enregistrer un paiement</a></li>
</ul>

<dl class="cotisation">
    <dt>Paiement</dt>
    <dd>{$transaction.date|format_sqlite_date_to_french} — {$transaction.libelle|escape} — {$transaction.montant|html_money} {$config.monnaie|escape}</dd>
    <dd>
        <a href="{$admin_url}membres/transactions/modifier.php?id={$transaction.id|escape}">Modifier</a>
        | <a href="{$admin_url}membres/transactions/supprimer.php?id={$transaction.id|escape}">Supprimer</a>
    </dd>
    <dt>Nombre d'écritures comptables liées</dt>
    <dd>{$transaction.nb_operations|escape}</dd>
</dl>

{if !empty($operations)}
<table class="list">
    <thead>
        <th>Date</th>
        <td>Libellé</td>
        <td>Écriture</td>
        <td class="actions"></td>
    </thead>
    <tbody>
        {foreach from=$operations item="operation"}
        <tr>
            <th>{$operation.date|format_sqlite_date_to_french}</th>
            <td>{$operation.libelle|escape}</td>
            <td>
                <table class="list multi">
                    <thead>
                        <tr>
                            <th colspan="2">Comptes</th>
                            <td>Débit</td>
                            <td>Crédit</td>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            {if $user.droits.compta >= Garradin\Membres::DROIT_ACCES}
                                <td><a href="{$admin_url}compta/comptes/journal.php?id={$operation.compte_debit|escape}">{$operation.compte_debit|escape}</a></td>
                            {else}
                                <td>{$operation.compte_debit|escape}</td>
                            {/if}
                            <td>{$operation.compte_debit|get_nom_compte}</td>
                            <td>{$operation.montant|html_money}&nbsp;{$config.monnaie|escape}</td>
                            <td></td>
                        </tr>
                        <tr>
                            {if $user.droits.compta >= Garradin\Membres::DROIT_ACCES}
                                <td><a href="{$admin_url}compta/comptes/journal.php?id={$operation.compte_credit|escape}">{$operation.compte_credit|escape}</a></td>
                            {else}
                                <td>{$operation.compte_credit|escape}</td>
                            {/if}
                            <td>{$operation.compte_credit|get_nom_compte}</td>
                            <td></td>
                            <td>{$operation.montant|html_money}&nbsp;{$config.monnaie|escape}</td>
                        </tr>
                    </tbody>
                </table>
            </td>
            <td class="actions">
                {if $user.droits.compta >= Garradin\Membres::DROIT_ACCES}
                    <a class="icn" href="{$admin_url}compta/operations/voir.php?id={$operation.id|escape}" title="Voir les détails de l'opération">❓</a>
                {/if}
                {if $user.droits.compta >= Garradin\Membres::DROIT_ECRITURE}
                    <a class="icn" href="{$admin_url}compta/operations/modifier.php?id={$operation.id|escape}" title="Modifier">✎</a>
                {/if}
                {if $user.droits.compta >= Garradin\Membres::DROIT_ADMIN}
                    <a class="icn" href="{$admin_url}compta/operations/supprimer.php?id={$operation.id|escape}" title="Supprimer">✘</a>
                {/if}
            </td>
        </tr>
        {/foreach}
    </tbody>
</table>
{/if}

{include file="admin/_foot.tpl"}

Added src/www/admin/membres/transactions/ecritures.php version [41da3cec99].

































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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
56
57
58
59
60
61
62
63
64
<?php
namespace Garradin;

require_once __DIR__ . '/../../_inc.php';

if ($user['droits']['membres'] < Membres::DROIT_ECRITURE)
{
    throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
}

if (empty($_GET['id']) || !is_numeric($_GET['id']))
{
    throw new UserException("Argument du numéro de paiement manquant.");
}

$id = (int) $_GET['id'];

$transactions = new Transactions;
$m_transactions = new Membres_Transactions;


if (empty($_GET['id']) || !is_numeric($_GET['id']))
{
    throw new UserException("Argument du numéro de transaction manquant.");
}

$id = (int) $_GET['id'];

$tr = $m_transactions->get($id);

if (!$tr)
{
    throw new UserException("Ce paiement n'existe pas.");
}

$membre = $membres->get($tr['id_membre']);

if (!$membre)
{
    throw new UserException("Le membre lié au paiement n'existe pas ou plus.");
}


$comptes = new Compta_Comptes;
$liste_comptes = $comptes->getListAll();

function get_nom_compte($compte)
{
	if (is_null($compte))
		return '';

	global $liste_comptes;
	return $liste_comptes[$compte];
}

$tpl->register_modifier('get_nom_compte', 'Garradin\get_nom_compte');

$tpl->assign('transaction', $tr);
$tpl->assign('membre', $membre);
$tpl->assign('operations', $m_transactions->listOperationsCompta($tr['id']));

$tpl->display('admin/membres/transactions/ecritures.tpl');

?>

Modified src/www/admin/static/admin.css from [33c41a4a57] to [e684c5a4b7].

307
308
309
310
311
312
313




314
315
316
317
318
319
320
}

table.list {
    border-collapse: collapse;
    margin-bottom: 1em;
    width: 100%;
}





table.list th {
    text-align: left;
    font-weight: bold;
}

table.list thead {







>
>
>
>







307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
}

table.list {
    border-collapse: collapse;
    margin-bottom: 1em;
    width: 100%;
}

table.list table {
    margin: 0;
}

table.list th {
    text-align: left;
    font-weight: bold;
}

table.list thead {