Overview
Comment:Refonte présentation cotisations en cours
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a75d219e654c53fff3685ee6badb669789de42cf
User & Date: bohwaz on 2014-02-11 04:42:07
Other Links: manifest | tags
Context
2014-02-11
04:51
Ergonomie et nettoyage check-in: e951e0ea3a user: bohwaz tags: trunk
04:42
Refonte présentation cotisations en cours check-in: a75d219e65 user: bohwaz tags: trunk
04:25
Refonte partielle des transactions : renommage en cotisations, et pas de gestion financière intégrée, ça mélangeait trop les choses, le mieux serait en fait de permettre de ventiler les écritures directement dans la compta. check-in: 9b3f367a14 user: bohwaz tags: trunk
Changes

Modified src/include/class.cotisations_membres.php from [cf28f8d28d] to [20d3b5da47].

248
249
250
251
252
253
254
255
256
257
258



259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
	}

	/**
	 * Liste des cotisations / activités en cours pour ce membre
	 * @param  integer $id Numéro de membre
	 * @return array     Liste des cotisations en cours de validité
	 */
	public function listCurrentSubscriptionsForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT c.montant, c.intitule, c.duree, c.debut, c.fin,



				CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\')
				WHEN c.fin IS NOT NULL THEN c.fin ELSE NULL END AS expiration
			FROM cotisations_membres AS cm
				INNER JOIN cotisations AS c ON c.id = cm.id_cotisation
			WHERE cm.id_membre = ? AND (
				(c.duree IS NOT NULL AND cm.date >= date(\'now\', \'-\'||c.duree||\' days\'))
				OR (c.fin IS NOT NULL AND c.fin >= date(\'now\'))
				OR (c.fin IS NULL AND c.duree IS NULL)
			)
			GROUP BY cm.id_cotisation
			ORDER BY cm.date DESC;', \SQLITE3_ASSOC, (int)$id);
	}

	/**
	 * Ce membre est-il à jour sur cette cotisation ?
	 * @param  integer  $id             Numéro de membre







|


|
>
>
>
|
|


|
<
<
<
<







248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266




267
268
269
270
271
272
273
	}

	/**
	 * Liste des cotisations / activités en cours pour ce membre
	 * @param  integer $id Numéro de membre
	 * @return array     Liste des cotisations en cours de validité
	 */
	public function listSubscriptionsForMember($id)
	{
		$db = DB::getInstance();
		return $db->simpleStatementFetch('SELECT c.*,
			CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\') >= date()
			WHEN c.fin IS NOT NULL THEN c.fin >= date()
			WHEN cm.id IS NOT NULL THEN 1 ELSE 0 END AS a_jour,
			CASE WHEN c.duree IS NOT NULL THEN date(cm.date, \'+\'||c.duree||\' days\')
			WHEN c.fin IS NOT NULL THEN c.fin ELSE 1 END AS expiration
			FROM cotisations_membres AS cm
				INNER JOIN cotisations AS c ON c.id = cm.id_cotisation
			WHERE cm.id_membre = ?




			GROUP BY cm.id_cotisation
			ORDER BY cm.date DESC;', \SQLITE3_ASSOC, (int)$id);
	}

	/**
	 * Ce membre est-il à jour sur cette cotisation ?
	 * @param  integer  $id             Numéro de membre

Modified src/templates/admin/membres/cotisations.tpl from [fecf43f6ad] to [b7f9a70497].

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
            <b class="confirm">&#10003; Oui</b>
            {if $cotisation.expiration}
                (expire le {$cotisation.expiration|format_sqlite_date_to_french})
            {/if}
        {/if}
    </dd>
{/if}
    <dt>Cotisations et activités</dt>
    <dd>
        {if $nb_activites == 1}
            {$nb_activites|escape} activité enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} activités enregistrées
        {else}
            Aucune activité ou cotisation enregistrée
        {/if}
    </dd>
    <dd><form method="get" action="{$admin_url}membres/cotisations/ajout.php"><input type="submit" value="Enregistrer une cotisation &rarr;" /><input type="hidden" name="id" value="{$membre.id|escape}" /></form></dd>
{if !empty($activites)}
    <dt>Activités ou cotisations en cours</dt>
    {foreach from=$activites item="activite"}

    <dd>{$activite.intitule|escape} — 
        {if $activite.total >= $activite.montant}<span class="confirm">Réglé</span>


        {else}
            <span class="alert">{$activite.total|escape_money} {$config.monnaie|escape} 
                réglés sur un total de {$activite.montant|escape_money} {$config.monnaie|escape}</span>
            <span class="error">(reste {$activite.a_payer|escape_money} {$config.monnaie|escape} à payer)</span>

        {/if}
        {if $activite.expiration}— Valide jusqu'au {$activite.expiration|format_sqlite_date_to_french}{/if}
    </dd>
    {/foreach}
{/if}

</dl>

{if !empty($cotisations)}
<table class="list">
    <thead>
        <th>Date</th>
        <td>Cotisation</td>







<
|

|

|

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

<
<
<
>

<



>







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
            <b class="confirm">&#10003; Oui</b>
            {if $cotisation.expiration}
                (expire le {$cotisation.expiration|format_sqlite_date_to_french})
            {/if}
        {/if}
    </dd>
{/if}

    <dt>
        {if $nb_activites == 1}
            {$nb_activites|escape} cotisation enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} cotisations enregistrées
        {else}
            Aucune cotisation enregistrée
        {/if} 
    </dt>

{if !empty($cotisations_membre)}


    {foreach from=$cotisations_membre item="co"}
    <dd>{$co.intitule|escape} — 

        {if $co.a_jour}
            <span class="confirm">À jour</span>{if $co.expiration} — Expire le {$co.expiration|format_sqlite_date_to_french}{/if}
        {else}



            <span class="error">En retard</span>
        {/if}

    </dd>
    {/foreach}
{/if}
    <dt><form method="get" action="{$admin_url}membres/cotisations/ajout.php"><input type="submit" value="Enregistrer une cotisation &rarr;" /><input type="hidden" name="id" value="{$membre.id|escape}" /></form></dt>
</dl>

{if !empty($cotisations)}
<table class="list">
    <thead>
        <th>Date</th>
        <td>Cotisation</td>

Modified src/templates/admin/membres/fiche.tpl from [99787398e6] to [7b79acb375].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45


46
47
48
49
50
51
52
53
            <b class="confirm">&#10003; Oui</b>
            {if $cotisation.expiration}
                (expire le {$cotisation.expiration|format_sqlite_date_to_french})
            {/if}
        {/if}
    </dd>
{/if}
    <dt>Cotisations et activités</dt>
    <dd>
        {if $nb_activites == 1}
            {$nb_activites|escape} activité enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} activités enregistrées
        {else}
            Aucune activité ou cotisation enregistrée
        {/if} 


        <a href="{$admin_url}membres/cotisations.php?id={$membre.id|escape}">Voir l'historique</a>
    </dd>
    <dd><form method="get" action="{$admin_url}membres/cotisations/ajout.php"><input type="submit" value="Enregistrer une cotisation &rarr;" /><input type="hidden" name="id" value="{$membre.id|escape}" /></form></dd>
{if !empty($nb_operations)}
    <dt>Écritures comptables</dt>
    <dd>{$nb_operations|escape} écritures comptables
        — <a href="{$admin_url}compta/operations/membre.php?id={$membre.id|escape}">Voir la liste des écritures ajoutées par ce membre</a>
    </dd>







<
|

|

|

|

>
>
|







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
            <b class="confirm">&#10003; Oui</b>
            {if $cotisation.expiration}
                (expire le {$cotisation.expiration|format_sqlite_date_to_french})
            {/if}
        {/if}
    </dd>
{/if}

    <dt>
        {if $nb_activites == 1}
            {$nb_activites|escape} cotisation enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} cotisations enregistrées
        {else}
            Aucune cotisation enregistrée
        {/if} 
    </dt>
    <dd>
        <a href="{$admin_url}membres/cotisations.php?id={$membre.id|escape}">Voir l'historique</a>
    </dd>
    <dd><form method="get" action="{$admin_url}membres/cotisations/ajout.php"><input type="submit" value="Enregistrer une cotisation &rarr;" /><input type="hidden" name="id" value="{$membre.id|escape}" /></form></dd>
{if !empty($nb_operations)}
    <dt>Écritures comptables</dt>
    <dd>{$nb_operations|escape} écritures comptables
        — <a href="{$admin_url}compta/operations/membre.php?id={$membre.id|escape}">Voir la liste des écritures ajoutées par ce membre</a>
    </dd>

Modified src/www/admin/membres/cotisations.php from [bc5d509f0a] to [cad951826b].

36
37
38
39
40
41
42
43
44
45
46
47
48
49
else
{
	$tpl->assign('cotisation', false);
}

$tpl->assign('nb_activites', $cotisations->countForMember($membre['id']));
$tpl->assign('cotisations', $cotisations->listForMember($membre['id']));
$tpl->assign('en_cours', $cotisations->listCurrentSubscriptionsForMember($membre['id']));

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

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

?>







|






36
37
38
39
40
41
42
43
44
45
46
47
48
49
else
{
	$tpl->assign('cotisation', false);
}

$tpl->assign('nb_activites', $cotisations->countForMember($membre['id']));
$tpl->assign('cotisations', $cotisations->listForMember($membre['id']));
$tpl->assign('cotisations_membre', $cotisations->listSubscriptionsForMember($membre['id']));

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

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

?>