Changeset 44057 in spip-zone


Ignore:
Timestamp:
Feb 1, 2011, 10:14:15 AM (9 years ago)
Author:
esj@…
Message:

Associaspip. Extension de la visualisation en PDF de la liste des membres: la page de gestion des membres comporte un formulaire permettant de sélectionner les champs de la table des membres, et d'obtenir ainsi une liste avec seulement les informations désirées.

Cette fonctionnalité a exigé de renommer ou ajouter quelques chaînes de langue "adherent_libelle_XXX" pour que XXX soit toujours un nom de champ de la table des membres. Il faudrait aussi affiner les types SQL de cette table pour bien calculer les tailles des colonnes ("mail" ne saurait être un TinyText? puisque "nom" est un Text).

Location:
_plugins_/Association/Associaspip
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/exec/adherents.php

    r43924 r44057  
    3939
    4040                echo debut_boite_info(true);
    41                 echo association_date_du_jour();       
     41
     42                echo association_icone(_T('asso:menu2_titre_relances_cotisations'),  $url_edit_relances, 'ico_panier.png');
    4243                echo '<p>'._T('asso:adherent_liste_legende').'</p>';
    4344               
     
    5657                echo '<div style="float:right;text_align:right">'.$nombre_total.'</div>';
    5758                echo '<div>'._T('asso:adherent_liste_nombre_total').'</div>';
     59               
     60                echo association_date_du_jour();               
     61
    5862                echo fin_boite_info(true);     
    59                
    60                
    61                 $res=association_icone(_T('asso:menu2_titre_relances_cotisations'),  $url_edit_relances, 'ico_panier.png');
    62                 $res.=association_icone(_T('asso:bouton_impression'),
    63                                         generer_url_ecrire('pdf_adherents', 'statut_interne='.$statut_interne),
    64                                         'print-24.png');
    65                 $res.=association_icone(_T('asso:parametres'),  $url_association, 'annonce.gif');
    66                         echo bloc_des_raccourcis($res);
    67                
     63
     64                echo debut_cadre_enfonce('',true),
     65                  '<h3 style="text-align:center;">',
     66                  _T('plugins_vue_liste'), '</h3>',
     67                  adherents_table(),
     68                  fin_cadre_enfonce(true);
     69
     70
    6871                echo debut_droite("",true);
    6972               
     
    100103               
    101104                //Filtre ID
    102                 if ( isset ($_POST['id'])) {
    103                         $id=_q($_POST['id']);
    104                         $critere="a.id_auteur=$id";
    105                         if ($indexation=="id_asso") { $critere="id_asso=$id"; }
     105                $id = intval(_request('id'));
     106                if (!$id) {
     107                        $id = ($indexation=='id_asso') ? _T('asso:adherent_libelle_id_asso') : _T('asso:adherent_libelle_id_auteur');
     108                } else {
     109                        $critere = ($indexation=="id_asso") ? $critere="id_asso=$id" : "a.id_auteur=$id";
    106110                }
    107111               
    108112                echo "\n<form method='post' action='".$url_adherents."'><div>";
    109                 echo '<input type="text" name="id"  class="fondl" style="padding:0.5px" onfocus=\'this.value=""\' size="10" ';
    110                 if ($indexation=='id_asso') { echo ' value="'._T('asso:adherent_libelle_id_asso').'" '; }
    111                 else { echo ' value="'._T('asso:adherent_libelle_id_adherent').'" ';}
    112                 echo ' onchange="form.submit()" />';
     113                echo '<input type="text" name="id"  class="fondl" style="padding:0.5px" onfocus=\'this.value=""\' size="10"  value="'. $id .'" onchange="form.submit()" />';
    113114                echo '</div></form>';
    114115                echo '</td>';
     
    212213       
    213214        if ($indexation=="id_asso") { $t = _T('asso:adherent_libelle_id_asso');}
    214         else { $t = _T('asso:adherent_libelle_id_adherent');}
     215        else { $t = _T('asso:adherent_libelle_id_auteur');}
    215216
    216217        $res = "<table border='0' cellpadding='2' cellspacing='0' width='100%' class='arial2' style='border: 1px solid #aaaaaa;'>\n"
     
    218219        . "<td><strong>$t</strong></td>\n"
    219220        . "<th>"._T('asso:adherent_libelle_photo')."</th>\n"
    220         . "<th>"._T('asso:adherent_libelle_nom')."</th>\n"
     221        . "<th>"._T('asso:adherent_libelle_nom_famille')."</th>\n"
    221222        . "<th>"._T('asso:adherent_libelle_prenom')."</th>\n"
    222223        . "<th>"._T('asso:adherent_libelle_categorie')."</th>\n"
     
    261262    : $c;
    262263}
     264
     265function adherents_table()
     266{
     267  $index = ($GLOBALS['association_metas']['indexation'] == 'id_asso');
     268  $champs = $GLOBALS['association_tables_principales']['spip_asso_membres']['field'];
     269  $res = '';
     270  foreach ($champs as $k => $v) {
     271    $libelle = 'adherent_libelle_' . $k;
     272    $trad = _T('asso:' . $libelle);
     273    if ($libelle != str_replace(' ', '_', $trad)) {
     274      if (($k == 'id_asso' AND !$index) OR ($k == 'id_auteur' AND $index))
     275        continue;
     276      $res .= "<input type='checkbox' name='champs[$k]' />$trad<br />";
     277    }
     278  }
     279  return  generer_form_ecrire('pdf_adherents', $res, '', _T('asso:bouton_impression'));
     280}
     281
    263282?>
  • _plugins_/Association/Associaspip/exec/edit_adherent.php

    r43924 r44057  
    128128
    129129        $res .= '<label for="commentaire"><strong>'
    130         . _T('asso:adherent_libelle_remarques').' :</strong></label>'
     130        . _T('asso:adherent_libelle_commentaires').' :</strong></label>'
    131131        . '<textarea name="commentaire" id="commentaire" class="formo" rows="3" cols="80" >'
    132132        . $commentaire
  • _plugins_/Association/Associaspip/exec/edit_labels.php

    r43924 r44057  
    7171                        . (($indexation=="id_asso")
    7272                         ? _T('asso:adherent_libelle_id_asso')
    73                          : _T('asso:adherent_libelle_id_adherent'))
     73                         : _T('asso:adherent_libelle_id_auteur'))
    7474                        .'</strong></td>'
    7575                        .'<th>' . _T('asso:nom') . '</th>'
  • _plugins_/Association/Associaspip/exec/edit_relances.php

    r43924 r44057  
    7373                        . "<tr style='background-color: #DBE1C5;'>\n"
    7474                        . '<td><strong>'
    75                         . (($indexation=="id_asso") ? _T('asso:adherent_libelle_id_asso') : _T('asso:adherent_libelle_id_adherent'))
     75                        . (($indexation=="id_asso") ? _T('asso:adherent_libelle_id_asso') : _T('asso:adherent_libelle_id_auteur'))
    7676                        . "</strong></td>\n"
    7777                        . '<th>' . _T('asso:nom') . "</th>\n"
  • _plugins_/Association/Associaspip/exec/pdf_adherents.php

    r44018 r44057  
    1717        $pdf->Open();
    1818        $pdf->AddPage();
     19
    1920        //On définit les colonnes (champs,largeur,intitulé,alignement)
    20         $pdf->AddCol($GLOBALS['association_metas']['indexation'],15,_T('asso:adherent_libelle_id_adherent'),'R');
    21         $pdf->AddCol('nom_famille',50,_T('asso:adherent_libelle_nom'),'L');
    22         $pdf->AddCol('prenom',40,_T('asso:adherent_libelle_prenom'),'L');
    23         $pdf->AddCol('ville',50,_T('asso:adherent_libelle_ville'),'L');
    24         $pdf->AddCol(unicode_to_utf_8('categorie'),30,_T('asso:adherent_libelle_categorie'),'C');
    25         $pdf->AddCol('validite',20,_T('asso:adherent_libelle_validite'),'L');
    26         $pdf->AddCol('statut_interne',15,_T('asso:adherent_entete_statut'),'C');
     21        $champs = $GLOBALS['association_tables_principales']['spip_asso_membres']['field'];
     22        $sent = _request('champs');
     23        foreach ($champs as $k => $v) {
     24          if ($sent[$k]=='on') {
     25            $type = strpos($v, 'text');
     26            $p = ($type===false) ? 'R' : (($type==0) ? 'L' : 'C');
     27            $n = ($type===false) ? 20 : (($type==0) ? 45 : 25);
     28            $pdf->AddCol($k,$n,_T('asso:adherent_libelle_' . $k), $p);
     29          }
     30        }
    2731        $prop=array(
    2832                'HeaderColor'=>array(255,150,100),
     
    3236        );
    3337        $order = $GLOBALS['association_metas']['indexation'];
    34         $order = 'nom_famille' . ($order ? (",$order") : '');
     38        if ($sent['nom_famille']=='on')
     39          $order = 'nom_famille' . ($order ? (",$order") : '');
    3540        $pdf->Query(sql_select('*',_ASSOCIATION_AUTEURS_ELARGIS, request_statut_interne(), '', $order), $prop);
    3641        $pdf->Output();
  • _plugins_/Association/Associaspip/lang/asso_en.php

    r21863 r44057  
    9090        'adherent_libelle_utilisateur4' => 'User 4',
    9191        'adherent_libelle_validite' => 'Validity',
    92         'adherent_libelle_remarques' => 'Comments',
     92        'adherent_libelle_commentaires' => 'Comments',
    9393        'adherent_libelle_identifiant' => 'Login',
    9494        'adherent_libelle_visiteur_spip' => 'SPIP Visitor',
  • _plugins_/Association/Associaspip/lang/asso_fr.php

    r43913 r44057  
    109109        'adherent_libelle_reference_interne' => 'R&eacute;f&eacute;rence interne',
    110110        'adherent_libelle_numero' => 'Num&eacute;ro',
    111         'adherent_libelle_id_adherent' => 'ID',
     111        'adherent_libelle_id_auteur' => 'ID',
    112112        'adherent_libelle_photo' => 'Photo',
    113         'adherent_libelle_nom' => 'Nom',
     113        'adherent_libelle_nom_famille' => 'Nom',
    114114        'adherent_libelle_prenom' => 'Pr&eacute;nom',
    115115        'adherent_libelle_sexe' => 'Civilit&eacute;',
     
    119119        'adherent_libelle_validite' => 'Validit&eacute;',
    120120        'adherent_libelle_date_validite' => 'Date limite de validit&eacute;',
    121         'adherent_libelle_remarques' => 'Remarques',
     121        'adherent_libelle_commentaires' => 'Remarques',
    122122        'adherent_libelle_statut' => 'Statut de cotisation',
     123        'adherent_libelle_code_postal' => 'Code postal',
     124        'adherent_libelle_telephone' => "T&eacute;l&eacute;phone",
     125        'adherent_libelle_mobile' => "Mobile",
     126        'adherent_libelle_email' => "Mail",
    123127
    124128        'adherent_libelle_statut_ok' => '&Agrave; jour',
  • _plugins_/Association/Associaspip/lang/asso_gl.php

    r37565 r44057  
    9696        'adherent_libelle_validite' => 'Validez',
    9797        'adherent_libelle_date_validite' => 'Data l&iacute;mite de validez',
    98         'adherent_libelle_remarques' => 'Observaci&oacute;ns',
     98        'adherent_libelle_commentaires' => 'Observaci&oacute;ns',
    9999        'adherent_libelle_identifiant' => 'Identificador',
    100100        'adherent_libelle_visiteur_spip' => 'Visitante SPIP',
Note: See TracChangeset for help on using the changeset viewer.