Ignore:
Timestamp:
Sep 12, 2010, 12:52:00 AM (11 years ago)
Author:
roux
Message:

ajouts fonctios sur documents + correction parsing id documents

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/lib/model/doctrine/Texteloi.class.php

    r1356 r1361  
    1414{
    1515
     16  public function getAmendements() {
     17    if (!preg_match('/(Projet de loi|Proposition de loi|Proposition de résolution|Texte de la commission)/', $this->type))
     18      return 0;
     19    $res = count(Doctrine::getTable('Amendement')->createQuery('a')
     20      ->where('texteloi_id = ?', $this->numero)
     21      ->fetchArray());
     22    return $res;
     23  }
     24
     25  public function getDossier() {
     26    $section = Doctrine::getTable('Section')->findOneByUrlAn($this->url_an);
     27    if (!$section) $section = Doctrine_Query::create()
     28      ->select('s.id')
     29      ->from('Section s, Tagging ta, Tag t')
     30      ->where('s.section_id = s.id')
     31      ->andWhere('ta.taggable_id = s.id')
     32      ->andWhere('ta.tag_id = t.id')
     33      ->andWhere('ta.taggable_model = ?', "Section")
     34      ->andWhere('t.name = ?', "loi:numero=".$this->numero)
     35      ->fetchOne();
     36    return $section;
     37  }
     38
    1639  public function setDossier($urldossier) {
    1740    $this->url_an = $urldossier;
    18    //find by url_an if not find by tag_loi if Projet de loi, Proposition de loi, TA, => save url_an
    1941    $section = Doctrine::getTable('Section')->findOneByUrlAn($urldossier);
    2042    if ($section) {
     
    109131
    110132  public function addParlementaire($depute, $fonction, $organisme = 0) {
    111     //foreach(Doctrine::getTable('ParlementaireTexteloi')->createQuery('pa')->select('parlementaire_id')->where('texteloi_id = ?', $this->id)->fetchArray() as $parldt) if ($parldt['parlementaire_id'] == $depute->id) return true;
     133    foreach(Doctrine::getTable('ParlementaireTexteloi')->createQuery('pa')->select('parlementaire_id')->where('texteloi_id = ?', $this->id)->fetchArray() as $parldt) if ($parldt['parlementaire_id'] == $depute->id) return true;
    112134
    113135    $pd = new ParlementaireTexteloi();
     
    138160  }
    139161
    140 
     162  public function getTypeString() {
     163    $str = "ce";
     164    if (preg_match('/(propos|lettre)/', $this->type))
     165      $str .= "tte";
     166    $str .= " ".strtolower($this->type);
     167    return $str;
     168  }
     169
     170  public function getAuteursString() {
     171    if ($this->type === "Texte de la commission")
     172      return $this->signataires;
     173    return $this->signataires;
     174  }
     175
     176  public function getCommission() {
     177    if ($this->type === "Texte de la commission") {
     178      $rap = Doctrine::getTable('Texteloi')->find("$this->numero");
     179      return $rap->getOrganisme();
     180    }
     181    return $this->getOrganisme();
     182  }
     183
     184  public function getTitreComplet() {
     185    $str = "";
     186    if ($this->annexe && preg_match('/a/', $this->id)) {
     187      $str .= "Annexe N° ".$annexe." ";
     188      if ($this->type === "Avis")
     189        $str .= "à l'";
     190      else $str .=  "au ";
     191    }
     192    $str .= $this->type;
     193    if (!preg_match('/^,/', $this->type_details))
     194      $str .= " ";
     195    $str .= $this->type_details;
     196    if (!preg_match('/^,/', $this->titre))
     197      $str .=  " ";
     198    $str .= $this->titre;
     199    if ($this->annexe && preg_match('/t/', $this->id))
     200      $str .= " (Tome $annexe)";
     201    return $str;
     202  }
    141203}
Note: See TracChangeset for help on using the changeset viewer.