from django.contrib import admin from django.http import HttpRequest from .models.aircrafts import Aircraft from .models.courses import Course from .models.students import Student from .models.missions import MissionProfile from .models.weekpref import WeekPreference from.models.instructors import Instructor from .admins.aircraft_adm import AircraftAdmin from .admins.course_adm import CourseAdmin from .admins.student_adm import StudentAdmin from .admins.mission_adm import MissionProfileAdmin from .admins.weekpref_adm import WeekPreferenceAdmin from .admins.instructor_admin import InstructorAdmin from django.contrib.admin import AdminSite from os import environ # User website under /user/ URL class FlightSlotUserSite(AdminSite): site_header = "Flight Scheduler 🛫" site_title = "Flight Scheduler 🛫" index_title = "Welcome to CantorAir Flight Scheduler Portal" def get_app_list(self, request: HttpRequest, *args, **kwargs): app_list = super().get_app_list(request) if not request.user.is_superuser: self.enable_nav_sidebar = False return app_list # Register only user visible models flightslot_user = FlightSlotUserSite(name="user_site") flightslot_user.register(WeekPreference, WeekPreferenceAdmin) # Get version for debug purposes ver: str = environ.get("VERSION", "dev") # Register all visible models admin.site.site_header = f"Flight Scheduler Admin 🛫 - ver.{ver}" admin.site.site_title = f"Flight Scheduler Admin 🛫 - ver.{ver}" admin.site.index_title = "Welcome to CantorAir Flight Scheduler Administrator Portal" admin.site.register(Aircraft, AircraftAdmin) admin.site.register(Course, CourseAdmin) admin.site.register(MissionProfile, MissionProfileAdmin) admin.site.register(Student, StudentAdmin) admin.site.register(WeekPreference, WeekPreferenceAdmin) admin.site.register(Instructor, InstructorAdmin)