Overview
Comment:Affichage du champ correctement plutôt que de manière brute dans les listes
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 84bf6d757989050a923dc5bd4e1552706918a7e2
User & Date: bohwaz on 2013-01-30 17:01:17
Other Links: manifest | tags
Context
2013-01-31
16:25
Correction de bugs en pagaille pour les champs membres + gestion dynamique des options pour select et multiple check-in: 9dbb21bd78 user: bohwaz tags: trunk
2013-01-30
17:01
Affichage du champ correctement plutôt que de manière brute dans les listes check-in: 84bf6d7579 user: bohwaz tags: trunk
16:49
Recherche plus intuitive des champs multiple, select et checkbox check-in: eb23b90b2c user: bohwaz tags: trunk
Changes

Modified include/class.membres.php from [ae31108732] to [8772e65aac].

500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
        }

        return $db->simpleStatementFetch(
            'SELECT id, id_categorie, ' . implode(', ', $fields) . ',
                strftime(\'%s\', date_cotisation) AS date_cotisation,
                strftime(\'%s\', date_inscription) AS date_inscription
                FROM membres ' . $where . ($order ? ' ORDER BY ' . $order : '') . '
                LIMIT 100;',
            SQLITE3_ASSOC
        );
    }

    public function listByCategory($cat, $fields, $page = 1, $order = null, $desc = false)
    {
        $begin = ($page - 1) * self::ITEMS_PER_PAGE;







|







500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
        }

        return $db->simpleStatementFetch(
            'SELECT id, id_categorie, ' . implode(', ', $fields) . ',
                strftime(\'%s\', date_cotisation) AS date_cotisation,
                strftime(\'%s\', date_inscription) AS date_inscription
                FROM membres ' . $where . ($order ? ' ORDER BY ' . $order : '') . '
                LIMIT 1000;',
            SQLITE3_ASSOC
        );
    }

    public function listByCategory($cat, $fields, $page = 1, $order = null, $desc = false)
    {
        $begin = ($page - 1) * self::ITEMS_PER_PAGE;

Modified include/lib.template.php from [a9252aaf97] to [841646802c].

500
501
502
503
504
505
506



























507
508
509
510
511
512
513

$tpl->register_modifier('get_country_name', array('Garradin\utils', 'getCountryName'));
$tpl->register_modifier('format_tel', 'Garradin\tpl_format_tel');
$tpl->register_modifier('format_wiki', 'Garradin\tpl_format_wiki');
$tpl->register_modifier('liens_wiki', 'Garradin\tpl_liens_wiki');
$tpl->register_modifier('escape_money', 'Garradin\escape_money');
$tpl->register_modifier('abs', 'abs');




























$tpl->register_modifier('format_sqlite_date_to_french', function ($d) {
    if (strlen($d) == 10)
        return \DateTime::createFromFormat('Y-m-d', $d)->format('d/m/Y');
    else
        return \DateTime::createFromFormat('Y-m-d H:i:s', $d)->format('d/m/Y H:i');
});







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







500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540

$tpl->register_modifier('get_country_name', array('Garradin\utils', 'getCountryName'));
$tpl->register_modifier('format_tel', 'Garradin\tpl_format_tel');
$tpl->register_modifier('format_wiki', 'Garradin\tpl_format_wiki');
$tpl->register_modifier('liens_wiki', 'Garradin\tpl_liens_wiki');
$tpl->register_modifier('escape_money', 'Garradin\escape_money');
$tpl->register_modifier('abs', 'abs');

$tpl->register_modifier('display_champ_membre', function ($v, $config) {
    if ($config['type'] == 'checkbox') {
        return $v ? 'Oui' : 'Non';
    } elseif ($config['type'] == 'email') {
        return '<a href="mailto:' . $v . '">' . $v . '</a>';
    } elseif ($config['type'] == 'tel') {
        return '<a href="tel:' . $v . '">' . $v . '</a>';
    } elseif ($config['type'] == 'url') {
        return '<a href="' . $v . '">' . $v . '</a>';
    } elseif ($config['type'] == 'country') {
        return utils::getCountryName($v);
    } elseif ($config['type'] == 'multiple') {
        $out = array();

        foreach ($config['options'] as $b => $name)
        {
            if ($v & (0x01 << $b))
                $out[] = $name;
        }

        return implode(', ', $out);
    } else {
        return $v;
    }

});

$tpl->register_modifier('format_sqlite_date_to_french', function ($d) {
    if (strlen($d) == 10)
        return \DateTime::createFromFormat('Y-m-d', $d)->format('d/m/Y');
    else
        return \DateTime::createFromFormat('Y-m-d H:i:s', $d)->format('d/m/Y H:i');
});

Modified templates/admin/membres/index.tpl from [6d8ec02715] to [580bdca1ad].

55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
            <td></td>
        </thead>
        <tbody>
            {foreach from=$liste item="membre"}
                <tr>
                    {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN}<td class="check"><input type="checkbox" name="selected[]" value="{$membre.id|escape}" /></td>{/if}
                    <td class="num"><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">{$membre.id|escape}</a></th>
                    {foreach from=$champs key="c" item="champ"}
                        <td>{$membre[$c]|escape}</td>
                    {/foreach}
                    {if empty($membre.date_cotisation)}
                        <td class="error">jamais réglée</td>
                    {elseif $membre.date_cotisation > strtotime('12 months ago')} {* FIXME durée de cotisation variable *}
                        <td class="confirm">à jour</td>
                    {else}
                        <td class="alert">en retard</td>







|
|







55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
            <td></td>
        </thead>
        <tbody>
            {foreach from=$liste item="membre"}
                <tr>
                    {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN}<td class="check"><input type="checkbox" name="selected[]" value="{$membre.id|escape}" /></td>{/if}
                    <td class="num"><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">{$membre.id|escape}</a></th>
                    {foreach from=$champs key="c" item="cfg"}
                        <td>{$membre[$c]|escape|display_champ_membre:$cfg}</td>
                    {/foreach}
                    {if empty($membre.date_cotisation)}
                        <td class="error">jamais réglée</td>
                    {elseif $membre.date_cotisation > strtotime('12 months ago')} {* FIXME durée de cotisation variable *}
                        <td class="confirm">à jour</td>
                    {else}
                        <td class="alert">en retard</td>

Modified templates/admin/membres/recherche.tpl from [db716247fe] to [4bc6bcc820].

69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
        <tbody>
            {foreach from=$liste item="membre"}
                <tr>
                    {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN}<td class="check"><input type="checkbox" name="selected[]" value="{$membre.id|escape}" /></td>{/if}
                    <td class="num"><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">{$membre.id|escape}</a></th>
                    {foreach from=$champs_entete key="c" item="cfg"}
                        {if $champ == $c}
                            <th><strong>{$membre[$c]|escape}</strong></th>
                        {else}
                            <td>{$membre[$c]|escape}</td>
                        {/if}
                    {/foreach}
                    {if empty($membre.date_cotisation)}
                        <td class="error">jamais réglée</td>
                    {elseif $membre.date_cotisation > strtotime('12 months ago')}







|







69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
        <tbody>
            {foreach from=$liste item="membre"}
                <tr>
                    {if $user.droits.membres == Garradin\Membres::DROIT_ADMIN}<td class="check"><input type="checkbox" name="selected[]" value="{$membre.id|escape}" /></td>{/if}
                    <td class="num"><a href="{$admin_url}membres/fiche.php?id={$membre.id|escape}">{$membre.id|escape}</a></th>
                    {foreach from=$champs_entete key="c" item="cfg"}
                        {if $champ == $c}
                            <th><strong>{$membre[$c]|escape|display_champ_membre:$cfg}</strong></th>
                        {else}
                            <td>{$membre[$c]|escape}</td>
                        {/if}
                    {/foreach}
                    {if empty($membre.date_cotisation)}
                        <td class="error">jamais réglée</td>
                    {elseif $membre.date_cotisation > strtotime('12 months ago')}