public function submit_create_expediente_tecnico()
 {
     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('codigo_compra' => 'Código de Compra', 'codigo_archivamiento' => 'Código de Archivamiento', 'idtipo_adquisicion_expediente' => 'Tipo de adquisicion', 'idtipo_compra_expediente' => 'Tipo de compra', 'idarea' => 'Departamento', 'descripcion' => 'Descripción', 'archivo_resolucion' => 'Archivo adjunto Resolución', 'archivo_tdr' => 'Archivo adjunto Término de referencia', 'archivo_bases' => 'Archivo adjunto Bases');
             $messages = array();
             $rules = array('codigo_compra' => 'required|unique:expediente_tecnico', 'codigo_archivamiento' => 'required', 'idtipo_adquisicion_expediente' => 'required', 'idtipo_compra_expediente' => 'required', 'idarea' => 'required', 'descripcion' => 'required|max:255', 'archivo_resolucion' => 'required|max:15360', 'archivo_tdr' => 'max:15360', 'archivo_bases' => '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('expediente_tecnico/create_expediente_tecnico')->withErrors($validator)->withInput(Input::all());
             } else {
                 $rutaDestino_resolucion = '';
                 $nombre_archivo_resolucion = '';
                 $nombre_archivo_resolucion_encriptado = '';
                 $rutaDestino_tdr = '';
                 $nombre_archivo_tdr = '';
                 $nombre_archivo_tdr_encriptado = '';
                 $rutaDestino_bases = '';
                 $nombre_archivo_bases = '';
                 $nombre_archivo_bases_encriptado = '';
                 if (Input::hasFile('archivo_resolucion')) {
                     $archivo_resolucion = Input::file('archivo_resolucion');
                     $rutaDestino_resolucion = 'uploads/documentos/adquisicion/resolucionExpediente/';
                     $nombre_archivo_resolucion = $archivo_resolucion->getClientOriginalName();
                     $nombre_archivo_resolucion_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo_resolucion, PATHINFO_EXTENSION);
                     $uploadSuccess = $archivo_resolucion->move($rutaDestino_resolucion, $nombre_archivo_resolucion_encriptado);
                 }
                 if (Input::hasFile('archivo_tdr')) {
                     $archivo_tdr = Input::file('archivo_tdr');
                     $rutaDestino_tdr = 'uploads/documentos/adquisicion/tdrExpediente/';
                     $nombre_archivo_tdr = $archivo_tdr->getClientOriginalName();
                     $nombre_archivo_tdr_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo_tdr, PATHINFO_EXTENSION);
                     $uploadSuccess = $archivo_tdr->move($rutaDestino_tdr, $nombre_archivo_tdr_encriptado);
                     $documento_tdr = new Documento();
                     $documento_tdr->nombre = $nombre_archivo_tdr;
                     $documento_tdr->autor = '';
                     $documento_tdr->codigo_archivamiento = Input::get('codigo_archivamiento');
                     $documento_tdr->ubicacion = '';
                     $documento_tdr->idtipo_documento = 7;
                     $documento_tdr->idestado = 1;
                     $documento_tdr->url = $rutaDestino_tdr;
                     $documento_tdr->nombre_archivo = $nombre_archivo_tdr;
                     $documento_tdr->nombre_archivo_encriptado = $nombre_archivo_tdr_encriptado;
                     $documento_tdr->save();
                 }
                 if (Input::hasFile('archivo_bases')) {
                     $archivo_bases = Input::file('archivo_bases');
                     $rutaDestino_bases = 'uploads/documentos/adquisicion/basesExpediente/';
                     $nombre_archivo_bases = $archivo_bases->getClientOriginalName();
                     $nombre_archivo_bases_encriptado = Str::random(27) . '.' . pathinfo($nombre_archivo_bases, PATHINFO_EXTENSION);
                     $uploadSuccess = $archivo_bases->move($rutaDestino_bases, $nombre_archivo_bases_encriptado);
                 }
                 $expediente_tecnico = new ExpedienteTecnico();
                 $expediente_tecnico->codigo_compra = Input::get('codigo_compra');
                 $expediente_tecnico->codigo_archivamiento = Input::get('codigo_archivamiento');
                 $expediente_tecnico->idtipo_adquisicion_expediente = Input::get('idtipo_adquisicion_expediente');
                 $expediente_tecnico->idtipo_compra_expediente = Input::get('idtipo_compra_expediente');
                 if (Input::get('select_nombre_equipo') == -1 || Input::get('select_nombre_equipo') === '') {
                     $expediente_tecnico->otros_equipos = Input::get('otros_equipos');
                     $expediente_tecnico->nombre_equipo = '';
                 } else {
                     $expediente_tecnico->nombre_equipo = Input::get('nombre_equipo');
                 }
                 $expediente_tecnico->idarea = Input::get('idarea');
                 $expediente_tecnico->idservicio = Input::get('idservicio');
                 $expediente_tecnico->descripcion = Input::get('descripcion');
                 $expediente_tecnico->url_resolucion = $rutaDestino_resolucion;
                 $expediente_tecnico->nombre_archivo_resolucion = $nombre_archivo_resolucion;
                 $expediente_tecnico->nombre_archivo_encriptado_resolucion = $nombre_archivo_resolucion_encriptado;
                 $expediente_tecnico->url_tdr = $rutaDestino_tdr;
                 $expediente_tecnico->nombre_archivo_tdr = $nombre_archivo_tdr;
                 $expediente_tecnico->nombre_archivo_encriptado_tdr = $nombre_archivo_tdr_encriptado;
                 $expediente_tecnico->url_bases = $rutaDestino_bases;
                 $expediente_tecnico->nombre_archivo_bases = $nombre_archivo_bases;
                 $expediente_tecnico->nombre_archivo_encriptado_bases = $nombre_archivo_bases_encriptado;
                 $expediente_tecnico->idresponsable = $data["user"]->id;
                 $expediente_tecnico->estado_evaluacion_ofertas_finalizada = 0;
                 if (Input::get('idtipo_adquisicion_expediente') == 1) {
                     // si se selecciona Bienes
                     if (Input::get('select_nombre_equipo') != '') {
                         if (!(Input::get('select_nombre_equipo') == -1 && Input::get('otros_equipos') == '')) {
                             $expediente_tecnico->save();
                             Session::flash('message', 'Se registró correctamente el Expediente Técnico.');
                             return Redirect::to('expediente_tecnico/create_expediente_tecnico');
                         } else {
                             Session::flash('error', 'Debe especificar el Nombre de Equipo en el campo Otros Equipos.');
                             return Redirect::to('expediente_tecnico/create_expediente_tecnico')->withInput(Input::all());
                         }
                     } else {
                         Session::flash('error', 'El campo Nombre de Equipo es requerido.');
                         return Redirect::to('expediente_tecnico/create_expediente_tecnico')->withInput(Input::all());
                     }
                 } else {
                     $expediente_tecnico->save();
                     Session::flash('message', 'Se registró correctamente el Expediente Técnico.');
                     return Redirect::to('expediente_tecnico/create_expediente_tecnico');
                 }
             }
         } else {
             return View::make('error/error', $data);
         }
     } else {
         return View::make('error/error', $data);
     }
 }