Changeset 3228

Show
Ignore:
Timestamp:
06/03/13 16:45:23 (4 years ago)
Author:
nosdeputes
Message:

display number amendments en home de loi

Location:
cpc/trunk/project/apps/frontend/modules/loi
Files:
2 modified

Legend:

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

    r3175 r3228  
    1212{ 
    1313 
    14   private function getAmendements($loi, $articles = 'all', $alineas = 0) { 
     14  private function getAmendements($loi, $articles = 'all', $alineas = 0, $soussections = null) { 
    1515    $amendements = array(); 
    1616    $admts = Doctrine_Query::create() 
     
    2121      ->groupBy('a.content_md5') 
    2222      ->orderBy('a.content_md5, a.sort, num'); 
     23    $sections_amdmt = array(); 
    2324    if ($articles != 'all') { 
    2425      $likestr = ''; 
    2526      foreach ($articles as $article) { 
     27        if (!isset($sections_amdmt[$article->titre_loi_id])) 
     28          $sections_amdmt[$article->titre_loi_id] = array(); 
     29        $sections_amdmt[$article->titre_loi_id][strtolower($article->titre)] = 1; 
    2630        $like = 'a.sujet LIKE "%art% '.preg_replace('/1.?er?/', 'premier', $article->titre).'%"'; 
    2731        if (preg_match("/(1.?er?|premier)(.*)$/i", $article->titre, $match)) 
     
    5761        } 
    5862      } 
    59     }  
     63    } 
     64    if ($soussections) { 
     65      $tmpamdmts = array(); 
     66      foreach ($soussections as $ss) { 
     67        $tmpamdmts[$ss->id] = 0; 
     68        foreach (array_keys($sections_amdmt[$ss->id]) as $art) { 
     69          if (isset($amendements['avant '.$art.'tot'])) $tmpamdmts[$ss->id] += $amendements['avant '.$art.'tot']; 
     70          if (isset($amendements[$art.'tot'])) $tmpamdmts[$ss->id] += $amendements[$art.'tot']; 
     71          if (isset($amendements['après '.$art.'tot'])) $tmpamdmts[$ss->id] += $amendements['après '.$art.'tot']; 
     72        } 
     73      } 
     74      $amendements = $tmpamdmts; 
     75    } 
    6076    return $amendements; 
    6177  } 
    62  
    6378  
    6479  public function executeLoi(sfWebRequest $request) { 
     
    7388      ->orderBy('a.ordre') 
    7489      ->fetchArray(); 
     90    $this->articles_sec = Doctrine::getTable('ArticleLoi')->createquery('a') 
     91      ->where('a.texteloi_id = ?', $loi_id) 
     92      ->orderBy('a.ordre') 
     93      ->execute(); 
     94    if (count($this->soussections)) 
     95      $this->amendements_sec = $this->getAmendements($loi_id, $this->articles_sec, 0, $this->soussections); 
     96    else $this->amendements_art = $this->getAmendements($loi_id, $this->articles_sec); 
    7597    $this->amendements = count(Doctrine::getTable('Amendement')->createquery('a') 
    7698      ->where('a.texteloi_id = ?', $loi_id) 
  • cpc/trunk/project/apps/frontend/modules/loi/templates/loiSuccess.php

    r3174 r3228  
    6161    $level = $ss->getLevel(); 
    6262    $nbart = $ss->nb_articles; 
    63     if ($ss->nb_commentaires > 0) { 
    64       echo ' (<span class="coms_loi_txt">'.$ss->nb_commentaires.' commentaire'; 
    65       if ($ss->nb_commentaires > 1) echo 's'; 
    66       echo '</span>)'; 
     63    if ($ss->nb_commentaires > 0 || $amendements_sec[$ss->id]) { 
     64      echo ' ('; 
     65      if ($amendements_sec[$ss->id]) { 
     66        echo '<span class="orange">'.$amendements_sec[$ss->id].' amendement'; 
     67        if ($amendements_sec[$ss->id] > 1) echo 's'; 
     68        echo '</span>'; 
     69      } 
     70      if ($ss->nb_commentaires > 0 && $amendements_sec[$ss->id]) echo ", "; 
     71      if ($ss->nb_commentaires > 0) { 
     72        echo '<span class="coms_loi_txt">'.$ss->nb_commentaires.' commentaire'; 
     73        if ($ss->nb_commentaires > 1) echo 's'; 
     74        echo '</span>'; 
     75      } 
     76      echo ')'; 
    6777    } 
    6878  } 
     
    91101    if (isset($a['expose'])) echo '&nbsp;:</b>&nbsp;'.myTools::escape_blanks(truncate_text(preg_replace('/<\/?p>|\&[^\;]+\;/i', ' ', strip_tags($a['expose'])), 120)); 
    92102    echo '</a>'; 
     103    $atitre = strtolower($a['titre']); 
     104    $nadmts = 0; 
     105    if (isset($amendements_art[$atitre.'tot'])) $nadmts += $amendements_art[$atitre.'tot']; 
     106    if (isset($amendements_art['après '.$atitre.'tot'])) $nadmts += $amendements_art['après '.$atitre.'tot']; 
     107    if (isset($amendements_art['avant '.$atitre.'tot'])) $nadmts += $amendements_art['avant '.$atitre.'tot']; 
     108    if ($nadmts) echo '&nbsp; (<span class="orange">'.$nadmts.' amendement'.($nadmts > 1 ? 's' : '').'</span>)'; 
    93109  } 
    94110} ?>