Source code for gaia_cob_pmp.app.apps
from logging import Logger, getLogger
from django.apps import AppConfig
from iommi import register_search_fields
from iommi.path import register_path_decoding
logger: Logger = getLogger(__name__)
[docs]
class MainAppConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "app"
verbose_name = "Proposal Management Platform"
default = True
[docs]
def ready(self):
logger.info("Main app is ready.")
from app.models import (
FluxUnit,
Instrument,
Observation,
Project,
Proposal,
Researcher,
Source,
WavelengthUnit,
)
# Iommi path decoding and settings for model searches
register_search_fields(
model=Instrument, search_fields=["name", "observatory"], allow_non_unique=True
)
register_path_decoding(instrument=Instrument)
register_path_decoding(observation=Observation)
register_search_fields(
model=Project,
search_fields=["name", "principal_investigator__user__username"],
allow_non_unique=True,
)
register_path_decoding(project=Project)
register_path_decoding(proposal=Proposal)
register_search_fields(
model=Source,
search_fields=["name", "other_names", "gaiainfo__gaia_id"],
allow_non_unique=True,
)
register_path_decoding(source=Source)
register_search_fields(
model=Researcher, search_fields=["user", "affiliations"], allow_non_unique=True
)
register_path_decoding(researcher=Researcher)
register_search_fields(model=WavelengthUnit, search_fields=["name"], allow_non_unique=True)
register_search_fields(model=FluxUnit, search_fields=["name"], allow_non_unique=True)