Changeset 1393


Ignore:
Timestamp:
Sep 19, 2010, 10:12:37 PM (10 years ago)
Author:
roux
Message:

synthese et tops pour les documents

Location:
cpc/trunk/project
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/apps/frontend/modules/parlementaire/actions/actions.class.php

    r1383 r1393  
    345345    $this->tops = array();
    346346    foreach($parlementaires as $p) {
    347       //A supprimer lorsque les tops seront unifiés (cf. lib modele parlementaire)
    348       $tops = unserialize(preg_replace('/s:20:"hemicycle_invectives/', 's:31:"hemicycle_interventions_courtes', $p['top']));
     347      $tops = unserialize($p['top']);
    349348      $id = $p['id'];
    350349      $i = 0;
  • cpc/trunk/project/apps/frontend/modules/parlementaire/templates/_top.php

    r1195 r1393  
    11<?php
    2 $titres = array('semaine' => 'Semaines d\'activité',
     2$titres = array('semaines_presence' => 'Semaines d\'activité',
    33               'commission_presences' => 'Présences en commission',
    44               'commission_interventions'=> 'Interventions en commission',
    55               'hemicycle_interventions'=>'Interventions longues en hémicycle',
    6                'hemicycle_interventions_courtes'=>'Interventions courtes en hémicycle',
     6                //             'hemicycle_interventions_courtes'=>'Interventions courtes en hémicycle',
    77               'amendements_signes' => 'Amendements signés',
    88                //             'amendements_adoptes'=>'Amendements adoptés',
    99                //             'amendements_rejetes' => 'Amendements rejetés',
     10               'rapports' => 'Rapports écrits',
     11               'propositions_ecrites' => 'Propositions de loi écrites',
     12               'propositions_signees' => 'Propositions de loi signées',
    1013               'questions_ecrites' => 'Questions écrites',
    11                'questions_orales' => 'Questions orales');
    12 $images = array('semaine' => 'ico_sem_%s.png',
     14               'questions_orales' => 'Questions orales',
     15);
     16$images = array('semaines_presence' => 'ico_sem_%s.png',
    1317               'commission_presences' => 'ico_com_pre_%s.png',
    1418               'commission_interventions'=> 'ico_com_inter_%s.png',
    1519               'hemicycle_interventions'=>'ico_inter_hem_long_%s.png',
    16                'hemicycle_interventions_courtes'=>'ico_inter_hem_court_%s.png',
     20                //             'hemicycle_interventions_courtes'=>'ico_inter_hem_court_%s.png',
    1721               'amendements_signes' => 'ico_amendmt_sign_%s.png',
    1822                //             'amendements_adoptes'=>'ico_amendmt_ado_%s.png',
    1923                //             'amendements_rejetes' => 'ico_amendmt_ref_%s.png',
     24               'rapports' => 'ico_rap_%s.png',
     25               'propositions_ecrites' => 'ico_pple_%s.png',
     26               'propositions_signees' => 'ico_ppls_%s.png',
    2027               'questions_ecrites' => 'ico_quest_ecrit_%s.png',
    2128               'questions_orales' => 'ico_quest_oral_%s.png');
    22 $sort = array('semaine' => '1',
     29$sort = array('semaines_presence' => '1',
    2330               'commission_presences' => '2',
    2431               'commission_interventions'=> '3',
     
    2633               'hemicycle_interventions_courtes'=>'5',
    2734               'amendements_signes' => '6',
    28                 'amendements_adoptes'=>'7',
    29                 'amendements_rejetes' => '8',
    30                'questions_ecrites' => '9',
    31                'questions_orales' => '10');
     35               'amendements_adoptes'=>'7',
     36               'rapports' => '8',
     37               'propositions_ecrites' => '9',
     38               'propositions_signees' => '10',
     39               'questions_ecrites' => '11',
     40               'questions_orales' => '12');
    3241$couleur2style = array('vert' => ' style="color: green"',
    3342               'gris' => '',
     
    3948  $mois = floor((time() - strtotime($parlementaire->debut_mandat) ) / (60*60*24*30));
    4049  if($mois < 6) {
    41     echo '<h2>Activité parlementaire <small>(';
     50    echo '<h2>Activité <small>(';
    4251    if ($mois == 1) echo 'premier';
    4352    else
    4453      echo $mois.' premiers';
    45     echo ' mois de mandat) :</small></h2>';
     54    echo ' mois de mandat)</small> :</h2>';
    4655    $rank = 0;
    4756  }else {
    48     echo '<h2>Activité parlementaire <small>(12 derniers mois) :</small></h2>';
     57    echo '<h2>Activité <small>(12 derniers mois)</small> :</h2>';
    4958    $rank = 1;
    5059  }
  • cpc/trunk/project/apps/frontend/modules/parlementaire/templates/topSuccess.php

    r1306 r1393  
    33<?php
    44$sf_response->setTitle('Synthèse générale des députés');
    5 $title = array('semaine' => 'd\'activité',
     5$title = array('semaines_presence' => 'd\'activité',
    66               'commission_presences' => 'séances',
    7                'commission_interventions'=> 'interventions',
    8                'hemicycle_interventions'=>'interventions<br/>longues',
    9                'hemicycle_interventions_courtes'=>'interventions<br/>courtes',
     7               'commission_interventions'=> 'interv.',
     8               'hemicycle_interventions'=>'interv.<br/>longues',
     9               'hemicycle_interventions_courtes'=>'interv.<br/>courtes',
    1010               'amendements_signes' => 'signés',
    1111               'amendements_adoptes'=>'adoptés',
    12                'amendements_rejetes' => 'rejetés',
     12               'rapports' => 'écrits',
     13               'propositions_ecrites' => 'écrites',
     14               'propositions_signees' => 'signées',
    1315               'questions_ecrites' => 'écrites',
    1416               'questions_orales' => 'orales');
    1517$class = array('parl' => 'p',
    16                'semaine' => 'w',
     18               'semaines_presence' => 'w',
    1719               'commission_presences' => 'cp',
    1820               'commission_interventions'=> 'ci',
     
    2123               'amendements_signes' => 'as',
    2224               'amendements_adoptes'=>'aa',
    23                'amendements_rejetes' => 'ar',
     25               'rapports' => 'ra',
     26               'propositions_ecrites' => 'pe',
     27               'propositions_signees' => 'ps',
     28               // 'amendements_rejetes' => 'ar',
    2429               'questions_ecrites' => 'qe',
    2530               'questions_orales' => 'qo');
    2631?>
    27 <div class="liste_deputes_tags">
     32<div class="liste_deputes_top">
    2833<div class="synthese">
    2934<table>
    3035  <tr>
    3136    <th class="<?php echo $class['parl']; ?>">&nbsp;</th>
    32         <th class="<?php if ($sort == 1) echo 'tr_odd';?>"><?php echo link_to('Semaines', $top_link.'sort=1'); ?></th>
    33         <th colspan="2" class="<?php if ($sort == 2 || $sort == 3) echo 'tr_odd';?>">Commission</th>
    34         <th colspan="2" class="<?php if ($sort == 4 || $sort == 5) echo 'tr_odd';?>">Hémicycle</th>
    35         <th colspan="3" class="<?php if ($sort == 6 || $sort == 7 || $sort == 8) echo 'tr_odd';?>">Amendements</th>
    36         <th colspan="2" class="<?php if ($sort == 9 || $sort == 10) echo 'tr_odd';?>">Questions</th>
     37    <th class="<?php if ($sort == 1) echo 'tr_odd';?>"><?php echo link_to('Semaines', $top_link.'sort=1'); ?></th>
     38    <th colspan="2" class="<?php if ($sort == 2 || $sort == 3) echo 'tr_odd';?>">Commission</th>
     39    <th colspan="2" class="<?php if ($sort == 4 || $sort == 5) echo 'tr_odd';?>">Hémicycle</th>
     40    <th colspan="2" class="<?php if ($sort == 6 || $sort == 7) echo 'tr_odd';?>">Amendements</th>
     41    <th class="<?php if ($sort == 8) echo 'tr_odd';?>"><?php echo link_to('Rapports', $top_link.'sort=8'); ?></th>
     42    <th colspan="2" class="<?php if ($sort == 9 || $sort == 10) echo 'tr_odd';?>">Propositions</th>
     43    <th colspan="2" class="<?php if ($sort == 11 || $sort == 12) echo 'tr_odd';?>">Questions</th>
    3744  </tr>
    3845  <tr>
     
    4552        <?php
    4653        } ?>
     54    <th style="width:10px;"/>
    4755  </tr>
    4856</table>
     
    5462  foreach($tops as $t) {
    5563    $cpt++;?><tr<?php if ($cpt %2) echo ' class="tr_odd"'?>>
    56         <td class="<?php echo $class['parl']; ?>"><a name="<?php echo $t[0]['slug']; ?>" href="<?php echo url_for('@parlementaire?slug='.$t[0]['slug']); ?>"></a><?php echo link_to($t[0]['nom'], '@parlementaire?slug='.$t[0]['slug']); ?></td>
    57         <?php for($i = 1 ; $i < count($t) ; $i++) { ?><td<?php echo $t[$i]['style']; ?> class="<?php echo $class[$ktop[$i]]; ?>">
    58         <?php
    59      if (preg_match('/\./', $t[$i]['value'])) {
    60        printf('%02d', $t[$i]['value']);
    61      } else{
    62        echo $t[$i]['value'];
    63      }
    64          ?>
    65          </td>
    66   <?php } ?>
     64    <td class="<?php echo $class['parl']; ?>"><a name="<?php echo $t[0]['slug']; ?>" href="<?php echo url_for('@parlementaire?slug='.$t[0]['slug']); ?>"></a><?php echo link_to($t[0]['nom'], '@parlementaire?slug='.$t[0]['slug']); ?></td>
     65    <?php for($i = 1 ; $i < count($t) ; $i++) { ?>
     66      <td<?php echo $t[$i]['style']; ?> class="<?php echo $class[$ktop[$i]]; ?>">
     67      <?php if (preg_match('/\./', $t[$i]['value']))
     68        printf('%02d', $t[$i]['value']);
     69      else echo $t[$i]['value']; ?>
     70      </td>
     71    <?php } ?>
    6772  </tr>
    6873<?php } ?>
     
    7580  <li><strong>Commission séances</strong> : Nombre de séances de commission où le député a été relevé présent</li>
    7681  <li><strong>Commission interventions</strong> : Nombre d'interventions prononcées par le député en commissions</li>
    77   <li><strong>Hémicycle Interventions longues</strong> : Nombre d'interventions de plus de 20 mots prononcées par le député en hémicycle</li>
    78   <li><strong>Hémicycle Interventions courtes</strong> : Nombre d'interventions de 20 mots et moins prononcées par le député en hémicycle</li>
     82  <li><strong>Hémicycle interventions longues</strong> : Nombre d'interventions de plus de 20 mots prononcées par le député en hémicycle</li>
     83  <li><strong>Hémicycle interventions courtes</strong> : Nombre d'interventions de 20 mots et moins prononcées par le député en hémicycle</li>
    7984  <li><strong>Amendements signés</strong> : Nombre d'amendements signés ou co-signés par le député</li>
    8085  <li><strong>Amendements adoptés</strong> : Nombre d'amendements adoptés qui ont été signés ou cosignés par le député</li>
    81   <li><strong>Amendements rejetés</strong> : Nombre d'amendements rejetés qui ont été signés ou cosignés par le député</li>
     86  <li><strong>Rapports écrits</strong> : Nombre de rapports ou avis dont le député est l'auteur</li>
     87  <li><strong>Propositions écrites</strong> : Nombre de propositions de loi ou de résolution dont le député est l'auteur</li>
     88  <li><strong>Propositions signées</strong> : Nombre de propositions de loi ou de résolution dont le député est cosignataire</li>
    8289  <li><strong>Questions écrites</strong> : Nombre de questions écrites soumises par le député</li>
    8390  <li><strong>Questions orales</strong> : Nombre de questions orales posées par le député</li>
  • cpc/trunk/project/bin/updateDB3.sh

    r1376 r1393  
    128128done;
    129129
     130php symfony top:Deputes
     131for month in 06 07 08 09 10 11 12; do
     132  php symfony top:Deputes 2007-$month-01
     133done
     134for year in 2008 2009; do
     135  for month in 01 02 03 04 05 06 07 08 09 10 11 12; do
     136    php symfony top:Deputes $year-$month-01
     137  done
     138done
     139for month in 01 02 03 04 05 06 07 08 09; do
     140  php symfony top:Deputes 2010-$month-01
     141done
     142
     143
    130144#bash bin/update_hardcache_all
    131145
  • cpc/trunk/project/bin/update_hardcache

    r1147 r1393  
    33TMPFILE=/tmp/hard_cache.$$
    44
    5 for url in synthese synthesetri/10 synthesetri/1 synthesetri/2 synthesetri/3 synthesetri/4 synthesetri/5 synthesetri/6 synthesetri/7 synthesetri/8 synthesetri/9;
     5for url in synthese synthesetri/10 synthesetri/11 synthesetri/12 synthesetri/1 synthesetri/2 synthesetri/3 synthesetri/4 synthesetri/5 synthesetri/6 synthesetri/7 synthesetri/8 synthesetri/9;
    66do
    77  rm web/$url.html
  • cpc/trunk/project/bin/update_hardcache_all

    r1168 r1393  
    33TMPFILE=/tmp/hard_cache.$$
    44
    5 for url in synthese synthesetri/10 synthesetri/1 synthesetri/2 synthesetri/3 synthesetri/4 synthesetri/5 synthesetri/6 synthesetri/7 synthesetri/8 synthesetri/9;
     5for url in synthese synthesetri/10 synthesetri/11 synthesetri/12 synthesetri/1 synthesetri/2 synthesetri/3 synthesetri/4 synthesetri/5 synthesetri/6 synthesetri/7 synthesetri/8 synthesetri/9;
    66do
    77  rm web/$url.html
  • cpc/trunk/project/lib/task/topDeputesTask.class.php

    r1274 r1393  
    33class topDeputesTask extends sfBaseTask
    44{
     5
     6  static $lois = array('Proposition de loi', 'Proposition de résolution');
     7 
    58  protected function configure()
    69  {
     
    5053    foreach ($semaines as $p) {
    5154      foreach($p['Presences'] as $pr) {
    52         $this->deputes[$p['id']]['semaine']['value']++;
     55        $this->deputes[$p['id']]['semaines_presence']['value']++;
    5356      }
    5457    }
     
    159162    }
    160163  }
     164  protected function executeRapports($q)
     165  {
     166    $parlementaires = $q->select('p.id, count(t.id)')
     167      ->from('Parlementaire p, p.Textelois t')
     168      ->andWhere('t.type != ? AND t.type != ?', self::$lois)
     169      ->groupBy('p.id')
     170      ->fetchArray();
     171    foreach ($parlementaires as $p) {
     172      $this->deputes[$p['id']]['rapports']['value'] = $p['count'];
     173    }
     174  }
     175  protected function executePropositionsEcrites($q)
     176  {
     177    $parlementaires = $q->select('p.id, count(t.id)')
     178      ->from('Parlementaire p, p.ParlementaireTextelois pt, pt.Texteloi t')
     179      ->andWhere('t.type = ? OR t.type = ?', self::$lois)
     180      ->andWhere('pt.importance < ?', 4)
     181      ->groupBy('p.id')
     182      ->fetchArray();
     183    foreach ($parlementaires as $p) {
     184      $this->deputes[$p['id']]['propositions_ecrites']['value'] = $p['count'];
     185    }
     186  }
     187  protected function executePropositionsSignees($q)
     188  {
     189    $parlementaires = $q->select('p.id, count(t.id)')
     190      ->from('Parlementaire p, p.ParlementaireTextelois pt, pt.Texteloi t')
     191      ->andWhere('t.type = ? OR t.type = ?', self::$lois)
     192      ->groupBy('p.id')
     193      ->fetchArray();
     194    foreach ($parlementaires as $p) {
     195      $this->deputes[$p['id']]['propositions_signees']['value'] = $p['count'];
     196    }
     197  }   
     198
    161199
    162200  protected function executeDeputesInfo() {
     
    166204      $this->deputes[$id]['01_nom']['value'] = $dep->nom;
    167205      $this->deputes[$id]['02_groupe']['value'] = $dep->groupe_acronyme;
    168       $this->deputes[$id]['semaine']['value'] += 0;
     206      $this->deputes[$id]['semaines_presence']['value'] += 0;
    169207      $this->deputes[$id]['questions_orales']['value'] += 0;
    170208      $this->deputes[$id]['questions_ecrites']['value'] += 0;
    171       $this->deputes[$id]['amendements_rejetes']['value'] += 0;
     209//      $this->deputes[$id]['amendements_rejetes']['value'] += 0;
    172210      $this->deputes[$id]['amendements_signes']['value'] += 0;
    173211      $this->deputes[$id]['amendements_adoptes']['value'] += 0;
     212      $this->deputes[$id]['rapports']['value'] += 0;
     213      $this->deputes[$id]['propositions_ecrites']['value'] += 0;
     214      $this->deputes[$id]['propositions_signees']['value'] += 0;
    174215      $this->deputes[$id]['commission_presences']['value'] += 0;
    175216      $this->deputes[$id]['commission_interventions']['value'] +=  0;
     
    210251    $this->executeAmendementsSignes(clone $qa);
    211252    $this->executeAmendementsAdoptes(clone $qa);
    212     $this->executeAmendementsRejetes(clone $qa);
     253//    $this->executeAmendementsRejetes(clone $qa);
    213254
    214255    print "Amendements DONE\n";
     
    220261   
    221262    print "Question DONE\n";
     263
     264    $qd = clone $q;
     265    $qd->where('t.date >= ?', date('Y-m-d', strtotime($date)));
     266    $qd->andWhere('t.date < ?', date('Y-m-d', strtotime("$date +1month")));
     267    $this->executePropositionsEcrites(clone $qd);
     268    $this->executePropositionsSignees(clone $qd);
     269    $this->executeRapports(clone $qd);
     270
     271    print "Documents DONE\n";
    222272
    223273    $this->executeDeputesInfo();
     
    265315     
    266316    $this->executePresence(clone $qs);
    267     $this->orderDeputes('semaine');
     317    $this->orderDeputes('semaines_presence');
    268318   
    269319    $this->executeCommissionPresence(clone $qs);
     
    291341    $this->orderDeputes('amendements_adoptes');
    292342
    293     $this->executeAmendementsRejetes(clone $qa);
    294     $this->orderDeputes('amendements_rejetes', 0);
     343//    $this->executeAmendementsRejetes(clone $qa);
     344//    $this->orderDeputes('amendements_rejetes', 0);
     345
     346    $qd = clone $q;
     347    $qd->where('t.date > ?', date('Y-m-d', time()-60*60*24*365));
     348    $this->executeRapports(clone $qd);
     349    $this->orderDeputes('rapports');
     350
     351    $this->executePropositionsEcrites(clone $qd);
     352    $this->orderDeputes('propositions_ecrites');
     353
     354    $this->executePropositionsSignees(clone $qd);
     355    $this->orderDeputes('propositions_signees');
    295356
    296357    $qq = clone $q;
     
    360421      $this->executeAmendementsAdoptes(clone $qa);
    361422     
    362       $this->executeAmendementsRejetes(clone $qa);
     423//      $this->executeAmendementsRejetes(clone $qa);
    363424     
    364425      $qq = clone $q;
     
    370431      $this->executeQuestionsOrales(clone $qi);
    371432
     433      $qd = clone $q;
     434      $qd->andWhere('(t.date > ? AND t.date < ?)', array(date('Y-m-d', strtotime($p->debut_mandat)),
     435                                                         date('Y-m-d', strtotime($p->fin_mandat)), ));
     436      $this->executePropositionsEcrites(clone $qd);
     437      $this->executePropositionsSignees(clone $qd);
     438      $this->executeRapports(clone $qd);
     439
    372440      if (count($this->deputes[$p->id])) {
    373441        $p->top = serialize($this->deputes[$p->id]);
  • cpc/trunk/project/web/css/xneth/style.css

    r1392 r1393  
    122122}
    123123/* Synthèse */
     124.liste_deputes_top  {
     125  margin: 20px 0px 30px 0;
     126  padding:5px 5px 20px 5px;
     127  border: 1px dashed #aeaeae;
     128  text-align:justify;
     129}
    124130.tableau_synthese { height: 500px; overflow: auto; }
    125131.synthese td, .synthese tr { padding: 0px; margin: 0px, border: 0px; height: 25px; }
    126 .p { width: 140px; }
     132.p { width: 112px; }
    127133.w { width: 70px; }
    128 .cp { width: 75px; }
    129 .ci { width: 85px; }
    130 .hl { width: 85px; }
    131 .hc { width: 85px; }
    132 .as { width: 51px; }
    133 .aa { width: 61px; }
    134 .ar { width: 51px; }
    135 .qe { width: 51px; }
    136 .qo { width: 51px; }
     134.cp { width: 63px; }
     135.ci { width: 63px; }
     136.hl { width: 63px; }
     137.hc { width: 63px; }
     138.as { width: 63px; }
     139.aa { width: 63px; }
     140.ra { width: 63px; }
     141.pe { width: 63px; }
     142.ps { width: 63px; }
     143.qe { width: 63px; }
     144.qo { width: 63px; }
    137145.synthese th, .synthese td { border-right: 1px #FFFFFF solid; }
    138146.tr_odd td { border-right: 1px #999999 solid; }
Note: See TracChangeset for help on using the changeset viewer.