From 073e7e31e17000052be79da69971676cb1b54fa6 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Mon, 21 Jul 2025 10:45:06 +0800 Subject: [PATCH] fix: Professional version opens the application dialogue interface with an error message without authorization #3677 (#3679) --- apps/chat/serializers/chat_authentication.py | 23 ++++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/chat/serializers/chat_authentication.py b/apps/chat/serializers/chat_authentication.py index adce0ab67..682d8dce5 100644 --- a/apps/chat/serializers/chat_authentication.py +++ b/apps/chat/serializers/chat_authentication.py @@ -7,15 +7,13 @@ @desc: """ import uuid_utils.compat as uuid - from django.core import signing from django.core.cache import cache from django.db.models import QuerySet from django.utils.translation import gettext_lazy as _ from rest_framework import serializers -from application.models import ApplicationAccessToken, ChatUserType, Application, ApplicationTypeChoices, \ - ApplicationVersion +from application.models import ApplicationAccessToken, ChatUserType, Application, ApplicationVersion from application.serializers.application import ApplicationSerializerModel from common.auth.common import ChatUserToken, ChatAuthentication from common.constants.authentication_type import AuthenticationType @@ -68,15 +66,16 @@ class AuthProfileSerializer(serializers.Serializer): application_setting_model = DatabaseModelManage.get_model('application_setting') if application_setting_model: application_setting = QuerySet(application_setting_model).filter(application_id=application_id).first() - profile = { - 'icon': application_setting.application.icon, - 'application_name': application_setting.application.name, - 'bg_icon': application_setting.chat_background, - 'authentication': application_access_token.authentication, - 'authentication_type': application_access_token.authentication_value.get( - 'type', 'password'), - 'login_value': application_access_token.authentication_value.get('login_value', []) - } + if application_setting is not None: + profile = { + 'icon': application_setting.application.icon, + 'application_name': application_setting.application.name, + 'bg_icon': application_setting.chat_background, + 'authentication': application_access_token.authentication, + 'authentication_type': application_access_token.authentication_value.get( + 'type', 'password'), + 'login_value': application_access_token.authentication_value.get('login_value', []) + } return profile