1
0
forked from erp-dev/erp

feat: auto complete stock change

This commit is contained in:
2025-11-10 09:01:25 +08:00
parent 37c2e7d723
commit b2078dfa46
82 changed files with 1071 additions and 1336 deletions

View File

@@ -17,16 +17,37 @@ Including another URLconf
from django.contrib import admin
from django.urls import path, include
from stock.views import router
from rest_framework.response import Response
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
from sse.views import create_sse_event, push_sse_event
from rest_framework_simplejwt.views import (
TokenObtainPairView,
TokenRefreshView,
# TokenRefreshView,
)
from drf_spectacular.views import SpectacularAPIView, SpectacularSwaggerView
class CustomTokenObtainPairView(TokenObtainPairView):
"""自定义登录视图"""
def post(self, request, *args, **kwargs):
try:
resp = super().post(request, *args, **kwargs)
if resp.status_code == 200:
srz = self.get_serializer(data=request.data)
srz.is_valid()
user = srz.user
if not hasattr(user, 'employee'):
# 非员工用户,直接返回登录失败
return Response({'detail': '无绑定的员工身份'}, status=401)
return resp
except Exception as e:
return Response({'detail': '无法登录'}, status=400)
urlpatterns = [
# JWT 登录
path('api/auth/login/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
path('api/auth/login/', CustomTokenObtainPairView.as_view(), name='token_obtain_pair'),
# path('api/auth/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
# API 文档
@@ -37,4 +58,6 @@ urlpatterns = [
path('stock/', router.urls),
path('api/v1/', include('api_v1.urls')),
path('api/backend/', include('api_man.urls')),
path('sse/', create_sse_event, name='sse_event'),
path('sse/push/', push_sse_event, name='push_sse_event'),
]