diff --git a/gvsds/apps/gerp/oidc.py b/gvsds/apps/gerp/oidc.py index f8f05151..af8e6163 100644 --- a/gvsds/apps/gerp/oidc.py +++ b/gvsds/apps/gerp/oidc.py @@ -229,7 +229,7 @@ def _VerifyGerpSession(request): def _GetGiteaIdentity(user): """按 GERP 用户查 Gitea 绑定(GiteaLogin + Email),返回 dict 或 None。""" from .models import UserGiteaAccount - rec = UserGiteaAccount.objects.filter(UserUUID=user, Status=1).first() + rec = UserGiteaAccount.objects.filter(UserUUID=user.UserUUID, Status=1).first() if rec is None: return None return {'login': rec.GiteaLogin, 'email': rec.Email} diff --git a/gvsds/apps/gerp/views/gitea.py b/gvsds/apps/gerp/views/gitea.py index 854e2f79..65828520 100644 --- a/gvsds/apps/gerp/views/gitea.py +++ b/gvsds/apps/gerp/views/gitea.py @@ -126,7 +126,7 @@ class GiteaApplyView(ELTAuthenticatedAPIView): return Response({'code': 1, 'msg': '无法识别当前用户'}, status=401) # 每个用户最多一个 Gitea 账号 - if UserGiteaAccount.objects.filter(UserUUID=request.user).exists(): + if UserGiteaAccount.objects.filter(UserUUID=request.user.UserUUID).exists(): return Response({'code': 1, 'msg': '您已拥有 Gitea 账号,一个用户只能申请一个'}, status=400) login = (request.data.get('GiteaLogin') or '').strip() @@ -147,7 +147,7 @@ class GiteaApplyView(ELTAuthenticatedAPIView): # 使用工作邮箱("我的邮箱"的 xxx@gvsds.com)注册 Gitea; # 未申请企业邮箱则引导先申请 - mailbox = UserMailbox.objects.filter(UserUUID=request.user, Status=1).first() + mailbox = UserMailbox.objects.filter(UserUUID=request.user.UserUUID, Status=1).first() if mailbox is None: return Response({'code': 1, 'msg': '请先申请企业邮箱,再申请 Gitea 账号'}, status=400) email = mailbox.MailboxName @@ -212,7 +212,7 @@ class GiteaMyAccountView(ELTAuthenticatedAPIView): permission_classes = [IsAuthenticated, _GITEA_ACCESS] def get(self, request): - acct = UserGiteaAccount.objects.filter(UserUUID=request.user).first() + acct = UserGiteaAccount.objects.filter(UserUUID=request.user.UserUUID).first() session = GiteaApiClient.SessionConfig() if acct is None: return Response({'code': 0, 'data': {'Account': None, 'Session': session}}) @@ -238,7 +238,7 @@ class GiteaChangePasswordView(ELTAuthenticatedAPIView): permission_classes = [IsAuthenticated, _GITEA_ACCESS] def post(self, request): - acct = UserGiteaAccount.objects.filter(UserUUID=request.user).first() + acct = UserGiteaAccount.objects.filter(UserUUID=request.user.UserUUID).first() if acct is None: return Response({'code': 1, 'msg': '尚未申请 Gitea 账号'}, status=400) new_password = request.data.get('NewPassword') or '' @@ -262,7 +262,7 @@ class GiteaAvatarView(ELTAuthenticatedAPIView): permission_classes = [IsAuthenticated, _GITEA_ACCESS] def post(self, request): - acct = UserGiteaAccount.objects.filter(UserUUID=request.user).first() + acct = UserGiteaAccount.objects.filter(UserUUID=request.user.UserUUID).first() if acct is None: return Response({'code': 1, 'msg': '尚未申请 Gitea 账号'}, status=400) password = request.data.get('Password') or '' diff --git a/gvsds/apps/gerp/views/mail.py b/gvsds/apps/gerp/views/mail.py index 8b56378f..f6ddbf51 100644 --- a/gvsds/apps/gerp/views/mail.py +++ b/gvsds/apps/gerp/views/mail.py @@ -225,7 +225,7 @@ class MailApplyView(ELTAuthenticatedAPIView): return Response({'code': 1, 'msg': '无法识别当前用户'}, status=401) # 每个用户最多申请 _MAILBOX_LIMIT 个邮箱 - if UserMailbox.objects.filter(UserUUID=request.user).count() >= _MAILBOX_LIMIT: + if UserMailbox.objects.filter(UserUUID=request.user.UserUUID).count() >= _MAILBOX_LIMIT: return Response({'code': 1, 'msg': f'邮箱数量已达上限(最多 {_MAILBOX_LIMIT} 个)'}, status=400) mailbox_name = (request.data.get('MailboxName') or '').strip() @@ -300,7 +300,7 @@ class MailChangePasswordView(ELTAuthenticatedAPIView): def post(self, request): mailbox_name = (request.data.get('MailboxName') or '').strip().lower() - queryset = UserMailbox.objects.filter(UserUUID=request.user, Status=1) + queryset = UserMailbox.objects.filter(UserUUID=request.user.UserUUID, Status=1) mailbox = queryset.filter(MailboxName=mailbox_name).first() if mailbox_name else queryset.first() if mailbox is None: return Response({'code': 1, 'msg': '未找到该邮箱' if mailbox_name else '您尚未申请邮箱'}, status=404) @@ -331,7 +331,7 @@ class MailMyMailboxView(ELTAuthenticatedAPIView): def get(self, request): session = StalwartMailManager.SessionConfig() - rows = list(UserMailbox.objects.filter(UserUUID=request.user).order_by('-CreateTime')) + rows = list(UserMailbox.objects.filter(UserUUID=request.user.UserUUID).order_by('-CreateTime')) mailbox_list = [ { 'MailboxName': m.MailboxName, @@ -417,7 +417,7 @@ class MailLoginView(ELTAuthenticatedAPIView): def post(self, request): mailbox_name = (request.data.get('MailboxName') or '').strip().lower() - queryset = UserMailbox.objects.filter(UserUUID=request.user, Status=1) + queryset = UserMailbox.objects.filter(UserUUID=request.user.UserUUID, Status=1) mailbox = queryset.filter(MailboxName=mailbox_name).first() if mailbox_name else queryset.first() if mailbox is None: return Response({'code': 1, 'msg': '未找到该邮箱' if mailbox_name else '您尚未申请邮箱'}, status=404) @@ -534,7 +534,7 @@ class MailContactsView(ELTAuthenticatedAPIView): from django.db.models import Q from gvsdsdk.model_utils import UUIDObj from ..models import MailContact - qs = MailContact.objects.filter(UserUUID=request.user) + qs = MailContact.objects.filter(UserUUID=request.user.UserUUID) search = (request.GET.get('Search') or request.GET.get('search') or '').strip() if search: qs = qs.filter(Q(ContactEmail__icontains=search) | Q(ContactName__icontains=search)) @@ -566,7 +566,7 @@ class MailContactsView(ELTAuthenticatedAPIView): def delete(self, request): from gvsdsdk.model_utils import UUIDObj from ..models import MailContact - qs = MailContact.objects.filter(UserUUID=request.user) + qs = MailContact.objects.filter(UserUUID=request.user.UserUUID) uuid_str = request.data.get('MailContactUUID') or '' email = (request.data.get('ContactEmail') or '').strip().lower() obj = None