/**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $this->layout->title = 'Editar Costo';
     $this->layout->titulo = 'Gestión de Alcances';
     $costo = Costo::find($id);
     $alcance = Alcance::find($costo->alcanceid);
     $this->layout->nest('content', 'costos.edit', array('costo' => $costo, 'alcance' => $alcance));
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $this->layout->title = 'Editar Adquisición';
     $this->layout->titulo = 'Gestión de Alcances';
     $adquisicion = Adquisicion::find($id);
     $alcance = Alcance::find($adquisicion->alcanceid);
     $this->layout->nest('content', 'adquisiciones.edit', array('adquisicion' => $adquisicion, 'alcance' => $alcance));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     $alcance = Alcance::find($id);
     $alcance->delete();
     Session::flash('message', 'Registro eliminado satisfactoriamente!');
     return Redirect::to('alcances/' . $alcance->actividadid . '/index');
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      Alcance $value A Alcance object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(Alcance $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = serialize(array((string) $obj->getIdAlcance(), (string) $obj->getIdUsuario()));
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
 protected function getAlcanceOrCreate($id_alcance = 'id_alcance')
 {
     $usuario = $this->getUsuarioOrError();
     if (!$this->getRequestParameter($id_alcance)) {
         $alcance = new Alcance();
         $alcance->setIdUsuario($usuario->getPrimaryKey());
     } else {
         $alcance = AlcancePeer::retrieveByPk($this->getRequestParameter($id_alcance), $usuario->getPrimaryKey());
         $this->forward404Unless($alcance);
     }
     return $alcance;
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store($id)
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         // Verifico si el usuario es un Webmaster
         if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) {
             // Validate the info, create rules for the inputs
             $rules = array('nombre' => 'required', 'categoria' => 'required', 'departamento' => 'required', 'responsable' => 'required', 'servicio_clinico' => 'required', 'fecha_ini' => 'required', 'fecha_fin' => 'required', 'requerimientos' => 'required', 'caracteristicas' => 'required', 'criterios' => 'required', 'entregables' => 'required', 'exclusiones' => 'required', 'restricciones' => 'required', 'asunciones' => 'required');
             $messages = array('fecha_ini.required' => 'El campo Fecha Inicio es requerido', 'fecha_fin.required' => 'El campo Fecha Final es requerido');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('proyecto_alcance/create/' . $id)->withErrors($validator)->withInput(Input::all());
             } else {
                 $proyecto_alcance = new Alcance();
                 $proyecto_alcance->nombre = Input::get('nombre');
                 $proyecto_alcance->id_categoria = Input::get('categoria');
                 $proyecto_alcance->id_servicio_clinico = Input::get('servicio_clinico');
                 $proyecto_alcance->id_departamento = Input::get('departamento');
                 $proyecto_alcance->id_responsable = Input::get('responsable');
                 $proyecto_alcance->fecha_ini = date("Y-m-d", strtotime(Input::get('fecha_ini')));
                 $proyecto_alcance->fecha_fin = date("Y-m-d", strtotime(Input::get('fecha_fin')));
                 $proyecto_alcance->id_proyecto = $id;
                 $proyecto_alcance->save();
                 $proyecto = Proyecto::find($id);
                 $proyecto->id_alcance = $proyecto_alcance->id;
                 $proyecto->save();
                 $requerimientos = Input::get('requerimientos');
                 foreach ($requerimientos as $requerimiento) {
                     $alcance_requerimiento = new AlcanceRequerimiento();
                     $alcance_requerimiento->descripcion = $requerimiento;
                     $alcance_requerimiento->id_alcance = $proyecto_alcance->id;
                     $alcance_requerimiento->save();
                 }
                 $caracteristicas = Input::get('caracteristicas');
                 foreach ($caracteristicas as $caracteristica) {
                     $alcance_caracteristica = new AlcanceCaracteristica();
                     $alcance_caracteristica->descripcion = $caracteristica;
                     $alcance_caracteristica->id_alcance = $proyecto_alcance->id;
                     $alcance_caracteristica->save();
                 }
                 $criterios = Input::get('criterios');
                 foreach ($criterios as $criterio) {
                     $alcance_criterio = new AlcanceCriterio();
                     $alcance_criterio->descripcion = $criterio;
                     $alcance_criterio->id_alcance = $proyecto_alcance->id;
                     $alcance_criterio->save();
                 }
                 $entregables = Input::get('entregables');
                 foreach ($entregables as $entregable) {
                     $alcance_entregable = new AlcanceEntregable();
                     $alcance_entregable->descripcion = $entregable;
                     $alcance_entregable->id_alcance = $proyecto_alcance->id;
                     $alcance_entregable->save();
                 }
                 $exclusiones = Input::get('exclusiones');
                 foreach ($exclusiones as $exclusion) {
                     $alcance_exclusion = new AlcanceExclusion();
                     $alcance_exclusion->descripcion = $exclusion;
                     $alcance_exclusion->id_alcance = $proyecto_alcance->id;
                     $alcance_exclusion->save();
                 }
                 $restricciones = Input::get('restricciones');
                 foreach ($restricciones as $restriccion) {
                     $alcance_restriccion = new AlcanceRestriccion();
                     $alcance_restriccion->descripcion = $restriccion;
                     $alcance_restriccion->id_alcance = $proyecto_alcance->id;
                     $alcance_restriccion->save();
                 }
                 $asunciones = Input::get('asunciones');
                 foreach ($asunciones as $asuncion) {
                     $alcance_asuncion = new AlcanceAsuncion();
                     $alcance_asuncion->descripcion = $asuncion;
                     $alcance_asuncion->id_alcance = $proyecto_alcance->id;
                     $alcance_asuncion->save();
                 }
                 Session::flash('message', 'Se registró correctamente el alcance.');
                 return Redirect::to('proyecto_alcance/show/' . $id);
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }