public function download_documento($idDocumento = null) { 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 || $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) { $documento = DetalleReporteCalibracion::find($idDocumento); $rutaDestino = $documento->url . $documento->nombre_archivo_encriptado; $headers = array('Content-Type', mime_content_type($rutaDestino)); return Response::download($rutaDestino, basename($documento->nombre_archivo), $headers); } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }
public function submit_create_activo() { 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('servicio_clinico' => 'Servicio Clínico', 'ubicacion_fisica' => 'Ubicación Física', 'grupo' => 'Grupo', 'marca' => 'Marca', 'nombre_equipo' => 'Nombre del Equipo', 'modelo' => 'Modelo', 'numero_serie' => 'Número de Serie', 'proveedor' => 'Proveedor', 'codigo_compra' => 'Código de Compra', 'codigo_patrimonial' => 'Código Patrimonial', 'fecha_adquisicion' => 'Fecha de Adquisición', 'garantia' => 'Garantía', 'idreporte_instalacion' => 'Código de Reporte de Instalación', 'costo' => 'Precio de Compra', 'fecha_calibracion' => 'Fecha de Calibración', 'fecha_proximo' => 'Próxima Fecha de Calibración', 'input-file-0' => 'Certificado de Calibración'); $messages = array(); $rules = array('servicio_clinico' => 'required', 'ubicacion_fisica' => 'required', 'grupo' => 'required', 'marca' => 'required', 'nombre_equipo' => 'required', 'modelo' => 'required', 'numero_serie' => 'required|alpha_dash', 'proveedor' => 'required', 'codigo_compra' => 'required|numeric', 'codigo_patrimonial' => 'required|digits:12|unique:activos,codigo_patrimonial', 'fecha_adquisicion' => 'required', 'garantia' => 'required|numeric', 'idreporte_instalacion' => 'required', 'costo' => 'required|numeric', 'fecha_calibracion' => 'required', 'fecha_proximo' => 'required', 'input-file-0' => 'required'); $validator = Validator::make(Input::all(), $rules, $messages, $attributes); if ($validator->fails()) { return Redirect::to('equipos/create_equipo')->withErrors($validator)->withInput(Input::all()); } else { $activo = new Activo(); $activo->codigo_patrimonial = Input::get('codigo_patrimonial'); $activo->numero_serie = Input::get('numero_serie'); $activo->anho_adquisicion = date('Y-m-d', strtotime(Input::get('fecha_adquisicion'))); $activo->garantia = Input::get('garantia'); $activo->fecha_garantia_fin = Carbon\Carbon::createFromFormat('Y-m-d', $activo->anho_adquisicion)->addMonths($activo->garantia); $activo->codigo_compra = Input::get('codigo_compra'); $activo->idgrupo = Input::get('grupo'); $activo->idmodelo_equipo = Input::get('modelo'); $activo->idservicio = Input::get('servicio_clinico'); $activo->idproveedor = Input::get('proveedor'); $activo->idreporte_instalacion = Input::get('idreporte_instalacion'); $activo->idestado = 3; $activo->idubicacion_fisica = Input::get('ubicacion_fisica'); $activo->costo = Input::get('costo'); $activo->save(); /* Registrar reporte de calibracion */ $reporte_calibracion = new ReporteCalibracion(); $reporte_controller = new ReportesCalibracionController(); $reporte_calibracion->codigo_abreviatura = "RC"; $reporte_calibracion->codigo_correlativo = $reporte_controller->getCorrelativeReportNumber(); $reporte_calibracion->codigo_anho = date('y'); $reporte_calibracion->idactivo = $activo->idactivo; $reporte_calibracion->fecha_calibracion = date("Y-m-d", strtotime(Input::get('fecha_calibracion'))); $reporte_calibracion->fecha_proxima_calibracion = date("Y-m-d", strtotime(Input::get('fecha_proximo'))); $reporte_calibracion->idestado = 27; $reporte_calibracion->save(); if (Input::hasFile('input-file-0')) { $archivo = Input::file('input-file-0'); $rutaDestino = 'uploads/documentos/riesgos/Reportes de Calibracion/' . $reporte_calibracion->codigo_abreviatura . $reporte_calibracion->codigo_correlativo . $reporte_calibracion->codigo_anho . '/'; $nombreArchivo = $archivo->getClientOriginalName(); $nombreArchivoEncriptado = Str::random(27) . '.' . pathinfo($nombreArchivo, PATHINFO_EXTENSION); $uploadSuccess = $archivo->move($rutaDestino, $nombreArchivoEncriptado); $detalle_reporte_calibracion = new DetalleReporteCalibracion(); $detalle_reporte_calibracion->nombre = $nombreArchivo; $detalle_reporte_calibracion->nombre_archivo = $nombreArchivo; $detalle_reporte_calibracion->nombre_archivo_encriptado = $nombreArchivoEncriptado; $detalle_reporte_calibracion->url = $rutaDestino; $detalle_reporte_calibracion->idreporte_calibracion = $reporte_calibracion->id; $detalle_reporte_calibracion->save(); } return Redirect::to('equipos/list_equipos')->with('message', 'Se registró correctamente el activo.'); } } else { return View::make('error/error', $data); } } else { return View::make('error/error', $data); } }