def ready(self): super().ready() from django.conf import settings # noqa # Autodiscover various modules defined by AlekSIS autodiscover_modules("form_extensions", "model_extensions", "checks") sitepreferencemodel = self.get_model("SitePreferenceModel") personpreferencemodel = self.get_model("PersonPreferenceModel") grouppreferencemodel = self.get_model("GroupPreferenceModel") preference_models.register(sitepreferencemodel, site_preferences_registry) preference_models.register(personpreferencemodel, person_preferences_registry) preference_models.register(grouppreferencemodel, group_preferences_registry) self._load_data_checks() from .health_checks import ( BackupJobHealthCheck, DataChecksHealthCheckBackend, DbBackupAgeHealthCheck, MediaBackupAgeHealthCheck, ) plugin_dir.register(DataChecksHealthCheckBackend) plugin_dir.register(DbBackupAgeHealthCheck) plugin_dir.register(MediaBackupAgeHealthCheck) plugin_dir.register(BackupJobHealthCheck)
from django.db import models from django.utils.translation import gettext_lazy as _ from dynamic_preferences.models import PerInstancePreferenceModel from dynamic_preferences.registries import PerInstancePreferenceRegistry, preference_models from tournaments.models import Tournament tournament_preferences_registry = PerInstancePreferenceRegistry() class TournamentPreferenceModel(PerInstancePreferenceModel): instance = models.ForeignKey(Tournament, models.CASCADE, related_name="preferences", verbose_name=_("instance")) registry = tournament_preferences_registry class Meta(PerInstancePreferenceModel.Meta): app_label = "options" verbose_name = _("tournament preference") verbose_name_plural = _("tournament preferences") preference_models.register(TournamentPreferenceModel, tournament_preferences_registry)
def ready(self): TournamentPreferenceModel = self.get_model('TournamentPreferenceModel') # noqa: N806 preference_models.register(TournamentPreferenceModel, tournament_preferences_registry)
from django.db import models from tournaments.models import Tournament from dynamic_preferences.models import PerInstancePreferenceModel from dynamic_preferences.registries import PerInstancePreferenceRegistry, preference_models tournament_preferences_registry = PerInstancePreferenceRegistry() class TournamentPreferenceModel(PerInstancePreferenceModel): instance = models.ForeignKey(Tournament, related_name="preferences") registry = tournament_preferences_registry class Meta(PerInstancePreferenceModel.Meta): app_label = "options" verbose_name = "tournament preference" preference_models.register(TournamentPreferenceModel, tournament_preferences_registry)
@property def registry(self): return preference_models.get_by_instance(self.instance) class UserPreferenceModel(PerInstancePreferenceModel): instance = models.ForeignKey(settings.AUTH_USER_MODEL) class Meta(PerInstancePreferenceModel.Meta): app_label = 'dynamic_preferences' verbose_name = "user preference" verbose_name_plural = "user preferences" preference_models.register(UserPreferenceModel, user_preferences_registry) preference_models.register(GlobalPreferenceModel, global_preferences_registry) global_preferences_registry.preference_model = GlobalPreferenceModel # Create default preferences for new instances from django.db.models.signals import post_save def create_default_per_instance_preferences(sender, created, instance, **kwargs): """Create default preferences for PerInstancePreferenceModel""" if created: try: registry = preference_models.get_by_instance(instance)
def ready(self): SitePreference = self.get_model('SitePreference') preference_models.register(SitePreference, site_preferences_registry)