Ignore:
Timestamp:
Feb 24, 2010, 1:26:14 PM (11 years ago)
Author:
goya
Message:

petites corrections

Location:
cpc/trunk/project/apps/frontend/modules/amendement
Files:
3 edited

Legend:

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

    r1122 r1125  
    139139  public function executeFind(sfWebRequest $request)
    140140  {
    141     $loi = $request->getParameter('loi');
    142     $num = $request->getParamter('numero');
    143     $this->redirect('@amendement?loi='.$loi.'&numero='.$numero);
     141    $this->lois = split(',', $request->getParameter('loi'));
     142    $amdt = $request->getParameter('numero');
     143    if ($amdt == 'all' || $amdt == 'new' ) {
     144      if (count($this->lois) == 1)
     145        $this->loi = doctrine::getTable('TitreLoi')->findLightLoi($this->lois[0]);
     146      $this->amendements_query = doctrine::getTable('Amendement')
     147        ->createQuery('a')
     148        ->whereIn('a.texteloi_id', $this->lois);
     149      if ($amdt == 'new')
     150        $this->amendements_query->orderBy('a.texteloi_id DESC, a.created_at DESC, a.source');
     151      else $this->amendements_query->orderBy('a.texteloi_id DESC, a.source');
     152      return ;
     153    }
     154    $numeros = array();
     155    if (count($this->lois) == 1 && preg_match('/^(\d+)([A-Z])$/i', $amdt, $match)) {
     156      $numero = ($match[1]+0).strtoupper($match[2]);
     157      $this->redirect('@amendement?loi='.$this->lois[0].'&numero='.$numero);
     158    } else if (preg_match('/(\d+[A-Z]?)-(\d+[A-Z]?)/i', $amdt, $match)) {
     159      if (preg_match('/^(\d+)[A-Z]$/i', $match[1], $match2)) $numsta = $match2[1];
     160      else $numsta = $match[1];
     161      if (preg_match('/^(\d+)[A-Z]$/i', $match[2], $match2)) $numsto = $match2[1];
     162      else $numsto = $match[2];
     163      for($cpt = $numsta ; $cpt <= $numsto ; $cpt++)
     164        array_push($numeros, $cpt);
     165    } else {
     166      preg_match_all('/\D*(\d+)[A-Z]?\D*/i', $amdt, $match);
     167      $numeros = $match[1];
     168    }
     169    $amendements = array();
     170    foreach($this->lois as $loi) foreach($numeros as $numero) {
     171      $query = PluginTagTable::getObjectTaggedWithQuery('Amendement', array('loi:amendement='.$numero));
     172      $query->andWhere('texteloi_id = ?', $loi);
     173      $res = $query->execute();
     174      if (count($res)) foreach ($res as $amd) {
     175        $amendements[$amd->id] = $amd;
     176      }
     177    }
     178    if (count($amendements) == 1) {
     179      $a = array_keys($amendements);
     180      $this->redirect('@amendement_redirect?id='.$a[0]);
     181    }
     182    $this->amendements = array_values($amendements);
    144183  }
    145184
  • cpc/trunk/project/apps/frontend/modules/amendement/templates/_pagerAmendements.php

    r1101 r1125  
    3535  if (isset($highlight))
    3636    $args['highlight'] = $highlight;
    37   if (isset($loi)) $args['loi'] = $loi->titre;
     37  if (isset($loi->titre)) $args['loi'] = $loi->titre;
    3838  echo include_component('amendement', 'parlementaireAmendement', $args);
    3939  }
  • cpc/trunk/project/apps/frontend/modules/amendement/templates/findSuccess.php

    r1122 r1125  
    2828<?php foreach($amendements as $a) :?>
    2929<li><?php
    30 if ($l = $a->getLettreLoi(1))$l = "($l)";
    31 echo link_to('Amendement n°'.$a->numero.' portant sur le texte de loi n°'.$a->texteloi_id.$l.', '.$a->sujet, '@amendement?loi='.$a->texteloi_id.'&numero='.$a->numero); ?></li>
     30echo link_to('Amendement n°'.$a->numero.' portant sur le texte de loi n°'.$a->texteloi_id.', '.$a->sujet, '@amendement?loi='.$a->texteloi_id.'&numero='.$a->numero); ?></li>
    3231<?php endforeach; ?>
    3332</ul>
Note: See TracChangeset for help on using the changeset viewer.