diff --git a/aleksis/core/schema.py b/aleksis/core/schema.py index ceac1e8457e4e28a4a54ccf0e9c9801223afb9a0..a29ef5ee222ed2ad15a2d28da939d9d7752a0bb0 100644 --- a/aleksis/core/schema.py +++ b/aleksis/core/schema.py @@ -16,6 +16,11 @@ class PersonType(DjangoObjectType): class Meta: model = Person + full_name = graphene.Field(graphene.String) + + def resolve_full_name(root: Person, info, **kwargs): + return root.full_name + class GroupType(DjangoObjectType): class Meta: diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index e1a608fe1054bf514ee9ffb55e7924f2b2e5a158..45a2253613b74d97a59c7b7711ae8c5ab31af444 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -73,17 +73,17 @@ def get_app_packages(only_official: bool = False) -> Sequence[str]: def get_app_module(app: str, name: str) -> Optional[ModuleType]: - """Get the settings module of an app.""" + """Get a named module of an app.""" pkg = ".".join(app.split(".")[:-2]) - mod_settings = None + while "." in pkg: try: - return import_module(f"{app}.{name}") + return import_module(f"{pkg}.{name}") except ImportError: # Import errors are non-fatal. pkg = ".".join(pkg.split(".")[:-1]) - # The app does not have settings + # The app does not have this module return None diff --git a/assets/js/vue/app.js b/assets/js/vue/app.js index 29eb146bea38ea9b7f3174c80be97d2f067538f1..ca27cd1ccc123b0fa4358afdc6247f051bf4b006 100644 --- a/assets/js/vue/app.js +++ b/assets/js/vue/app.js @@ -77,6 +77,7 @@ const app = new Vue({ django: window.django, // FIXME: maybe just use window.django in every component or find a suitable way to access this property everywhere showCacheAlert: false, + languageCode: JSON.parse(document.getElementById("current-language").textContent), }), components: { "cache-notification": CacheNotification,