Overview
Comment:Affichage transactions sur fiche membre + sous-menu sur les pages liées à un membre
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5f46283cb0e0fdb113a9f4730607165e3afc4ca2
User & Date: bohwaz on 2014-01-30 15:36:18
Other Links: manifest | tags
Context
2014-01-30
16:21
État de la cotisation obligatoire et historique des paiements check-in: 373496163c user: bohwaz tags: trunk
15:36
Affichage transactions sur fiche membre + sous-menu sur les pages liées à un membre check-in: 5f46283cb0 user: bohwaz tags: trunk
02:14
Suppression de références à date_cotisation, qui n'est plus utilisé du coup check-in: 484bd29380 user: bohwaz tags: trunk
Changes

Modified src/include/class.membres_transactions.php from [be6010578f] to [7d3fe7555d].

129
130
131
132
133
134
135



136


































	public function listForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT * FROM membres_transactions 
			WHERE id_membre = ? ORDER BY date DESC;', \SQLITE3_ASSOC, (int)$id);
	}




}









































>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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
170
171
172
173
	public function listForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT * FROM membres_transactions 
			WHERE id_membre = ? ORDER BY date DESC;', \SQLITE3_ASSOC, (int)$id);
	}

	public function isMemberUpToDate($id, $transaction)
	{
		$db = DB::getInstance();

		if (!empty($transaction['duree']))
		{
			$where = 'AND date(\'now\') <= date(date, \'+' . (int)$transaction['duree'] . ' days\')';
		}
		elseif (!empty($transaction['debut']))
		{
			$where = 'AND date >= \'' . $transaction['debut'] . '\' AND date <= \'' . $transaction['fin'] . '\'';
		}

		$res = $db->simpleQuerySingle('SELECT SUM(montant) FROM membres_transactions
			WHERE id_transaction = ? AND id_membre = ? ' . $where . '
			ORDER BY date DESC LIMIT 1;',
			false, (int)$transaction['id'], (int)$id);

		if (empty($res))
		{
			return false;
		}

		if ($res < $transaction['montant'])
		{
			return -1;
		}

		return true;
	}

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

Modified src/templates/admin/membres/fiche.tpl from [21b7212934] to [8e21378dab].

1
2
3
4

5
6
7
8


9











10

























11
12
13
14
15
16
17
{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}


























<dl class="describe">
    <dt>Numéro d'adhérent</dt>
    <dd>{$membre.id|escape}</dd>
    {foreach from=$champs key="c" item="config"}
    <dt>{$config.title|escape}</dt>
    <dd>


<

>
|

|

>
>

>
>
>
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







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
{include file="admin/_head.tpl" title="`$membre.nom` (`$categorie.nom`)" current="membres"}


<ul class="actions">
    <li class="current"><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><a href="{$admin_url}membres/transactions/membre.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">
{if $cotisation}
    <dt>Cotisation obligatoire</dt>
    <dd>{$cotisation.intitule|escape} — 
        {if $cotisation.duree}
            {$cotisation.duree|escape} jours
        {elseif $cotisation.debut}
            du {$cotisation.debut|format_sqlite_date_to_french} au {$cotisation.fin|format_sqlite_date_to_french}
        {else}
            ponctuelle
        {/if}
        — {$cotisation.montant|escape_money} {$config.monnaie|escape}
    </dd>
    <dt>À jour de cotisation ?</dt>
    <dd>
        {if !$statut_cotisation}
            <span class="error"><b>Non</b>, cotisation non payée ou expirée</span>
        {elseif $statut_cotisation == -1}
            <span class="alert"><b>Non</b>, cotisation payée partiellement</span>
        {else}
            <span class="confirm"><b>Oui</b>, cotisation à jour</span>
        {/if}
    </dd>
{/if}
    <dt>Paiements</dt>
    <dd>
        {if $nb_paiements == 1}
            {$nb_paiements|escape} paiement enregistré
        {elseif $nb_paiements}
            {$nb_paiements|escape} paiements enregistrés
        {else}
            Aucun paiement enregistré
        {/if} 
        — <a href="{$admin_url}transactions/membre.php?id={$membre.id|escape}">Voir l'historique</a></dd>
    <dd><form method="get" action="{$admin_url}transactions/ajout.php"><input type="submit" value="Enregistrer un paiement &rarr;" /></form></dd>
</dl>

<dl class="describe">
    <dt>Numéro d'adhérent</dt>
    <dd>{$membre.id|escape}</dd>
    {foreach from=$champs key="c" item="config"}
    <dt>{$config.title|escape}</dt>
    <dd>

Modified src/templates/admin/membres/modifier.tpl from [bd846eca54] to [218becfe54].

1










2
3
4
5
6
7
8
{include file="admin/_head.tpl" title="Modifier un membre" current="membres"}











{if $error}
    <p class="error">
        {$error|escape}
    </p>
{/if}


>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{include file="admin/_head.tpl" title="Modifier un membre" current="membres"}

<ul class="actions">
    <li><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">Membre n°{$membre.id|escape}</a></li>
    <li class="current"><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><a href="{$admin_url}membres/transactions/membre.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>

{if $error}
    <p class="error">
        {$error|escape}
    </p>
{/if}

Modified src/templates/admin/membres/supprimer.tpl from [6ce9f8b4e1] to [f104bccba0].

1










2
3
4
5
6
7
8
{include file="admin/_head.tpl" title="Supprimer un membre" current="membres"}











{if $error}
    <p class="error">
        {$error|escape}
    </p>
{/if}


>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{include file="admin/_head.tpl" title="Supprimer un membre" current="membres"}

<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 class="current"><a href="{$admin_url}membres/supprimer.php?id={$membre.id|escape}">Supprimer</a></li>
    {/if}
    <li><a href="{$admin_url}membres/transactions/membre.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>

{if $error}
    <p class="error">
        {$error|escape}
    </p>
{/if}

Modified src/www/admin/membres/fiche.php from [3211b6ac5b] to [2b55b9725c].

19
20
21
22
23
24
25

26
27
28

29

30







31




32
33
34
35
36



37
38
39
40

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

$champs = $config->get('champs_membres');



$cats = new Membres_Categories;

$categorie = $cats->get($membre['id_categorie']);









$tpl->assign('categorie', $categorie);




$tpl->assign('membre', $membre);

$tpl->assign('champs', $champs->getAll());

$tpl->assign('custom_js', array('datepickr.js'));




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

?>







>

<

>

>

>
>
>
>
>
>
>
|
>
>
>
>
|
|
<

<
>
>
>




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

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

$champs = $config->get('champs_membres');
$tpl->assign('champs', $champs->getAll());


$cats = new Membres_Categories;

$categorie = $cats->get($membre['id_categorie']);
$tpl->assign('categorie', $categorie);

$m_transactions = new Membres_Transactions;

if (!empty($categorie['id_transaction_obligatoire']))
{
	$transactions = new Transactions;
	$tr = $transactions->get($categorie['id_transaction_obligatoire']);

	$tpl->assign('cotisation', $tr);
	$tpl->assign('statut_cotisation', $m_transactions->isMemberUpToDate($membre['id'], $tr));
}
else
{
	$tpl->assign('cotisation', false);
}



$tpl->assign('nb_paiements', $m_transactions->countForMember($membre['id']));

$tpl->assign('membre', $membre);

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

?>

Modified src/www/admin/static/admin.css from [5f79d0f454] to [507b921e30].

951
952
953
954
955
956
957















958
959
960
961
962
963
964
    margin-bottom: .5em;
    float: left;
}

dl.describe ul {
    margin-left: 1em;
}
















.infos_asso {
    width: 20%;
    float: right;
    margin: .5em;
    border: .1em solid #ccc;
    background: #eee;







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







951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
    margin-bottom: .5em;
    float: left;
}

dl.describe ul {
    margin-left: 1em;
}

dl.cotisation {
    background: rgba(217, 134, 40, 0.2);
    padding: .5em;
    border-radius: .5em;
    margin: 1em;
}

dl.cotisation dt {
    font-weight: bold;
}

dl.cotisation dd {
    margin: .2em 0 .4em 1em;
}

.infos_asso {
    width: 20%;
    float: right;
    margin: .5em;
    border: .1em solid #ccc;
    background: #eee;