Changeset 2680


Ignore:
Timestamp:
May 13, 2012, 2:22:54 PM (8 years ago)
Author:
goya
Message:

début intégration options fin_legislature, coming: nb_mois par députés + adaptation synthese

Location:
cpc/trunk/project
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/apps/frontend/modules/parlementaire/templates/topSuccess.php

    r2653 r2680  
    1 <?php foreach ($tops as $t) if (!isset($date)) $date = $t[0]['updated_at']; ?>
    2 <h1>Synthèse générale de l'activité parlementaire<br/><small>sur les 12 derniers mois</small></h1>
    3 <h2 class="aligncenter"><small>(dernière <a href="<?php echo url_for('@faq'); ?>#post_2">mise-à-jour</a> le <?php echo preg_replace('/20(\d+)-(\d+)-(\d+) (\d+):(\d+):\d+/', '$3/$2/$1 à $4H$5', $date); ?>)</h1>
    4 <h2>Activité de tous les députés ayant au moins 10 mois de mandat :</h2>
     1<?php $fin = myTools::isFinLegislature();
     2foreach ($tops as $t) if (!isset($date)) $date = $t[0]['updated_at']; ?>
     3<h1>Synthèse générale de l'activité parlementaire<br/><small><?php if ($fin) echo "sur toute la législature"; else echo "sur les 12 derniers mois"; ?></small></h1>
     4<h2 class="aligncenter"><small>(dernière <a href="<?php echo url_for('@faq'); ?>#post_2">mise-à-jour</a> le <?php echo preg_replace('/20(\d+)-(\d+)-(\d+) (\d+):(\d+):\d+/', '$3/$2/$1 à $4H$5', $date); ?>)</h2>
     5<h2>Activité <?php if ($fin) echo "mensuelle moyenne "; ?>de tous les députés<?php if (!$fin) echo " ayant au moins 10 mois de mandat"; ?> :</h2>
    56<?php
    67$sf_response->setTitle('Synthèse générale des députés');
     
    9293<p class="aligncenter"><small>Les chiffres en couleur indiquent que le député se trouve pour le critère indiqué parmi <span style="color:green">les 150 premiers</span> ou <span style="color:red">les 150 derniers</span>.</small></p>
    9394</div></div>
    94 <h2 id="groupes">Activité moyenne d'un député de chaque groupe politique au cours des 12 derniers mois :</h2>
     95<h2 id="groupes">Activité moyenne d'un député de chaque groupe politique <?php if ($fin) echo "sur toute la législature"; else echo "au cours des 12 derniers mois"; ?> :</h2>
    9596<div class="liste_deputes_top">
    9697<div class="synthese">
     
    130131</div>
    131132<div class="synthese_div">
    132 <h2>Répartition de l'activité des députés sur les 12 derniers mois par groupe politique :</h2>
     133<h2>Répartition de l'activité des députés sur <?php if ($fin) echo "toute la législature"; else echo "les 12 derniers mois"; ?> par groupe politique :</h2>
    133134<div class="aligncenter"><?php echo include_component('plot', 'newGroupes', array('type' => 'all')); ?></div>
    134135</div>
  • cpc/trunk/project/apps/frontend/modules/plot/actions/components.class.php

    r2595 r2680  
    170170      ->select('p.groupe_acronyme, count(DISTINCT(a.id)) as ct')
    171171      ->from('Parlementaire p, p.ParlementaireAmendements pa, pa.Amendement a')
    172       ->where('a.date > ?', date('Y-m-d', time()-60*60*24*365))
     172      ->where('pa.numero_signataire = ?', 1)
    173173      ->groupBy('p.groupe_acronyme');
     174    if (!myTools::isFinLegislature())
     175      $query->andWhere('a.date > ?', date('Y-m-d', time()-60*60*24*365));
    174176    $qamdmts = clone($query);
    175177    $amdmts = $qamdmts->fetchArray();
     
    179181        ->fetchArray();
    180182    }
    181     $props = Doctrine_Query::create()
     183    $qprops = Doctrine_Query::create()
    182184      ->select('p.groupe_acronyme, count(DISTINCT(t.id)) as ct')
    183185      ->from('Parlementaire p, p.ParlementaireTextelois pt, pt.Texteloi t')
    184       ->where('t.date > ?', date('Y-m-d', time()-60*60*24*365))
    185       ->andWhere('pt.importance = 1')
     186      ->where('pt.importance = 1')
    186187      ->andWhere('t.type LIKE ?', "proposition%")
    187       ->groupBy('p.groupe_acronyme')
    188       ->fetchArray();
    189     foreach ($this->data['groupes'] as $groupe => $arr) if ($stats[$groupe]) {
     188      ->groupBy('p.groupe_acronyme');
     189    if (!myTools::isFinLegislature())
     190      $qprops->andWhere('t.date > ?', date('Y-m-d', time()-60*60*24*365));
     191    $props = $qprops->fetchArray();
     192    foreach ($this->data['groupes'] as $groupe => $arr) if (isset($stats[$groupe])) {
    190193      $this->data['groupes'][$groupe][] = $stats[$groupe]['groupe']['nb'];
    191194      if ($this->type === "all") {
     
    195198      } else $this->data['groupes'][$groupe][] = $stats[$groupe]['hemicycle_interventions']['somme']+$stats[$groupe]['commission_interventions']['somme'];
    196199    }
    197     foreach ($amdmts as $amdt)
     200    foreach ($amdmts as $amdt) if ($amdt['groupe_acronyme'] != "")
    198201      $this->data['groupes'][$amdt['groupe_acronyme']][] = $amdt['ct'];
    199202    if ($this->type === "all")
    200       foreach ($amdmts2 as $amdt)
     203      foreach ($amdmts2 as $amdt) if ($amdt['groupe_acronyme'] != "")
    201204        $this->data['groupes'][$amdt['groupe_acronyme']][] = $amdt['ct'];
    202     foreach ($props as $pro)
     205    foreach ($props as $pro) if ($pro['groupe_acronyme'] != "")
    203206      $this->data['groupes'][$pro['groupe_acronyme']][] = $pro['ct'];
    204     foreach ($this->data['groupes'] as $groupe => $arr) if ($stats[$groupe]) {
     207    foreach ($this->data['groupes'] as $groupe => $arr) if (isset($stats[$groupe])) {
    205208      $this->data['groupes'][$groupe][] = $stats[$groupe]['questions_ecrites']['somme'];
    206209      if ($this->type === "all")
     
    211214      $this->data['totaux'][] = 0;
    212215    foreach ($this->data['groupes'] as $groupe => $arr)
    213       for ($i=0;$i<$n;$i++)
     216      for ($i=0;$i<$n;$i++) if (isset($this->data['groupes'][$groupe][$i]))
    214217        $this->data['totaux'][$i] += $this->data['groupes'][$groupe][$i];
    215218    foreach ($this->data['groupes'] as $groupe => $arr)
    216       for ($i=0;$i<$n;$i++) {
     219      for ($i=0;$i<$n;$i++) if (isset($this->data['groupes'][$groupe][$i])) {
    217220        $tmp = round($this->data['groupes'][$groupe][$i]  / $this->data['totaux'][$i] * 1000)/10;
    218221        $this->data['groupes'][$groupe][$i] = round($this->data['groupes'][$groupe][$i] / $this->data['totaux'][$i] * 1000)/10;
  • cpc/trunk/project/config/app.yml.example

    r2646 r2680  
    44  secret_key: _______PUT_YOUR_KEY_HERE________
    55  legislature: 13
     6  fin_legislature: true
    67  groupes_actuels: >
    78    ["GDR", "SRC", "NC", "UMP", "NI"]
  • cpc/trunk/project/lib/model/doctrine/myTools.class.php

    r2653 r2680  
    1616    $string = preg_replace('/",\s+"/', '","', $string);
    1717    return explode('","', $string);
     18  }
     19
     20  public static function isFinLegislature() {
     21    if (sfConfig::get('app_fin_legislature') == true)
     22      return true;
     23    return false;
    1824  }
    1925
  • cpc/trunk/project/lib/task/topDeputesTask.class.php

    r2417 r2680  
    1313    $this->addArgument('month', sfCommandArgument::OPTIONAL, 'First day of the month you want to add in db', '');
    1414    $this->addOption('env', null, sfCommandOption::PARAMETER_OPTIONAL, 'Changes the environment this task is run in', 'test');
    15     $this->addOption('app', null, sfCommandOption::PARAMETER_OPTIONAL, 'Changes the environment this task is run in', 'frontend');
     15    $this->addOption('application', null, sfCommandOption::PARAMETER_OPTIONAL, 'Changes the environment this task is run in', 'frontend');
    1616  }
    1717 
     
    4747  protected function executePresence($q)
    4848  {
    49     $semaines = $q->select('p.id, s.numero_semaine, pr.id, count(s.id)')
     49    $semaines = $q->select('p.id, s.annee, s.numero_semaine, pr.id, count(s.id)')
    5050      ->from('Parlementaire p, p.Presences pr, pr.Seance s')
    51       ->groupBy('p.id, s.numero_semaine')
     51      ->groupBy('p.id, s.annee, s.numero_semaine')
    5252      ->fetchArray();
    5353    foreach ($semaines as $p) {
     
    295295      return;
    296296    }
    297 
    298    
    299     $deputes = Doctrine::getTable('Parlementaire')->createQuery()
    300       ->where('type = ?', 'depute')
    301       ->andWhere('fin_mandat IS NULL')
    302       ->fetchArray();
    303     foreach($deputes as $d) {
     297    $fin = myTools::isFinLegislature();
     298
     299    $qdeputes = Doctrine::getTable('Parlementaire')->createQuery()
     300      ->where('type = ?', 'depute');
     301    if (!$fin)
     302      $qdeputes->andWhere('fin_mandat IS NULL');
     303    else $qdeputes->andWhere('groupe_acronyme IS NOT NULL AND groupe_acronyme <> ?', '');
     304    foreach($qdeputes->fetchArray() as $d) {
    304305      $this->deputes[$d['id']]['groupe'] = $d['groupe_acronyme'];
    305306    }
    306307
    307     $q = Doctrine_Query::create()->where('fin_mandat IS NULL');
     308    $q = Doctrine_Query::create();
     309    if (!$fin)
     310      $q->where('fin_mandat IS NULL');
    308311 
    309312    $qs = clone $q;
    310     $qs->andWhere('s.date > ?', date('Y-m-d', time()-60*60*24*365));
    311 
     313    if (!$fin)
     314      $qs->andWhere('s.date > ?', date('Y-m-d', time()-60*60*24*365));
    312315   
    313316     
     
    319322   
    320323    $qi = clone $q;
    321     $qi->andWhere('i.date > ?', date('Y-m-d', time()-60*60*24*365));
     324    if (!$fin)
     325      $qi->andWhere('i.date > ?', date('Y-m-d', time()-60*60*24*365));
    322326
    323327    $this->executeCommissionInterventions(clone $qi);
     
    332336   
    333337    $qa = clone $q;
    334     $qa->andWhere('a.date > ?', date('Y-m-d', time()-60*60*24*365));
     338    if (!$fin)
     339      $qa->andWhere('a.date > ?', date('Y-m-d', time()-60*60*24*365));
    335340    $this->executeAmendementsSignes(clone $qa);
    336341    $this->orderDeputes('amendements_signes');
     
    343348
    344349    $qd = clone $q;
    345     $qd->where('t.date > ?', date('Y-m-d', time()-60*60*24*365));
     350    if (!$fin)
     351      $qd->where('t.date > ?', date('Y-m-d', time()-60*60*24*365));
    346352    $this->executeRapports(clone $qd);
    347353    $this->orderDeputes('rapports');
     
    354360
    355361    $qq = clone $q;
    356     $qq->where('q.date > ?', date('Y-m-d', time()-60*60*24*365));
     362    if (!$fin)
     363      $qq->where('q.date > ?', date('Y-m-d', time()-60*60*24*365));
    357364    $this->executeQuestionsEcrites($qq);
    358365    $this->orderDeputes('questions_ecrites');
     
    364371    $groupes = array();
    365372    foreach(array_keys($this->deputes) as $id) {
     373      if ($this->deputes[$id]['groupe'] == "")
     374        continue;
    366375      foreach(array_keys($this->deputes[$id]) as $key) {
    367376        $groupes[$this->deputes[$id]['groupe']][$key]['somme'] += $this->deputes[$id][$key]['value'];
     
    382391    $globale->save();
    383392
    384     //On fait la même chose pour les députés ayant un mandat clos.
    385 
     393    //On fait la même chose pour les députés ayant un mandat clos si on n'est pas en fin de législature.
     394   if (!$fin) {
     395 
    386396    $parlementaires = Doctrine_Query::create()->where('fin_mandat IS NOT NULL')
    387397      ->from('Parlementaire p')->execute();
     
    441451      }
    442452    }
    443    
     453   }
    444454  }
    445455}
Note: See TracChangeset for help on using the changeset viewer.