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 .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 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)