public function submit_create_convocatoria() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["permisos"] = Session::get('permisos'); if (in_array('side_nueva_convocatoria', $data["permisos"])) { // Validate the info, create rules for the inputs $attributes = array('nombre' => 'Nombre de Convocatoria', 'fecha_inicio' => 'Fecha de Inicio', 'fecha_fin' => 'Fecha de Fin'); $messages = array(); $rules = array('nombre' => 'required|alpha_num_dash|min:2|max:100|unique:periodos', 'fecha_inicio' => 'required', 'fecha_fin' => 'required'); // 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('convocatorias/create_convocatoria')->withErrors($validator)->withInput(Input::all()); } else { // Creo primero a la persona $fecha_inicio = date('Y-m-d', strtotime(Input::get('fecha_inicio'))); $fecha_fin = date('Y-m-d', strtotime(Input::get('fecha_fin'))); $interseccion_fecha_inicio = Periodo::getPeriodosIntersectionWithDatesNewPeriod($fecha_inicio)->get(); $interseccion_fecha_fin = Periodo::getPeriodosIntersectionWithDatesNewPeriod($fecha_fin)->get(); if ($fecha_inicio < $fecha_fin) { if ($interseccion_fecha_inicio->isEmpty() && $interseccion_fecha_fin->isEmpty()) { $convocatoria = new Periodo(); $convocatoria->nombre = Input::get('nombre'); $convocatoria->fecha_inicio = $fecha_inicio; $convocatoria->fecha_fin = $fecha_fin; $convocatoria->save(); Session::flash('message', 'Se registró correctamente la convocatoria.'); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó el periodo con id {{$convocatoria->idperiodos}}"; Helpers::registrarLog(3, $descripcion_log); return Redirect::to('convocatorias/create_convocatoria'); } else { Session::flash('error', 'Las fechas de inicio o fin se intersectan con las fechas de otra convocatoria.'); return Redirect::to('convocatorias/create_convocatoria')->withInput(Input::all()); } } else { Session::flash('error', 'La Fecha de Inicio debe ser menor a la Fecha Fin.'); return Redirect::to('convocatorias/create_convocatoria')->withInput(Input::all()); } } } else { // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registrarLog(10, $descripcion_log); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }