Changeset 1463


Ignore:
Timestamp:
Sep 28, 2010, 8:05:13 AM (10 years ago)
Author:
roux
Message:

débuts pas finis pour graphes d'accueil

Location:
cpc/trunk/project/apps/frontend
Files:
4 added
5 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/apps/frontend/config/routing.yml

    r1448 r1463  
    465465  url: /:slug/graphes/:time/:type
    466466  param: {module: plot, action: generatePlotParlementaire}
     467groupes_plot_graph:
     468  url: /graphes/groupes/lastyear
     469  param: {module: plot, action: generatePlotGroupes}
    467470preuve_presence_seance:
    468471  url: /:slug/seance/:seance
  • cpc/trunk/project/apps/frontend/modules/parlementaire/templates/indexSuccess.php

    r1400 r1463  
    187187  </div>
    188188  <div class="box_repartition">
    189   <h2><span style="margin-right: 5px;"><img alt="activite" src="<?php echo $sf_request->getRelativeUrlRoot(); ?>/images/xneth/ico_graph.png"></span><a href="<?php echo url_for('@top_global'); ?>">Travail parlementaire des 12 derniers mois</a></h2>
    190   <?php echo include_component('plot', 'groupes', array('plot' => 'total')); ?>
     189  <h2><span style="margin-right: 5px;"><img alt="activite" src="<?php echo $sf_request->getRelativeUrlRoot(); ?>/images/xneth/ico_graph.png"></span><a href="<?php echo url_for('@top_global'); ?>">Activité parlementaire des 12 derniers mois</a></h2>
     190  <?php echo include_component('plot', 'newGroupes'); ?>
     191  <?php // echo include_component('plot', 'groupes', array('plot' => 'total')); ?>
    191192  </div>
    192193  <div class="box_tags">
  • cpc/trunk/project/apps/frontend/modules/plot/actions/actions.class.php

    r1439 r1463  
    3232    $this->setLayout(false);
    3333  }
     34
     35  public function executeGeneratePlotGroupes(sfWebRequest $request) {
     36    $this->drawAction = $request->getParameter('drawAction');
     37    if (!$this->drawAction)
     38      $this->drawAction = "draw";
     39    $this->mapId = $request->getParameter('mapId');
     40    $this->forward404Unless($this->mapId);
     41    $this->getResponse()->setHttpHeader('content-type', 'image/png');
     42    $this->setLayout(false);
     43  }
    3444 
    3545}
  • cpc/trunk/project/apps/frontend/modules/plot/actions/components.class.php

    r1439 r1463  
    151151  }
    152152
     153  public function executeNewGroupes() {
     154  }
     155
     156  public function executeGetGroupesData() {
     157    $this->data = array();
     158    $this->data['groupes'] = array('UMP' => array(),'NC' => array(),'SRC' => array(),'GDR' => array(), 'NI' => array());
     159    $this->data['titres'] = array("Députés", "Interventions", "Amendements", "Propositions", "Quest. Orales", "Quest. Écrites");
     160    $n = count($this->data['titres']);
     161    $stats = unserialize(Doctrine::getTable('VariableGlobale')->findOneByChamp('stats_groupes')->value);
     162    $amdmts = Doctrine_Query::create()
     163      ->select('p.groupe_acronyme, count(DISTINCT(a.id)) as ct')
     164      ->from('Parlementaire p, p.ParlementaireAmendements pa, pa.Amendement a')
     165      ->where('a.date > ?', date('Y-m-d', time()-60*60*24*365))
     166      ->groupBy('p.groupe_acronyme')
     167      ->fetchArray();
     168    $props = Doctrine_Query::create()
     169      ->select('p.groupe_acronyme, count(DISTINCT(t.id)) as ct')
     170      ->from('Parlementaire p, p.ParlementaireTextelois pt, pt.Texteloi t')
     171      ->where('t.date > ?', date('Y-m-d', time()-60*60*24*365))
     172      ->andWhere('pt.importance = 1')
     173      ->andWhere('t.type LIKE ?', "proposition%")
     174      ->groupBy('p.groupe_acronyme')
     175      ->fetchArray();
     176    foreach ($this->data['groupes'] as $groupe => $arr) if ($stats[$groupe]) {
     177      $this->data['groupes'][$groupe][] = $stats[$groupe]['groupe']['nb'];
     178      $this->data['groupes'][$groupe][] = $stats[$groupe]['hemicycle_interventions']['somme']+$stats[$groupe]['commission_interventions']['somme'];
     179    }
     180    foreach ($amdmts as $amdt)
     181      $this->data['groupes'][$amdt['groupe_acronyme']][] = $amdt['ct'];
     182    foreach ($props as $pro)
     183      $this->data['groupes'][$pro['groupe_acronyme']][] = $pro['ct'];
     184    foreach ($this->data['groupes'] as $groupe => $arr) if ($stats[$groupe]) {
     185      $this->data['groupes'][$groupe][] = $stats[$groupe]['questions_ecrites']['somme'];
     186      $this->data['groupes'][$groupe][] = $stats[$groupe]['questions_orales']['somme'];
     187    }
     188    $this->data['totaux'] = array();
     189    for ($i=0;$i<$n;$i++)
     190      $this->data['totaux'][] = 0;
     191    foreach ($this->data['groupes'] as $groupe => $arr)
     192      for ($i=0;$i<$n;$i++)
     193        $this->data['totaux'][$i] += $this->data['groupes'][$groupe][$i];
     194    foreach ($this->data['groupes'] as $groupe => $arr)
     195      for ($i=0;$i<$n;$i++)
     196        $this->data['groupes'][$groupe][$i] = $this->data['groupes'][$groupe][$i] / $this->data['totaux'][$i] * 100;
     197  }
     198
    153199  public function executeGroupes() {
    154200    $this->empty = 0;
     
    163209      $this->time = 'lastyear';
    164210      foreach($this->labels as $groupe) if ($groupes[$groupe]) {
    165         $this->presences[] = $groupes[$groupe]['semaine']['somme'];
    166         $this->presences_moy[] = $groupes[$groupe]['semaine']['somme']/$groupes[$groupe]['groupe']['nb'];
     211        $this->presences[] = $groupes[$groupe]['semaines_presence']['somme'];
     212        $this->presences_moy[] = $groupes[$groupe]['semaines_presence']['somme']/$groupes[$groupe]['groupe']['nb'];
    167213        $this->interventions[] = $groupes[$groupe]['hemicycle_interventions']['somme'];
    168214        $this->interventions_moy[] = $groupes[$groupe]['hemicycle_interventions']['somme']/$groupes[$groupe]['groupe']['nb'];
  • cpc/trunk/project/apps/frontend/modules/plot/templates/_groupes.php

    r1350 r1463  
    125125else echo image_tag('tmp/xspchart/'.$filename, 'alt="Répartition '.$titre.'"');
    126126
    127 echo '<p style="text-align: center;"><span style=\'background-color: rgb(200,200,200);\'>&nbsp;</span>&nbsp;'.link_to('Non-Inscrits (Modem, div.)', '@list_parlementaires_groupe?acro=NI').'&nbsp;&nbsp;';
    128 echo '<span style=\'background-color: rgb(30,30,200);\'>&nbsp;</span>&nbsp;'.link_to('UMP et ratt.', '@list_parlementaires_groupe?acro=UMP').'&nbsp;&nbsp;';
    129 echo '<span style=\'background-color: rgb(30,190,255);\'>&nbsp;</span>&nbsp;'.link_to('Nouveau Centre', '@list_parlementaires_groupe?acro=NC').'<br/>';
    130 echo '<span style=\'background-color: rgb(255,50,190);\'>&nbsp;</span>&nbsp;'.link_to('Socialistes (PS, MRC, PRG et ratt)', '@list_parlementaires_groupe?acro=SRC').'&nbsp;&nbsp;';
    131 echo '<span style=\'background-color: rgb(255,30,30);\'>&nbsp;</span>&nbsp;'.link_to('PCF, Verts et ratt', '@list_parlementaires_groupe?acro=GDR').'</p>';
     127echo include_partial('plot/groupesLegende', array());
    132128?>
Note: See TracChangeset for help on using the changeset viewer.