/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $this->updateInfo(); $model = new AcademicYear(); $model->student_id = $this->currentUser->id; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['AcademicYear'])) { $model->attributes = $_POST['AcademicYear']; if ($model->save()) { $this->redirect('index.php'); } } $this->render('create', array('model' => $model)); }
public function create_academic_year() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["actions"] = Session::get('actions'); if (in_array('side_nuevo_anho_escolar', $data["actions"])) { // Validate the info, create rules for the inputs $attributes = array('name' => 'Nombre del Año escolar', 'initial_date' => 'Fecha de Inicio', 'final_date' => 'Fecha de Fin'); $messages = array(); $rules = array('name' => 'required|alpha_num_dash|min:2|max:45|unique:academic_years,name,NULL,id,deleted_at,NULL', 'initial_date' => 'required', 'final_date' => '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('academic_years/new_academic_year')->withErrors($validator)->withInput(Input::all()); } else { $initial_date = date('Y-m-d', strtotime(Input::get('initial_date'))); $final_date = date('Y-m-d', strtotime(Input::get('final_date'))); if ($initial_date < $final_date) { //$initial_date_intersection = AcademicYear::getAcademicYearsIntersected($initial_date)->get(); //$final_date_intersection = AcademicYear::getAcademicYearsIntersected($final_date)->get(); //if($initial_date_intersection->isEmpty() && $final_date_intersection->isEmpty()){ if (AcademicYear::verifyAcademicYearsIntersection($initial_date, $final_date)) { $academic_year = new AcademicYear(); $academic_year->name = Input::get('name'); $academic_year->initial_date = $initial_date; $academic_year->final_date = $final_date; $academic_year->save(); Session::flash('message', 'Se creó correctamente el Año escolar.'); // Llamo a la función para registrar el log de auditoria $log_description = "Se creó el Año escolar con id: {{$academic_year->id}}"; Helpers::registerLog(3, $log_description); // crear las carpetas $academic_year->dir_name = Str::random(8) . $academic_year->id; $academic_year->save(); File::makeDirectory('files/' . $academic_year->dir_name); File::makeDirectory('files/' . $academic_year->dir_name . '/enrollments'); return Redirect::to('academic_years/list_academic_years'); } else { Session::flash('error', 'Las fechas de inicio o fin se intersectan con las fechas de otro año escolar.'); return Redirect::to('academic_years/new_academic_year')->withInput(Input::all()); } } else { Session::flash('error', 'La Fecha de Inicio debe ser menor a la Fecha de Fin.'); return Redirect::to('academic_years/new_academic_year')->withInput(Input::all()); } } } else { // Llamo a la función para registrar el log de auditoria $log_description = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registerLog(10, $log_description); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }