Changeset 3082


Ignore:
Timestamp:
Jan 28, 2013, 11:49:02 PM (8 years ago)
Author:
roux
Message:

display nb identiques instead of all ; better order on all amdmt per bill

Location:
cpc/trunk/project/apps/frontend/modules
Files:
6 edited

Legend:

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

    r3081 r3082  
    166166          $this->loi = Doctrine::getTable('Texteloi')->findLoi($this->lois[0]);
    167167      }
    168       $this->amendements_query = Doctrine::getTable('Amendement')
    169         ->createQuery('a')
     168      $this->amendements_query = Doctrine_Query::create()
     169        ->select('a.*, CAST( a.numero AS SIGNED ) AS num')
     170        ->from('Amendement a')
    170171        ->where('a.sort <> ?', 'Rectifié');
    171172      for ($ct=0;$ct<count($this->lois);$ct++)
    172173        $this->amendements_query->andWhere('a.texteloi_id = ?', $this->lois[$ct]);
    173174      if ($amdt == 'new')
    174         $this->amendements_query->orderBy('a.texteloi_id DESC, a.created_at DESC, a.source');
    175       else $this->amendements_query->orderBy('a.texteloi_id DESC, a.source');
     175        $this->amendements_query->orderBy('a.texteloi_id DESC, a.created_at DESC, num');
     176      else $this->amendements_query->orderBy('a.texteloi_id DESC, num');
    176177      return ;
    177178    }
  • cpc/trunk/project/apps/frontend/modules/amendement/templates/showSuccess.php

    r3080 r3082  
    1313<div class="seance_amendements">
    1414  <h3><?php if ($seance) echo 'Discuté en '.link_to('séance le '.myTools::displayDate($seance['date']), '@interventions_seance?seance='.$seance['seance_id'].'#amend_'.$amendement->numero);
    15   if (count($identiques) > 1) {
    16     if (count($identiques) > 2)
    17       $ident_titre = " ( amendements identiques : ";
    18     else $ident_titre = " ( amendement identique : "; ?>
     15  $tot = count($identiques);
     16  if ($tot > 1) {
     17    if ($tot > 2)
     18      $ident_titre = " ($tot amendements identiques : ";
     19    else $ident_titre = " (1 amendement identique : "; ?>
    1920  <em><?php echo $ident_titre; foreach($identiques as $identique) if ($identique->numero != $amendement->numero)
    2021      echo link_to($identique->numero, '@amendement?loi='.$identique->texteloi_id.'&numero='.$identique->numero)." "; ?>)</em>
  • cpc/trunk/project/apps/frontend/modules/loi/actions/actions.class.php

    r3081 r3082  
    1515    $amendements = array();
    1616    $admts = Doctrine_Query::create()
    17       ->select('a.*, CAST( a.numero AS SIGNED ) AS num')
     17      ->select('a.*, (sum(a.nb_multiples)-1) as identiques, CAST( a.numero AS SIGNED ) AS num')
    1818      ->from('Amendement a')
    1919      ->where('a.texteloi_id = ?', $loi)
    2020      ->andWhere('a.sort <> ?', 'Rectifié')
    21       ->orderBy('num');
     21      ->groupBy('a.content_md5')
     22      ->orderBy('a.content_md5, a.sort, num');
    2223    if ($articles != 'all') {
    2324      $likestr = '';
     
    3435      $art = str_replace("È", "è", preg_replace('/premier/', '1er', strtolower($adt['sujet'])));
    3536      $art = trim(preg_replace("/[l'\s]*art(\.|icle)?\s*/", ' ', $art));
    36       if (preg_match('/(adopté|favorable)/i', $adt['sort'], $match)) $add = array($adt['numero'].' <b>'.strtolower($match[1]).'</b>');
    37       else $add = array($adt['numero']);
    38       if (isset($amendements[$art])) $amendements[$art] = array_merge($amendements[$art], $add);
    39       else $amendements[$art] = $add;
     37      $content = $adt['numero'];
     38      if ($adt['identiques'])
     39        $content .= ' <small>('.$adt['identiques'].' identique'.($adt['identiques'] > 1 ? 's' : '').')</small>';
     40      if (preg_match('/(adopté|favorable)/i', $adt['sort'], $match)) $content .= ' <b>'.strtolower($match[1]).'</b>';
     41      $add = array($content);
     42      if (isset($amendements[$art])) {
     43        $amendements[$art] = array_merge($amendements[$art], $add);
     44        $amendements[$art.'tot'] += $adt['identiques']+1;
     45      } else {
     46        $amendements[$art] = $add;
     47        $amendements[$art.'tot'] = $adt['identiques']+1;
     48      }
    4049      if ($alineas && !(preg_match('/(avant|après)/', $art))) { if (preg_match("/alin..?as?..?(\d+)[^\d]/", $adt['texte'], $match)) {
    4150        $al = $art.'-'.$match[1];
    42         if (isset($amendements[$al])) $amendements[$al] = array_merge($amendements[$al], $add);
    43         else $amendements[$al] = $add;
     51        if (isset($amendements[$al])) {
     52          $amendements[$al] = array_merge($amendements[$al], $add);
     53          $amendements[$al.'tot'] += $adt['identiques']+1;
     54        } else {
     55          $amendements[$al] = $add;
     56          $amendements[$al.'tot'] = $adt['identiques']+1;
     57        }
    4458      }
    4559    } }
  • cpc/trunk/project/apps/frontend/modules/loi/templates/_alinea.php

    r2062 r3082  
    2323if (isset($amendements)) {
    2424  $string = '<br/><small>';
    25   $ct = count($amendements);
    26   $string .= $ct;
     25  $string .= $totalamdmts;
    2726  $string .= ' amendement';
    28   if ($ct > 1) $string .= 's';
     27  if ($totalamdmts > 1) $string .= 's';
    2928  $string .= ' déposé';
    30   if ($ct > 1) $string .= 's';
     29  if ($totalamdmts > 1) $string .= 's';
    3130  $string .= ' sur cet alinéa&nbsp;: ';
    3231  foreach ($amendements as $adt) $string .= link_to('n°&nbsp;'.$adt, '@amendement?loi='.$loi.'&numero='.preg_replace('/^([A-Z]{1,3})?(\d+)\s+.*$/', '\1\2', $adt)).' ';
  • cpc/trunk/project/apps/frontend/modules/loi/templates/articleSuccess.php

    r3080 r3082  
    1515if (isset($amendements['titre']) && preg_match('/[1i]er$/', $article->titre)) {
    1616  echo '<p><b>Amendement';
    17   if (count($amendements['titre']) > 1) echo 's';
     17  if ($amendements['titretot'] > 1) echo 's';
    1818  echo ' proposant une modification du titre&nbsp;:</b> ';
    1919  foreach ($amendements['titre'] as $adt)
     
    2323if (isset($amendements['avant '.$arttitre])) {
    2424  echo '<p><b>Amendement';
    25   if (count($amendements['avant '.$arttitre]) > 1) echo 's';
     25  if ($amendements['avant '.$arttitre.'tot'] > 1) echo 's';
    2626  echo ' proposant un article additionel avant l\'article '.$article->titre.'&nbsp;:</b> ';
    2727  foreach ($amendements['avant '.$arttitre] as $adt) echo link_to('n°&nbsp;'.$adt, '@amendement?loi='.$loi->texteloi_id.'&numero='.preg_replace('/^([A-Z]{1,3})?(\d+)\s+.*$/', '\1\2', $adt)).' ';
     
    3434  $options = array('a'=>$a, 'slug_article'=>$article->slug, 'comment' => 1);
    3535  $al = strtolower($arttitre.'-'.$a->numero);
    36   if (isset($amendements[$al])) $options = array_merge($options, array('amendements' => $amendements[$al], 'loi' => $loi->texteloi_id));
     36  if (isset($amendements[$al])) $options = array_merge($options, array('amendements' => $amendements[$al], 'totalamdmts' => $amendements[$al.'tot'], 'loi' => $loi->texteloi_id));
    3737  include_partial('alinea', $options);
    3838 } ?>
     
    4040<?php if (isset($amendements[$arttitre])) {
    4141  echo '<p><b>';
    42   $ct = count($amendements[$arttitre]);
     42  $ct = $amendements[$arttitre.'tot'];
    4343  if ($ct > 1) echo 'Tous les a';
    4444  else echo 'A';
     
    5353if (isset($amendements['après '.$arttitre])) {
    5454  echo '<p><b>Amendement';
    55   if (count($amendements['après '.$arttitre]) > 1) echo 's';
     55  if ($amendements['après '.$arttitre.'tot'] > 1) echo 's';
    5656  echo ' proposant un article additionel après l\'article '.$article->titre.'&nbsp;:</b> ';
    5757  foreach ($amendements['après '.$arttitre] as $adt) echo link_to('n°&nbsp;'.$adt, '@amendement?loi='.$loi->texteloi_id.'&numero='.preg_replace('/^([A-Z]{1,3})?(\d+)\s+.*$/', '\1\2', $adt)).' ';
  • cpc/trunk/project/apps/frontend/modules/loi/templates/sectionSuccess.php

    r3065 r3082  
    6363  if (isset($amendements['avant '.$atitre])) {
    6464    echo '<li><b>Amendement';
    65     if (count($amendements['avant '.$atitre]) > 1) echo 's';
     65    if ($amendements['avant '.$atitre.'tot'] > 1) echo 's';
    6666    echo ' proposant un article additionel avant l\'article '.$a->titre.'&nbsp;:</b> ';
    6767    foreach ($amendements['avant '.$atitre] as $adt) echo link_to('n°&nbsp;'.$adt, '@amendement?loi='.$loi->texteloi_id.'&numero='.preg_replace('/^([A-Z]{1,3})?(\d+)\s+.*$/', '\1\2', $adt)).' ';
     
    7878  if ($a->nb_commentaires > 0 && isset($amendements[$atitre])) echo ', ';
    7979  if (isset($amendements[$atitre])) {
    80     $ct = count($amendements[$atitre]);
     80    $ct = $amendements[$atitre.'tot'];
    8181    echo $ct.' amendement';
    8282    if ($ct > 1) echo 's';
     
    9595  if (isset($amendements['après '.$atitre])) {
    9696    echo '</li><li><b>Amendement';
    97     if (count($amendements['après '.$atitre]) > 1) echo 's';
     97    if ($amendements['après '.$atitre.'tot'] > 1) echo 's';
    9898    echo ' proposant un article additionel après l\'article '.$a->titre.'&nbsp;:</b> ';
    9999    foreach ($amendements['après '.$atitre] as $adt) echo link_to('n°&nbsp;'.$adt, '@amendement?loi='.$loi->texteloi_id.'&numero='.preg_replace('/^([A-Z]{1,3})?(\d+)\s+.*$/', '\1\2', $adt)).' ';
Note: See TracChangeset for help on using the changeset viewer.