public function submit_edit_oferta_evaluada_expediente()
 {
     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
             $attributes = array('evaluacion' => 'Evaluación', 'archivo' => 'Archivo Adjunto');
             $messages = array();
             $rules = array('evaluacion' => 'required|max:500', 'archivo' => 'max:15360');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             $url = "oferta_evaluada_expediente/edit_oferta_evaluada_expediente" . "/" . Input::get('idoferta_expediente');
             if ($validator->fails()) {
                 return Redirect::to($url)->withErrors($validator)->withInput(Input::all());
             } else {
                 $oferta_expediente = OfertaExpediente::withTrashed()->find(Input::get('idoferta_expediente'));
                 $expediente_tecnico = ExpedienteTecnico::withTrashed()->find($oferta_expediente->idexpediente_tecnico);
                 if ($data["user"]->id == $expediente_tecnico->idpresidente) {
                     $tipo_miembro = 1;
                 }
                 //Presidente
                 if ($data["user"]->id == $expediente_tecnico->idmiembro1) {
                     $tipo_miembro = 2;
                 }
                 //Miembro1
                 if ($data["user"]->id == $expediente_tecnico->idmiembro2) {
                     $tipo_miembro = 3;
                 }
                 //Miembro2
                 if ($data["user"]->id == $expediente_tecnico->idmiembro3) {
                     $tipo_miembro = 4;
                 }
                 //Miembro3
                 $oferta_evaluada_expediente = OfertaEvaluadaExpediente::getOfertaEvaluadaExpedientePorUsuario(Input::get('idoferta_expediente'), $data["user"]->id)->get();
                 if ($oferta_evaluada_expediente->isEmpty()) {
                     $oferta_evaluada_expediente = new OfertaEvaluadaExpediente();
                     $oferta_evaluada_expediente->idoferta_expediente = Input::get('idoferta_expediente');
                     $oferta_evaluada_expediente->iduser = $data["user"]->id;
                     $oferta_evaluada_expediente->tipo_miembro = $tipo_miembro;
                     $oferta_evaluada_expediente->evaluacion = Input::get('evaluacion');
                     if (Input::hasFile('archivo')) {
                         $archivo = Input::file('archivo');
                         $rutaDestino = 'uploads/documentos/adquisicion/oferta_evaluada/';
                         $nombre_archivo = $archivo->getClientOriginalName();
                         $nombre_archivo_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo, PATHINFO_EXTENSION);
                         $uploadSuccess = $archivo->move($rutaDestino, $nombre_archivo_encriptado);
                         $oferta_evaluada_expediente->url = $rutaDestino;
                         $oferta_evaluada_expediente->nombre_archivo = $nombre_archivo;
                         $oferta_evaluada_expediente->nombre_archivo_encriptado = $nombre_archivo_encriptado;
                     }
                     $oferta_evaluada_expediente->save();
                 } else {
                     $oferta_evaluada_expediente = OfertaEvaluadaExpediente::getOfertaEvaluadaExpedientePorUsuario(Input::get('idoferta_expediente'), $data["user"]->id)->get()[0];
                     if (Input::hasFile('archivo')) {
                         $archivo = Input::file('archivo');
                         $rutaDestino = 'uploads/documentos/adquisicion/oferta_evaluada/';
                         $nombre_archivo = $archivo->getClientOriginalName();
                         $nombre_archivo_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo, PATHINFO_EXTENSION);
                         $uploadSuccess = $archivo->move($rutaDestino, $nombre_archivo_encriptado);
                         $rutaArchivoEliminar = $oferta_evaluada_expediente->url . $oferta_evaluada_expediente->nombre_archivo_encriptado;
                         if (File::exists($rutaArchivoEliminar)) {
                             File::delete($rutaArchivoEliminar);
                         }
                         $oferta_evaluada_expediente->url = $rutaDestino;
                         $oferta_evaluada_expediente->nombre_archivo = $nombre_archivo;
                         $oferta_evaluada_expediente->nombre_archivo_encriptado = $nombre_archivo_encriptado;
                     }
                     $oferta_evaluada_expediente->evaluacion = Input::get('evaluacion');
                     $oferta_evaluada_expediente->save();
                 }
                 Session::flash('message', 'Se registró correctamente la Evaluación de la Oferta.');
                 return Redirect::to($url);
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function render_view_oferta_expediente($idoferta_expediente = 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) && $idoferta_expediente) {
             $data["oferta_expediente_data"] = OfertaExpediente::withTrashed()->find($idoferta_expediente);
             $data["expediente_tecnico_data"] = ExpedienteTecnico::withTrashed()->find($data["oferta_expediente_data"]->idexpediente_tecnico);
             $data["proveedores"] = Proveedor::orderBy('razon_social', 'asc')->lists('razon_social', 'idproveedor');
             return View::make('oferta_expediente/viewOfertaExpediente', $data);
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }
 public function submit_create_observacion_expediente()
 {
     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
             $attributes = array('idtipo_observacion_expediente' => 'Tipo de Observación', 'descripcion' => 'Descripción', 'archivo' => 'Archivo adjunto');
             $messages = array();
             $rules = array('idtipo_observacion_expediente' => 'required', 'descripcion' => 'required|max:255', 'archivo' => 'required|max:15360');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             if ($validator->fails()) {
                 return Redirect::to('observacion_expediente/create_observacion_expediente/' . Input::get('idoferta_expediente'))->withErrors($validator)->withInput(Input::all());
             } else {
                 if (Input::hasFile('archivo')) {
                     $archivo = Input::file('archivo');
                     $rutaDestino = 'uploads/documentos/adquisicion/observacion/';
                     $nombre_archivo = $archivo->getClientOriginalName();
                     $nombre_archivo_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo, PATHINFO_EXTENSION);
                     $uploadSuccess = $archivo->move($rutaDestino, $nombre_archivo_encriptado);
                 }
                 $oferta_expediente = OfertaExpediente::withTrashed()->find(Input::get('idoferta_expediente'));
                 $expediente_tecnico = ExpedienteTecnico::withTrashed()->find($oferta_expediente->idexpediente_tecnico);
                 if ($data["user"]->id == $expediente_tecnico->idpresidente) {
                     $tipo_miembro = 1;
                 }
                 //Presidente
                 if ($data["user"]->id == $expediente_tecnico->idmiembro1) {
                     $tipo_miembro = 2;
                 }
                 //Miembro1
                 if ($data["user"]->id == $expediente_tecnico->idmiembro2) {
                     $tipo_miembro = 3;
                 }
                 //Miembro2
                 if ($data["user"]->id == $expediente_tecnico->idmiembro3) {
                     $tipo_miembro = 4;
                 }
                 //Miembro3
                 $observacion_expediente = new ObservacionExpediente();
                 $observacion_expediente->correlativo_por_oferta = Input::get('correlativo');
                 $observacion_expediente->idoferta_expediente = Input::get('idoferta_expediente');
                 $observacion_expediente->idtipo_observacion_expediente = Input::get('idtipo_observacion_expediente');
                 $observacion_expediente->descripcion = Input::get('descripcion');
                 $observacion_expediente->iduser = $data["user"]->id;
                 $observacion_expediente->tipo_miembro = $tipo_miembro;
                 $observacion_expediente->url = $rutaDestino;
                 $observacion_expediente->nombre_archivo = $nombre_archivo;
                 $observacion_expediente->nombre_archivo_encriptado = $nombre_archivo_encriptado;
                 $observacion_expediente->save();
                 Session::flash('message', 'Se registró correctamente la Observación.');
                 return Redirect::to('observacion_expediente/list_observacion_expedientes');
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }