Changeset 45991 in spip-zone


Ignore:
Timestamp:
Mar 27, 2011, 2:05:10 PM (10 years ago)
Author:
jeannolapin@…
Message:

Associaspip Comptabilité: pagination du livre de compte revue pour afficher directement une operation passee en parametre URL et lien depuis la fiche adherents vers les operations correspondantes du livre.

Location:
_plugins_/Association/Associaspip
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/Association/Associaspip/association_options.php

    r45740 r45991  
    4848}
    4949
    50 function association_bouton($texte, $image, $script, $args='')
     50function association_bouton($texte, $image, $script, $args='', $img_attributes='')
    5151{
    5252        return '<a href="'
     
    5656        . '" alt=" " title="'
    5757        . $texte
    58         . '" /></a>';
     58        . '" '
     59        . $img_attributes
     60        .' /></a>';
    5961}
    6062
  • _plugins_/Association/Associaspip/exec/comptes.php

    r44256 r45991  
    3131                $max = intval(_request('max'));
    3232                if (!$max) $max = 30;
    33                 exec_comptes_args($annee, $vu, $imputation, _request('debut'), $max);
    34         }
    35 }
    36 
    37 function exec_comptes_args($annee, $vu, $imputation, $debut, $max_par_page)
    38 {
     33                $id_compte = _request('id_compte', $_GET);
     34                $id_compte = $id_compte ? intval($id_compte):'';
     35                exec_comptes_args($annee, $vu, $imputation, _request('debut'), $max, $id_compte);
     36        }
     37}
     38
     39function exec_comptes_args($annee, $vu, $imputation, $debut, $max_par_page, $id_compte)
     40{
     41        /* si on a id_compte a afficher, recuperer son annee pour afficher celle la et reinitialiser les autres parametres */
     42        if ($id_compte) {
     43                $annee_id_compte = sql_getfetsel("date_format( date, '%Y' )", 'spip_asso_comptes', "id_compte=$id_compte");
     44                if ($annee_id_compte) {
     45                        $annee = $annee_id_compte;
     46                        /* on reinitialise les autres parametres */
     47                        $imputation = '%';
     48                        $vu = '';
     49                } else { /* on n'a pas trouve l'id_compte */
     50                        $id_compte = '';
     51                }
     52        }
    3953        $where = "imputation like " . sql_quote($imputation)
    4054          . (!is_numeric($vu) ? '' : (" AND vu=$vu"));
     
    86100        echo '</tr></table>';
    87101
     102        /* (re)calculer la pagination en fonction de id_compte */
     103        if ($id_compte) {
     104                /* on recupere les id_comptes de la requete sans le critere de limite et on en tire l'index de l'id_compte recherche parmis tous ceux disponible */
     105                $all_id_compte = sql_allfetsel("id_compte", "spip_asso_comptes", $where, '',  'date DESC,id_compte DESC');
     106                $index_id_compte = -1;
     107                reset($all_id_compte);
     108                while (($index_id_compte<0) && (list($k,$v) = each($all_id_compte))) {
     109                        if ($v['id_compte'] == $id_compte) $index_id_compte = $k;
     110                }
     111                /* on recalcule le parametre de limite de la requete */
     112                if ($index_id_compte>=0) {
     113                        $debut = intval($index_id_compte/$max_par_page)*$max_par_page;
     114                }
     115        }
     116
    88117        //TABLEAU
    89118
    90         $table = comptes_while($where, intval($debut) . "," . $max_par_page);
     119        $table = comptes_while($where, intval($debut).",".$max_par_page, $id_compte);
    91120
    92121        if ($table) {
     
    105134                          $nav .= "<a href='$h'>$position</a>\n"; }
    106135                  }
    107 
    108                 $table = "<table border='0' cellpadding='2' cellspacing='0' width='100%' class='arial2' style='border: 1px solid #aaaaaa;'>\n"
    109         . "<tr style='background-color: #DBE1C5;'>\n"
    110         . '<th style="text-align: right;">' . _T('asso:id'). "</th>\n"
    111         . '<th style="text-align: right;">' . _T('asso:date') . "</th>\n"
    112         . '<th>' . _T('asso:compte') . "</th>\n"
    113         . '<th>' . _T('asso:justification') . "</th>\n"
    114         . '<th style="text-align: right;">' . _T('asso:montant') . "</th>\n"
    115         . '<th>' . _T('asso:financier') . "</th>\n"
    116         . '<td colspan="3" style="text-align: center;"><strong>&nbsp;</strong></td>'
    117         . '</tr>'
    118         . $table
    119         . "</table>\n"
    120         . "<table width='100%'><tr>\n<td>" . $nav . '</td><td style="text-align:right;"><input type="submit" value="' . _L('Valider') . '" class="fondo" /></td></tr></table>';
    121 
     136               
     137                $table = "<table border='0' cellpadding='2' cellspacing='0' width='100%' class='arial2' style='border: 1px solid #aaaaaa;'>"
     138                . "<tr style='background-color: #DBE1C5;'>\n"
     139                . '<th style="text-align: right;">' . _T('asso:id'). "</th>\n"
     140                . '<th style="text-align: right;">' . _T('asso:date') . "</th>\n"
     141                . '<th>' . _T('asso:compte') . "</th>\n"
     142                . '<th>' . _T('asso:justification') . "</th>\n"
     143                . '<th style="text-align: right;">' . _T('asso:montant') . "</th>\n"
     144                . '<th>' . _T('asso:financier') . "</th>\n"
     145                . '<td colspan="3" style="text-align: center;"><strong>&nbsp;</strong></td>'
     146                . '</tr>'
     147                . $table
     148                . "</table>\n"
     149                . "<table width='100%'><tr>\n<td>" . $nav . '</td><td style="text-align:right;"><input type="submit" value="' . _L('Valider') . '" class="fondo" /></td></tr></table>';
     150       
    122151                echo generer_form_ecrire('action_comptes', $table);
    123152        }
     
    126155}
    127156
    128 function comptes_while($where, $limit)
     157function comptes_while($where, $limit, $id_compte)
    129158{
    130159        $query = sql_select('*', "spip_asso_comptes", $where,'',  'date DESC,id_compte DESC', $limit);
     
    135164                else { $class="impair";}           
    136165                $id = $data['id_compte'];
    137                 $auteurs .= "\n<tr>"
     166               
     167                if($id_compte==$id) {
     168                        $onload_option .= 'onLoad="document.getElementById(\'id_compte'.$id_compte.'\').scrollIntoView(true);"';
     169                }
     170
     171                $auteurs .= "\n<tr id='id_compte$id'>"
    138172                . '<td class="'
    139173                . $class. ' border1" style="text-align:right;">'
    140                 . $id
     174                .$id
    141175                . "</td>\n<td class=\""
    142176                . $class. ' border1" style="text-align:right;">'
     
    156190                . '</td>'
    157191                . ($data['vu'] ?
    158                         ("<td class='$class' colspan='3' style='border-top: 1px solid #CCCCCC;'>&nbsp;</td>\n")
    159                    :  ("<td class='$class border1' style='text-align: center;'>" . association_bouton(_T('asso:mettre_a_jour'), 'edit-12.gif', 'edit_compte', 'id='.$id) . "</td>\n"
     192                        ("<td class='$class' colspan='3' style='text-align: center;'><img src=\""._DIR_PLUGIN_ASSOCIATION_ICONES."puce-verte.gif\" $onload_option /></td>\n")
     193                   :  ("<td class='$class border1' style='text-align: center;'>" . association_bouton(_T('asso:mettre_a_jour'), 'edit-12.gif', 'edit_compte', 'id='.$id, $onload_option) . "</td>\n"
    160194                        . "<td class='$class border1' style='text-align: center;'>" . association_bouton(_T('asso:supprimer'), 'poubelle.gif', 'action_comptes', 'id='.$id) . "</td>\n"
    161195                       . "<td class='$class border1' style='text-align: center;'><input name='valide[]' type='checkbox' value='".$data['id_compte']. "' /></td>\n"))
  • _plugins_/Association/Associaspip/inc/voir_adherent.php

    r43930 r45991  
    2121                $id = $row['id'];
    2222                $data[$k] = "<tr id='$type$id' style='background-color: #EEEEEE;'>"
    23                   . "<td class='arial11 border1' style='text-align:right;'>$id</td>\n"
    24                   . '<td class="arial11 border1">'.$row['journal']."</td>\n"
    25                   . '<td class="arial11 border1">'.association_datefr($row['date'])."</td>\n"
    26                   . '<td class="arial11 border1">'.propre($j)."</td>\n"
    27                   . '<td class="arial11 border1" style="text-align:right;">'.$row['montant'].' &euro;</td>'
    28                   . '<td class="arial11 border1" style="text-align:right;">'
    29                   . ($row['vu'] ? _T('asso:adherent_libelle_oui') : _T('asso:adherent_libelle_non'))
    30                   . '</td>'
    31                   . '</tr>';
     23                . "<td class='arial11 border1' style='text-align:right;'>$id</td>\n"
     24                . '<td class="arial11 border1">'.$row['journal']."</td>\n"
     25                . '<td class="arial11 border1">'.association_datefr($row['date'])."</td>\n"
     26                . '<td class="arial11 border1">'.propre($j)."</td>\n"
     27                . '<td class="arial11 border1" style="text-align:right;">'.$row['montant'].' &euro;</td>'
     28                . '<td class="arial11 border1" style="text-align:right;">'
     29                . ($row['vu'] ? _T('asso:adherent_libelle_oui') : _T('asso:adherent_libelle_non'))
     30                . '</td>'
     31                . '<td style="text-align:right;">'
     32                        . association_bouton(_T('asso:adherent_label_voir_operation'), 'voir-12.png', 'comptes','id_compte='.$id)
     33                . "</td>"
     34                . '</tr>';
    3235        }
    3336        return $data;
     
    3639function voir_adherent_cotisations($id_auteur, $full=false)
    3740{
    38         $row = sql_allfetsel('id_compte AS id, recette AS montant, date, justification, journal, vu', "spip_asso_comptes", "id_journal=$id_auteur AND imputation=" . sql_quote($GLOBALS['association_metas']['pc_cotisations']), '', "date DESC" );
     41        $row = sql_allfetsel('id_compte AS id, recette AS montant, date, justification, journal, vu', "spip_asso_comptes", "id_journal=$id_auteur AND imputation=" . sql_quote($GLOBALS['association_metas']['pc_cotisations']), '', "date DESC, id_compte DESC" );
    3942
    4043        if (!$row) return '';
     
    4851        . '<th style="text-align:right;">'._T('asso:montant').'</th>'
    4952        . '<th style="text-align:right;">'._T('asso:validite').'</th>'
     53        . '<th style="text-align:right;">'._T('asso:action').'</th>'
    5054        . '</tr>'
    5155          . join("\n", voir_adherent_paiements($row, $full, 'cotisation'))
     
    7175        .  '<th style="text-align:right;">'._T('asso:montant').'</th>'
    7276        . '<th style="text-align:right;">'._T('asso:validite').'</th>'
     77        . '<th style="text-align:right;">'._T('asso:action').'</th>'
     78        . '</tr>'
    7379          .  join("\n", voir_adherent_paiements($row, $full, 'don'))
    7480          .  '</table>';
  • _plugins_/Association/Associaspip/lang/asso_fr.php

    r45744 r45991  
    183183        'adherent_label_modifier_membre' => 'Modifier membre',
    184184        'adherent_label_voir_membre' => 'Voir le membre',
     185        'adherent_label_voir_operation' => 'Voir l\'op&eacute;ration comptable',
    185186
    186187        # Message
Note: See TracChangeset for help on using the changeset viewer.