/** * 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'); if ($data["user"]->idrol == 1 || $data["user"]->idrol == 2 || $data["user"]->idrol == 3 || $data["user"]->idrol == 4) { $attributes = array('infraestructura' => 'Infraestructura', 'equipo' => 'Equipos', 'herramienta' => 'Herramientas', 'insumo' => 'Insumos', 'equipo_personal' => 'Equipo Personal', 'condicion_seguridad' => 'Condiciones de Seguridad'); $messages = array(); $rules = array('infraestructura' => 'required|max:500', 'equipo' => 'required|max:500', 'herramienta' => 'required|max:500', 'insumo' => 'required|max:500', 'equipo_personal' => 'required|max:500', 'condicion_seguridad' => 'required|max:500'); $validator = Validator::make(Input::all(), $rules, $messages, $attributes); if ($validator->fails()) { return Redirect::to('material/edit/' . $id)->withErrors($validator)->withInput(Input::all()); } else { $material_sesion = MaterialSesion::find($id); $material_sesion->infraestructura = Input::get('infraestructura'); $material_sesion->equipos = Input::get('equipo'); $material_sesion->herramientas = Input::get('herramienta'); $material_sesion->insumos = Input::get('insumo'); $material_sesion->equipopersonal = Input::get('equipo_personal'); $material_sesion->condicionesseguridad = Input::get('condicion_seguridad'); $material_sesion->save(); return Redirect::to('capacitacion/show_sesiones/' . $material_sesion->sesion->id_capacitacion)->with('message', 'Se actualizó correctamente los materiales para la sesión N° ' . $material_sesion->sesion->numero_sesion); } } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }
/** * Store a newly created resource in storage. * * @return Response */ public function store() { 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_capacitacion' => 'required', 'tipo_capacitacion' => 'required', 'modalidad_capacitacion' => 'required', 'descripcion' => 'required', 'codigo_patrimonial' => 'required_if:tipo_capacitacion,1|required_if:tipo_capacitacion,2', 'departamento' => 'required', 'responsable' => 'required', 'servicio_clinico' => 'required', 'fecha_ini' => 'required|date', 'fecha_fin' => 'required|date', 'numero_sesiones' => 'required|numeric', 'horasxsesion' => 'required|numeric', 'objetivo' => 'required|alpha_num_spaces', 'personas_involucradas' => 'required|alpha_num_spaces', 'competencias_requeridas' => 'required|alpha_num_spaces', 'archivo' => '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('capacitacion/create')->withErrors($validator)->withInput(Input::all()); } else { $capacitacion = new Capacitacion(); $capacitacion->nombre = Input::get('nombre_capacitacion'); $capacitacion->id_tipo = Input::get('tipo_capacitacion'); $capacitacion->id_modalidad = Input::get('modalidad_capacitacion'); $capacitacion->descripcion = Input::get('descripcion'); if (Input::get('tipo_capacitacion') != 3) { $activo = Activo::searchActivosByCodigoPatrimonial(Input::get('codigo_patrimonial'))->get(); if (!$activo->isEmpty()) { $capacitacion->id_activo = $activo[0]->idactivo; } } $capacitacion->id_responsable = Input::get('responsable'); $capacitacion->id_servicio_clinico = Input::get('servicio_clinico'); $capacitacion->fecha_ini = date("Y-m-d", strtotime(Input::get('fecha_ini'))); $capacitacion->fecha_fin = date("Y-m-d", strtotime(Input::get('fecha_fin'))); $numero_sesiones = Input::get('numero_sesiones'); if ($numero_sesiones <= 0) { Session::flash('error', 'La capacitación debe tener una o más sesiones.'); return Redirect::to('capacitacion/create')->withInput(Input::all()); } $capacitacion->numero_sesiones = $numero_sesiones; $capacitacion->horasxsesiones = Input::get('horasxsesion'); //Para el plan de capacitacion $capacitacion->objetivo = Input::get('objetivo'); $capacitacion->personal_involucrado = Input::get('personas_involucradas'); $capacitacion->competencia = Input::get('competencias_requeridas'); $capacitacion->save(); for ($i = 1; $i < $numero_sesiones + 1; $i++) { $sesion = new Sesion(); $sesion->numero_sesion = $i; $sesion->id_capacitacion = $capacitacion->id; $sesion->save(); $material_sesion = new MaterialSesion(); $material_sesion->idsesion = $sesion->id; $material_sesion->save(); } $details_nombre = Input::get('details_nombre'); $details_descripcion = Input::get('details_descripcion'); $details_rol = Input::get('details_rol'); $details_institucion = Input::get('details_institucion'); $cantidad = count($details_nombre); for ($i = 0; $i < $cantidad; $i++) { $personal_externo = new PersonalExternoCapacitacion(); $personal_externo->nombre = $details_nombre[0]; $personal_externo->descripcion = $details_descripcion[0]; $personal_externo->rol = $details_rol[0]; $personal_externo->institucion = $details_institucion[0]; $personal_externo->id_capacitacion = $capacitacion->id; $personal_externo->save(); } $capacitacion->codigo = 'C-' . date('Y') . '-' . $capacitacion->id; if (Input::hasFile('archivo')) { $archivo = Input::file('archivo'); $rutaDestino = 'uploads/documentos/rrhh/Plan de Capacitacion/' . $capacitacion->codigo . '/'; $nombreArchivo = $archivo->getClientOriginalName(); $nombreArchivoEncriptado = Str::random(27) . '.' . pathinfo($nombreArchivo, PATHINFO_EXTENSION); $uploadSuccess = $archivo->move($rutaDestino, $nombreArchivoEncriptado); $capacitacion->nombre_archivo = $nombreArchivo; $capacitacion->nombre_archivo_encriptado = $nombreArchivoEncriptado; $capacitacion->url = $rutaDestino; } $capacitacion->save(); Session::flash('message', 'Se registró correctamente la capacitación.'); return Redirect::to('capacitacion/create'); } } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }