Пример #1
0
 public function crear()
 {
     $proceso = new Proceso();
     $proceso->nombre = 'Proceso';
     $proceso->cuenta_id = UsuarioBackendSesion::usuario()->cuenta_id;
     $proceso->save();
     redirect('backend/procesos/editar/' . $proceso->id);
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Proceso();
     $model->nombre = $_POST['nombreProceso'];
     $model->descripcion = $_POST['descripcionProceso'];
     $model->id_macroproceso = $_POST['idMacroProceso'];
     $model->save();
     $i = 0;
     foreach ($_POST['unidadesNIds'] as $value) {
         $modelUNP = new UnidadNegocioProceso();
         $modelUNP->id_proceso = $model->id_proceso;
         $modelUNP->id_unidad_negocio = (int) $value;
         $modelUNP->nombre_responsable = $_POST['responsables'][$i];
         $modelUNP->save();
     }
 }
Пример #3
0
 /**
  * Sincroniza los procesos del atributo xpdl con los objetos procesos.
  * Si no existe el objeto lo crea, si cambio por ej. el nombre lo actualiza
  *
  * @param Object Objeto instancia de la clase pdsfXpdl con el xpdl a procesar.
  * @param array $pIdXpdls Lista especifica de id (xpdl) de procesos a tratar,
  *                          sino procedo con todos.
  * @return array procesos no actualizados por algun error
  */
 public function syncProcesses($xpdl, $pIdXpdls = array())
 {
     if (!$xpdl) {
         $err['file'] = $this->getNombre();
         $err['error'] = 'No se ha instanciado el archivo xpdl para su tratamiento';
         return $err;
     }
     // Para ir volcando los paquetes no procesados por alguna regla invalida
     $noimp = array();
     // Obtengo procesos a sincronizar
     $procs = $xpdl->getProcessArray($pIdXpdls);
     // Procedo con cada uno
     foreach ($procs as $pr) {
         $proc = Doctrine::getTable('Proceso')->findOneByXpdlId($pr['id']);
         // REGLAS
         $err = array();
         // Si no se cumple alguna regla generar
         // $err['file'] = $this->getNombre();
         // $err['error'] = 'Mensaje del error';
         // CONTINUO SI SE PASARON TODAS LAS REGLAS
         if (count($err) == 0) {
             if (!$proc) {
                 $proc = new Proceso();
                 $proc->setNombre($pr['name']);
                 $proc->setRelPaquete($this->getId());
                 $proc->setXpdlId($pr['id']);
                 $proc->save();
             } else {
                 if ($proc->getNombre() != $pr['name']) {
                     $proc->setNombre($pr['name']);
                 }
             }
             if ($proc->isNew() or $proc->isModified()) {
                 $proc->save();
             }
         } else {
             $noimp[] = $err;
         }
     }
     return $noimp;
 }