Skip to content

Commit

Permalink
move post-migrate, autodiscover and/or system checks to edc-appconfig
Browse files Browse the repository at this point in the history
  • Loading branch information
erikvw committed Jan 26, 2024
1 parent ae3da42 commit b8b7527
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 21 deletions.
18 changes: 0 additions & 18 deletions edc_list_data/apps.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,9 @@
import sys

from django.apps import AppConfig as DjangoAppConfig
from django.core.management.color import color_style
from django.db.models.signals import post_migrate

from .site_list_data import get_autodiscover_enabled, site_list_data

style = color_style()


def post_migrate_list_data(sender=None, **kwargs):
if get_autodiscover_enabled():
sys.stdout.write(style.MIGRATE_HEADING("Updating list data:\n"))

site_list_data.autodiscover()
site_list_data.load_data()
sys.stdout.write("Done.\n")
sys.stdout.flush()


class AppConfig(DjangoAppConfig):
name = "edc_list_data"
verbose_name = "Edc List Data"

def ready(self):
post_migrate.connect(post_migrate_list_data, sender=self)
15 changes: 15 additions & 0 deletions edc_list_data/post_migrate_signals.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import sys

from django.core.management.color import color_style

style = color_style()


def post_migrate_list_data(sender=None, **kwargs):
from .site_list_data import get_autodiscover_enabled, site_list_data

if get_autodiscover_enabled():
sys.stdout.write(style.MIGRATE_HEADING("Updating list data:\n"))
site_list_data.load_data()
sys.stdout.write("Done.\n")
sys.stdout.flush()
6 changes: 3 additions & 3 deletions edc_list_data/site_list_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def register(self, module, app_name=None):
else:
self.app_names.append(app_name)
opts = copy.deepcopy(self._get_options(module))
sys.stdout.write(f" + registered {self.module_name} from '{module.__name__}'\n")
sys.stdout.write(f" - registered {self.module_name} from '{module.__name__}'\n")
if opts.get(self.module_name):
self._replace_list_data_or_raise_on_duplicate(module, opts)
self.registry[module.__name__] = opts
Expand Down Expand Up @@ -120,8 +120,8 @@ def _replace_default_list_data_for_model(
) -> None:
self.registry[default_module_name][self.module_name].pop(label_lower)
sys.stdout.write(
f" - {self.module_name} from `{full_module_name}.{label_lower}`\n"
f" has replaced `{default_module_name}.{label_lower}`.\n"
f" + {self.module_name} from `{full_module_name}.{label_lower}`\n"
f" has replaced `{default_module_name}.{label_lower}`.\n"
)

@staticmethod
Expand Down
23 changes: 23 additions & 0 deletions runtests.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,16 @@
calling_file=__file__,
APP_NAME=app_name,
BASE_DIR=base_dir,
SILENCED_SYSTEM_CHECKS=[
"sites.E101",
"edc_navbar.E002",
"edc_navbar.E003",
"edc_consent.E001",
"edc_sites.E001",
"edc_sites.E002",
],
EDC_LIST_DATA_ENABLE_AUTODISCOVER=False,
SUBJECT_VISIT_MODEL="edc_visit_tracking.subjectvisit",
INSTALLED_APPS=[
"django.contrib.admin",
"django.contrib.auth",
Expand All @@ -23,9 +32,23 @@
"multisite",
"django_crypto_fields.apps.AppConfig",
"django_revision.apps.AppConfig",
"edc_appointment.apps.AppConfig",
"edc_auth.apps.AppConfig",
"edc_lab.apps.AppConfig",
"edc_action_item.apps.AppConfig",
"edc_metadata.apps.AppConfig",
"edc_registration.apps.AppConfig",
"edc_identifier.apps.AppConfig",
"edc_visit_schedule.apps.AppConfig",
"edc_data_manager.apps.AppConfig",
"edc_form_runners.apps.AppConfig",
"edc_visit_tracking.apps.AppConfig",
"edc_notification.apps.AppConfig",
"edc_sites.apps.AppConfig",
"edc_label.apps.AppConfig",
"edc_list_data.apps.AppConfig",
"my_list_app.apps.AppConfig",
"edc_appconfig.apps.AppConfig",
],
add_dashboard_middleware=True,
use_test_urls=True,
Expand Down

0 comments on commit b8b7527

Please sign in to comment.