/** * Update the specified resource in storage. * * @param int $id * @return Response */ public function update($id) { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $dimensiones = Dimension::all()->count(); // 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', 'descripcion' => 'required', 'indicadores' => 'required', 'objetivos' => 'required'); $messages = array('ind_nombres.size' => 'Debe llenar todas las dimensiones', 'ind_bases.size' => 'Debe llenar todas las dimensiones', 'ind_unidades.size' => 'Debe llenar todas las dimensiones', 'ind_definiciones.size' => 'Debe llenar todas las dimensiones', 'ind_verificaciones.size' => 'Debe llenar todas las dimensiones'); // 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('reporte_desarrollo/edit/' . $id)->withErrors($validator)->withInput(Input::all()); } else { //dd(Input::all()); $reporte_desarrollo = ReporteDesarrollo::find($id); $reporte_desarrollo->nombre = Input::get('nombre'); $reporte_desarrollo->id_categoria = Input::get('categoria'); $reporte_desarrollo->id_servicio_clinico = Input::get('servicio_clinico'); $reporte_desarrollo->id_departamento = Input::get('departamento'); $reporte_desarrollo->id_responsable = Input::get('responsable'); $reporte_desarrollo->fecha_ini = date("Y-m-d", strtotime(Input::get('fecha_ini'))); $reporte_desarrollo->fecha_fin = date("Y-m-d", strtotime(Input::get('fecha_fin'))); $reporte_desarrollo->descripcion = Input::get('descripcion'); $reporte_desarrollo->indicadores = Input::get('indicadores'); $reporte_desarrollo->objetivos = Input::get('objetivos'); $reporte_desarrollo->save(); $nombres = Input::get('ind_nombres'); $bases = Input::get('ind_bases'); $unidades = Input::get('ind_unidades'); $definiciones = Input::get('ind_definiciones'); $verificaciones = Input::get('ind_verificaciones'); if ($nombres) { foreach ($nombres as $keyD => $dimension) { //var_dump('DIMENSION '.$keyD); foreach ($dimension as $keyA => $nombre) { //var_dump(' Nombre: '.$nombre.' Base: '.$bases[$keyD][$keyA].' Unidad: '.$unidades[$keyD][$keyA].' Definicion: '.$definiciones[$keyD][$keyA].' Verificacion: '.$verificaciones[$keyD][$keyA]); $reporte_desarrollo_indicador = new ReporteDesarrolloIndicador(); $reporte_desarrollo_indicador->nombre = $nombre; $reporte_desarrollo_indicador->base = $bases[$keyD][$keyA]; $reporte_desarrollo_indicador->unidad = $unidades[$keyD][$keyA]; $reporte_desarrollo_indicador->definicion = $definiciones[$keyD][$keyA]; $reporte_desarrollo_indicador->medio = $verificaciones[$keyD][$keyA]; $reporte_desarrollo_indicador->reporte_id = $reporte_desarrollo->id; $reporte_desarrollo_indicador->dimension_id = $keyD; $reporte_desarrollo_indicador->save(); } } } Session::flash('message', 'Se modifico correctamente el reporte.'); return Redirect::to('reporte_desarrollo/edit/' . $id); } } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }
public function validarProyectoAjax() { if (!Request::ajax() || !Auth::check()) { return Response::json(array('success' => false), 200); } $id = Auth::id(); $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4 || $data["user"]->idrol == 5 || $data["user"]->idrol == 6 || $data["user"]->idrol == 7 || $data["user"]->idrol == 8 || $data["user"]->idrol == 9 || $data["user"]->idrol == 10 || $data["user"]->idrol == 11 || $data["user"]->idrol == 12) { $id_reporte = Input::get('id_reporte'); $req = RequerimientoClinico::find($id_reporte); if ($id_reporte != '' && $req) { $linea = ReporteDesarrollo::where('id_requerimiento', $req->id)->first(); $proy = Proyecto::where('id_requerimiento', $req->id)->first(); $financia = ReporteFinanciamiento::find($req->id_reporte); // Requerimiento Estado aprobado, que exista linea de investigacion y que no se haya hecho un proyecto antes if ($linea && $req->estado->nombre == 'Aprobado' && !$proy) { $reporte = $req; $inversion = $financia->inversiones->sum('costo'); } elseif (!$linea) { return Response::json(array('success' => false, 'mensaje' => 'No se encuentra una linea de investigación'), 200); } elseif ($req->estado->nombre == 'Rechazado') { return Response::json(array('success' => false, 'mensaje' => 'El requerimiento se encuentra rechazado'), 200); } elseif ($req->estado->nombre == 'Pendiente') { return Response::json(array('success' => false, 'mensaje' => 'El requerimiento se encuentra pendiente'), 200); } elseif ($proy) { return Response::json(array('success' => false, 'mensaje' => 'Ya existe un proyecto para este requerimiento clínico'), 200); } } else { $reporte = []; } return Response::json(array('success' => true, 'reporte' => $reporte, 'inversion' => $inversion), 200); } else { return Response::json(array('success' => false), 200); } }