From 0afff857e772811fc8a84b77cc8977b7e98f487b Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Wed, 2 Nov 2022 11:50:28 +0100 Subject: [PATCH] Provide tag information for Celery progress messages via GraphQL --- .../core/assets/components/CeleryProgress.vue | 23 +------------------ .../assets/components/celeryProgress.graphql | 1 + aleksis/core/schema.py | 5 ++++ 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/aleksis/core/assets/components/CeleryProgress.vue b/aleksis/core/assets/components/CeleryProgress.vue index 65cb9c683..23e99851b 100644 --- a/aleksis/core/assets/components/CeleryProgress.vue +++ b/aleksis/core/assets/components/CeleryProgress.vue @@ -21,7 +21,7 @@ v-if="data" v-for="(message, idx) in progress.messages" dense - :type="STYLE_CLASSES[message.level]" + :type="message.tag" transition="slide-x-transition" :key="idx" > @@ -66,21 +66,6 @@ import BackButton from "./BackButton.vue"; import MessageBox from "./MessageBox.vue"; -const STYLE_CLASSES = { - 10: 'info', - 20: 'info', - 25: 'success', - 30: 'warning', - 40: 'error', -}; - -const ICONS = { - 10: 'mdi-information', - 20: 'mdi-information', - 25: 'mdi-check-circle', - 30: 'mdi-alert-outline', - 40: 'mdi-alert-octagon-outline', -}; export default { name: 'CeleryProgress', components: {BackButton, MessageBox}, @@ -95,12 +80,6 @@ export default { pollInterval: 1000, } }, - data() { - return { - STYLE_CLASSES, - ICONS, - }; - }, computed: { progress() { return this.celeryProgressByTaskId; diff --git a/aleksis/core/assets/components/celeryProgress.graphql b/aleksis/core/assets/components/celeryProgress.graphql index 49b03ef82..d6e12adbf 100644 --- a/aleksis/core/assets/components/celeryProgress.graphql +++ b/aleksis/core/assets/components/celeryProgress.graphql @@ -11,6 +11,7 @@ query($taskId: String!){ messages { level message + tag } meta { title diff --git a/aleksis/core/schema.py b/aleksis/core/schema.py index 7fd551236..752e704d0 100644 --- a/aleksis/core/schema.py +++ b/aleksis/core/schema.py @@ -1,4 +1,5 @@ from django.conf import settings +from django.contrib.messages.constants import DEFAULT_TAGS from django.utils import translation import graphene @@ -61,6 +62,7 @@ class SystemPropertiesType(graphene.ObjectType): class CeleryProgressMessage(ObjectType): message = graphene.String(required=True) level = graphene.Int(required=True) + tag = graphene.String(required=True) def resolve_message(root, info, **kwargs): return root[1] @@ -68,6 +70,9 @@ class CeleryProgressMessage(ObjectType): def resolve_level(root, info, **kwargs): return root[0] + def resolve_tag(root, info, **kwargs): + return DEFAULT_TAGS.get(root[0], "info") + class CeleryProgressAdditionalButtonType(ObjectType): title = graphene.String(required=True) -- GitLab