Changeset 1436


Ignore:
Timestamp:
Sep 26, 2010, 6:44:35 PM (10 years ago)
Author:
teymour
Message:

Des alertes sur les parlementaires et sur les commentaires

Location:
cpc/trunk/project
Files:
9 edited

Legend:

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

    r1427 r1436  
    379379  param: {module: commentaire, action: widget}
    380380
     381alerte_parlementaire:
     382  url: /alerte/parlementaire/:slug
     383  param: {module: alerte, action: parlementaire}
    381384alerte_create:
    382385  url: /alerte/create
  • cpc/trunk/project/apps/frontend/modules/alerte/actions/actions.class.php

    r1432 r1436  
    1515    $slug = $request->getParameter('slug');
    1616    $this->forward404Unless($slug);
    17     $parlementaire = doctrine::getTable('Parlementaire')->findBySlug($slug);
    18     $this->forward404Unless($parlementaire);   
     17    $parlementaire = doctrine::getTable('Parlementaire')->findOneBySlug($slug);
     18    $this->forward404Unless($parlementaire);
     19    $alerte = new Alerte();
     20    $alerte->query = 'Parlemenaire='.urlencode($parlementaire);
     21    $alerte->no_human_query = 1;
     22    $alerte->titre = 'Recherche relative aux travaux de '.$parlementaire->nom;
     23    $this->submit = 'Créer';
     24    $this->form = $this->processForm($request, $alerte);
     25    $this->setTemplate('form');
    1926  }
    2027
     
    3239  {
    3340    $alerte = new Alerte();
    34     if ($citoyen_id = $this->getUser()->getAttribute('user_id')) {
    35       $alerte->citoyen_id = $citoyen_id;
    36     }
    3741    $alerte->query = $request->getParameter('query');
    3842    $alerte->filter = $request->getParameter('filter');
    39     $this->form = new AlerteForm($alerte);
    4043    $this->submit = 'Créer';
    41     $this->processForm($request, $this->form);
     44    $this->form = $this->processForm($request, $alerte);
    4245    $this->setTemplate('form');
    4346  }
     
    5861  {
    5962    $this->forward404Unless($alerte = Doctrine::getTable('Alerte')->createQuery('a')->where('verif = ?', $request->getParameter('verif'))->fetchOne());
    60     $this->form = new AlerteForm($alerte);
    61     $this->processForm($request, $this->form);
     63    $this->form =  $this->processForm($request, $alerte);
    6264    $this->submit = 'Éditer';
    6365    $this->setTemplate('form');
     
    7375  }
    7476
    75   private function processForm($request, $form) {
     77  private function processForm($request, $alerte) {
     78    if ($citoyen_id = $this->getUser()->getAttribute('user_id')) {
     79      $alerte->citoyen_id = $citoyen_id;
     80    }
     81    $form = new AlerteForm($alerte);
    7682    if ($request->isMethod('post')) {
    7783      $form->bind($request->getParameter($form->getName()));
     
    8692      }
    8793    }
     94    return $form;
    8895  }
    8996}
  • cpc/trunk/project/apps/frontend/modules/alerte/templates/formSuccess.php

    r1432 r1436  
    55echo "<tr><th>Email</th><td>".$form->getObject()->Citoyen->email."</td></tr>";
    66}
    7 echo $form;
    87if ($form->getObject()->no_human_query) {
    98echo "<tr><th>Alerte portant sur</th><td>".$form->getObject()->titre."</td></tr>";
     
    1211echo "<tr><th>Filtré sur</th><td>".preg_replace('/[\&,] ?/', ', ', preg_replace('/[^=\&\,]+=/i', '', strtolower(urldecode($f))))."</td></tr>";
    1312}
     13echo $form;
    1414?>
    1515<tr><th></th><td><input type="submit" value="<?php echo $submit; ?>"> <?php if ($submit != 'Créer') echo link_to('Supprimer', 'alerte/delete?verif='.$form->getObject()->verif);?></td></tr>
  • cpc/trunk/project/apps/frontend/modules/alerte/templates/listSuccess.php

    r1432 r1436  
    2424    echo "</td><td>";
    2525  }
    26   echo "une fois par ".$period[$a->getPeriod()]."</td><td>".$a->getLastMail();
     26  echo "une fois par ".$period[$a->getPeriod()]."</td><td>";
     27  echo ($a->getNextMail()) ? $a->getLastMail() : " - ";
    2728  echo "</td><td>";
    2829  echo link_to('<img src="/images/xneth/remove.png"/>', 'alerte/delete?verif='.$a->verif);
  • cpc/trunk/project/apps/frontend/modules/commentaire/actions/actions.class.php

    r1384 r1436  
    1919    $this->type = $request->getParameter('type');
    2020    $this->id = $request->getParameter('id');
     21    $this->follow_talk = $request->getParameter('follow_talk');
    2122   
    2223    $values = $request->getParameter('commentaire');
     
    156157    $commentaire->save();
    157158
     159    $alerte = new Alerte();
     160    $alerte->citoyen_id = $citoyen_id;
     161    $alerte->query = "object_name:Commentaire tag:object_type=".$commentaire->object_type." tag:object_id=".$commentaire->object_id;
     162    $alerte->no_human_query = 1;
     163    $alerte->period = 'HOUR';
     164    $alerte->titre = "Suivre votre conversation sur $present";
     165    $alerte->save();
     166
    158167    $object->updateNbCommentaires();
    159168    $object->save();
  • cpc/trunk/project/apps/frontend/modules/commentaire/actions/components.class.php

    r1384 r1436  
    1414    }
    1515    $this->unique_form = md5(rand());
     16    if (!isset($this->follow_talk))
     17      $this->follow_talk = 0;
    1618    $this->getUser()->setAttribute('commentaire_'.$this->type.'_'.$this->id, $this->unique_form);
    1719  }
  • cpc/trunk/project/apps/frontend/modules/commentaire/templates/_form.php

    r964 r1436  
    5757  </tr>
    5858  <?php } ?>
     59  <tr><td><input type="checkbox" name="follow_talk" id="follow_talk"<?php if  ($follow_talk) echo " checked"; ?>/><label for="follow_talk">M'alerter par email lorsque quelqu'un réagit à mon commentaire</label></td></tr>
    5960  <tr>
    6061    <td colspan="3" style="height:40px;">
  • cpc/trunk/project/apps/frontend/modules/commentaire/templates/postSuccess.php

    r714 r1436  
    77</div>
    88<?php
    9 echo include_component('commentaire', 'form', array('type'=>$type, 'id'=>$id, 'sendButton'=>1, 'form'=>$form));
     9echo include_component('commentaire', 'form', array('type'=>$type, 'id'=>$id, 'sendButton'=>1, 'form'=>$form, 'follow_talk' => $follow_talk));
    1010?>
  • cpc/trunk/project/lib/model/doctrine/Parlementaire.class.php

    r1412 r1436  
    6969    $groupe = "";
    7070    if ($this->groupe_acronyme != "") {
    71       if ($link && function_exists('link_to'))
     71      if ($link && function_exists('_parse_attributes') && function_exists('link_to'))
    7272        $groupe = " ".link_to($this->groupe_acronyme, '@list_parlementaires_groupe?acro='.$this->groupe_acronyme);
    7373      else $groupe = " ".$this->groupe_acronyme;
     
    7878  public function getLongStatut($link = 0) {
    7979    $circo = $this->nom_circo;
    80     if ($link && function_exists('link_to')) {
     80    if ($link && function_exists('_parse_attributes') && function_exists('link_to')) {
    8181      $circo = link_to($this->nom_circo, '@list_parlementaires_departement?departement='.$circo);
    8282    }
Note: See TracChangeset for help on using the changeset viewer.