Esempio n. 1
0
 public function addControlRevision($parent_id)
 {
     $parent_rev = Doctrine::getTable('Revision')->find($parent_id);
     if ($parent_rev->getBlock()) {
         return false;
     }
     $singleton = sfContext::getInstance();
     $last_revision = $this->getLastRevision();
     //if($last_revision->getRevisionStateId() == 5) {
     // Agregamos nueva revision de control
     $new_control_revision = new Revision();
     $new_control_revision->setProcedureId($this->get('id'));
     $new_control_revision->setParentId($parent_id);
     $new_control_revision->setRevisionStateId(1);
     $new_control_revision->setBlock(false);
     $new_control_revision->setCreatorId($singleton->getUser()->getGuardUser()->getId());
     $new_control_revision->save();
     // controlamos si previamente existe una revision de control
     $previous_revision = $this->getLastControlRevision();
     if (!empty($previous_revision)) {
         $previuos_items = $this->getLastControlRevision()->getRevisionItem();
         foreach ($previuos_items as $prev_item) {
             $rev = new RevisionItem();
             $rev->setRevisionId($new_control_revision->get('id'));
             $rev->setItemId($prev_item->get('item_id'));
             $rev->setState($prev_item->get('state'));
             $rev->save();
         }
     } else {
         // add revision items
         $items = Doctrine::getTable('Item')->createQuery('i')->leftJoin('i.ItemFormu if')->where('if.form_id = ?', $this->getFormuId())->execute();
         foreach ($items as $item) {
             $rev = new RevisionItem();
             $rev->setRevisionId($new_control_revision->get('id'));
             $rev->setItemId($item->get('id'));
             $rev->setState('sc');
             $rev->save();
         }
     }
     $new_control_revision->setRevisionStateId(8);
     $new_control_revision->save();
     return $new_control_revision;
     //}
 }
Esempio n. 2
0
 /**
  * action Complete
  *
  * @author Damian Suarez
  */
 public function executeComplete(sfWebRequest $request)
 {
     $user = $this->getUser()->getGuardUser();
     if ($user->hasPermission('Responsable de cierre')) {
         $this->revision = Doctrine::getTable('Revision')->find($request->getParameter('id'));
         $this->procedure = $this->revision->getProcedure();
         // bloqueamos todas las revisiones
         foreach ($this->procedure->getRevisions() as $revision) {
             $revision->setBlock(true);
             $revision->save();
         }
         // Creamos la ultima revision
         $last_revision = new Revision();
         $last_revision->setRevisionStateId(4);
         $last_revision->setProcedureId($this->procedure->get('id'));
         $last_revision->setCreatorId($this->getUser()->getGuardUser()->get('id'));
         $last_revision->setBlock(true);
         $last_revision->setParentId($this->revision->get('id'));
         $last_revision->save();
         $this->redirect('procedures/index?id=' . $this->procedure->get('id'));
     }
 }