public function my_account()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["actions"] = Session::get('actions');
         $administrative_staff = AdministrativeStaff::where('user_id', '=', $data["user"]->id)->first();
         if ($data["user"]->teacher) {
             $data["person"] = $data["user"]->teacher;
             $data["profile"] = $data["user"]->profiles()->where('name', '=', 'Director')->first() ? 'Director(a)' : 'Profesor(a)';
         } elseif ($administrative_staff) {
             $data["person"] = $administrative_staff;
             $data["profile"] = 'Personal Administrativo';
         } elseif ($data["user"]->student) {
             $data["person"] = $data["user"]->student;
             $data["profile"] = 'Alumno';
         } else {
             // webmaster, entonces simular que es un profesor
             $person = new Teacher();
             $person->names = 'Webmaster';
             $person->lastname = 'Webmaster';
             $person->birthdate = date('d-m-Y', strtotime('15-03-1993'));
             $person->telephone = '966620849';
             $data["person"] = $person;
             $data["profile"] = 'Webmaster';
         }
         return View::make('users/my_account', $data);
     } else {
         return View::make('error/error');
     }
 }
 public function home()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["permisos"] = [];
         //Session::get('permisos');
         $data["periodo_actual"] = null;
         //Periodo::getPeriodoActual()->get();
         $data["usuario_ya_inscrito"] = true;
         /*if(!$data["periodo_actual"]->isEmpty()){
         			$data["periodo_actual"] = $data["periodo_actual"][0];
         			$usuario_ya_existe = UsersPeriodo::getUsersPeriodoByUserXPeriodo($data["user"]->id,$data["periodo_actual"]->idperiodos)->get();				
         			if($usuario_ya_existe->isEmpty()){
         				$data["usuario_ya_inscrito"] = false;
         			}
         		}
         		else{
         			$data["periodo_actual"] = array();
         		}
         		if(in_array('side_aprobar_padrinos',$data["permisos"])){
         			$data["prepadrinos"] = Prepadrino::all()->count();
         		}
         		if(in_array('side_listar_convocatorias',$data["permisos"])){
         			$periodo_actual = Periodo::getPeriodoActual()->get();
         			if($periodo_actual->isEmpty()){
         				$data["postulantes"] = 0;
         				$data["idperiodos"] = null;
         			}else{
         				$aprobacion = null;
         				$periodo_actual = $periodo_actual[0];
         				$data["postulantes"] = PostulantesPeriodo::getPostulantesPorPeriodoFase($periodo_actual->idperiodos,1,$aprobacion)->get()->count();
         				$data["idperiodos"] = $periodo_actual->idperiodos;
         			}
         		}
         		if(in_array('side_aprobar_colegios',$data["permisos"])){
         			$data["precolegios"] = Precolegio::all()->count();
         		}
         		if(in_array('side_listar_usuarios',$data["permisos"])){
         			$data["usuarios"] = User::all()->count();
         		}
         		if(in_array('side_mis_eventos',$data["permisos"])){
         			return Redirect::to('/eventos/mis_eventos');
         		}*/
         $administrative_staff = AdministrativeStaff::where('user_id', '=', $data["user"]->id)->first();
         if ($data["user"]->teacher) {
             $data["names"] = $data["user"]->teacher->names;
         } elseif ($administrative_staff) {
             $data["names"] = $administrative_staff->names;
         } elseif ($data["user"]->student) {
             $data["names"] = $data["user"]->student->names;
         } else {
             $data["names"] = 'Webmaster';
         }
         return View::make('dashboard/dashboard', $data);
     } else {
         return View::make('error/error');
     }
 }
 public function delete_administrative_staff()
 {
     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_personal_administrativo', $data["actions"])) {
             $administrative_staff_id = Input::get('administrative_staff_id');
             $administrative_staff = AdministrativeStaff::find($administrative_staff_id);
             $user = $administrative_staff->user;
             $user->delete();
             $administrative_staff->delete();
             // Llamo a la función para registrar el log de auditoria
             $log_description = "Se eliminó el Personal Administrativo con id {{$administrative_staff->id}}";
             Helpers::registerLog(5, $log_description);
             Session::flash('message', 'Se eliminó correctamente el Personal Administrativo.');
             return Redirect::to('people/list_administrative_staff');
         } 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');
     }
 }
 public function show_notice($id)
 {
     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_ver_comunicados', $data["actions"])) {
             $current_ay = AcademicYear::getCurrentAcademicYear();
             if (!$current_ay) {
                 return View::make('notices/academic_year_error', $data);
             }
             $data["notice_info"] = Notice::find($id);
             if (!$data["notice_info"]) {
                 Session::flash('error', 'No se encontró el Comunicado solicitado.');
                 return Redirect::to('notices/view_notices');
             }
             if ($data["user"]->profiles()->where('name', '=', 'Alumno')->first()) {
                 $data["can_delete"] = false;
             } elseif ($data["user"]->profiles()->where('name', '=', 'Director')->first()) {
                 $data["can_delete"] = true;
             } elseif ($data["user"]->profiles()->where('name', '=', 'Profesor')->first()) {
                 if ($data["user"]->teacher->id == $data["notice_info"]->teacher_id) {
                     $data["can_delete"] = true;
                 } else {
                     $data["can_delete"] = false;
                 }
             } elseif ($data["user"]->profiles()->where('name', '=', 'Personal Administrativo')->first()) {
                 if (AdministrativeStaff::where('user_id', '=', $data["user"]->id)->first()->id == $data["notice_info"]->administrative_staff_id) {
                     $data["can_delete"] = true;
                 } else {
                     $data["can_delete"] = false;
                 }
             } else {
                 $data["can_delete"] = true;
             }
             return View::make('notices/show_notice', $data);
         } 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');
     }
 }