seaislee1209 add3af7904 feat: v0.7.0 — 确认弹窗 + 秒数显示统一 + 弹窗拖拽修复 + 团队模型完善
- 新增 ConfirmModal 组件,为6处危险操作添加二次确认弹窗
  (禁用团队/用户/成员、删除视频×3处)
- 所有秒数显示统一为千位分隔符+s后缀(如 36,000s)
- 修复 modal/drawer 在 input 中拖拽导致误关闭的 bug
  (onClick → onMouseDown + e.target === e.currentTarget)
- 团队模型完善:三种角色(超管/团管/成员)、四层额度检查、
  团管成员管理页、超管团队管理页
- 关闭公开注册,所有账号由管理员创建

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 20:16:21 +08:00

46 lines
1.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from rest_framework.permissions import BasePermission
class IsSuperAdmin(BasePermission):
"""超级管理员is_staff=True 且 team=NULL"""
def has_permission(self, request, view):
return (
request.user
and request.user.is_authenticated
and request.user.is_staff
and request.user.team is None
)
class IsTeamAdmin(BasePermission):
"""团队管理员is_team_admin=True 且 team≠NULL"""
def has_permission(self, request, view):
return (
request.user
and request.user.is_authenticated
and request.user.is_team_admin
and request.user.team is not None
)
class IsTeamAdminOrSuperAdmin(BasePermission):
"""团队管理员或超级管理员"""
def has_permission(self, request, view):
if not (request.user and request.user.is_authenticated):
return False
if request.user.is_staff and request.user.team is None:
return True
if request.user.is_team_admin and request.user.team is not None:
return True
return False
class IsTeamMember(BasePermission):
"""团队成员含团管team≠NULL"""
def has_permission(self, request, view):
return (
request.user
and request.user.is_authenticated
and request.user.team is not None
)