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
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 listCurrentSubscriptionsForMember($id)
	public function listSubscriptionsForMember($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
		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 = ? AND (
			WHERE cm.id_membre = ?
				(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

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
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>Cotisations et activités</dt>
    <dd>
    <dt>
        {if $nb_activites == 1}
            {$nb_activites|escape} activité enregistrée
            {$nb_activites|escape} cotisation enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} activités enregistrées
            {$nb_activites|escape} cotisations enregistrées
        {else}
            Aucune activité ou cotisation enregistrée
        {/if}
    </dd>
            Aucune cotisation enregistrée
        {/if} 
    </dt>
    <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)}
{if !empty($cotisations_membre)}
    <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>
    {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="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>
            <span class="error">En retard</span>
        {/if}
        {if $activite.expiration}— Valide jusqu'au {$activite.expiration|format_sqlite_date_to_french}{/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
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>Cotisations et activités</dt>
    <dd>
    <dt>
        {if $nb_activites == 1}
            {$nb_activites|escape} activité enregistrée
            {$nb_activites|escape} cotisation enregistrée
        {elseif $nb_activites}
            {$nb_activites|escape} activités enregistrées
            {$nb_activites|escape} cotisations enregistrées
        {else}
            Aucune activité ou cotisation enregistrée
            Aucune cotisation enregistrée
        {/if} 
    </dt>
    <dd>
         <a href="{$admin_url}membres/cotisations.php?id={$membre.id|escape}">Voir l'historique</a>
        <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
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('cotisations_membre', $cotisations->listSubscriptionsForMember($membre['id']));

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

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

?>