fix(mail): UUIDField 查询传 User 实例返回空——filter(UserUUID=request.user) 改传 user.UserUUID(修复企业邮箱列表消失)
This commit is contained in:
1 parent
c8d4cd7fbf
commit
2ab4b7d9dc
3 files changed
+12
-12
No files matched your search
@@ -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}
|
||||
|
||||
@@ -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 ''
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in new issue
Block a user