|
@@ -8,7 +8,7 @@ from rest_framework.views import APIView
|
|
from rest_framework.serializers import ValidationError
|
|
from rest_framework.serializers import ValidationError
|
|
from utils.permission import permission_required, isLogin, check_permission
|
|
from utils.permission import permission_required, isLogin, check_permission
|
|
from django.contrib.auth.models import Group, Permission
|
|
from django.contrib.auth.models import Group, Permission
|
|
-from rest_framework_jwt.views import ObtainJSONWebToken, VerifyJSONWebToken, RefreshJSONWebToken
|
|
|
|
|
|
+from rest_framework_jwt.views import ObtainJSONWebToken, RefreshJSONWebToken
|
|
from utils import response_error, response_ok
|
|
from utils import response_error, response_ok
|
|
from django.contrib.auth import get_user_model
|
|
from django.contrib.auth import get_user_model
|
|
from django.utils import timezone
|
|
from django.utils import timezone
|
|
@@ -31,16 +31,17 @@ class LoginView(ObtainJSONWebToken):
|
|
try:
|
|
try:
|
|
ser = self.serializer_class(data=request.data)
|
|
ser = self.serializer_class(data=request.data)
|
|
ser.request = request
|
|
ser.request = request
|
|
- # TODO 判断门店是否在用、在有效期内
|
|
|
|
|
|
+ # 判断门店是否在用、在有效期内
|
|
if ser.is_valid(raise_exception=True):
|
|
if ser.is_valid(raise_exception=True):
|
|
user = User.objects.filter(id=ser.validated_data['user_id']).first()
|
|
user = User.objects.filter(id=ser.validated_data['user_id']).first()
|
|
store = Store.objects.filter(id=user.store_id).first()
|
|
store = Store.objects.filter(id=user.store_id).first()
|
|
- if store.enable == False or (store.end_date.strftime('%Y-%m-%d')) < (timezone.now().strftime('%Y-%m-%d')):
|
|
|
|
- raise CustomError(u'当前帐号不可用,请联系管理员!')
|
|
|
|
|
|
+ if store and (store.enable == False or (store.end_date.strftime('%Y-%m-%d')) < (timezone.now().strftime('%Y-%m-%d')) ):
|
|
|
|
+ raise CustomError(u'当前店面不可用,请联系管理员!')
|
|
return response_ok(ser.validated_data)
|
|
return response_ok(ser.validated_data)
|
|
except ValidationError as e:
|
|
except ValidationError as e:
|
|
return response_error(e.detail['error'][0])
|
|
return response_error(e.detail['error'][0])
|
|
-
|
|
|
|
|
|
+ except CustomError as e:
|
|
|
|
+ return response_error(str(e))
|
|
|
|
|
|
class RefreshTokenView(RefreshJSONWebToken):
|
|
class RefreshTokenView(RefreshJSONWebToken):
|
|
|
|
|
|
@@ -48,10 +49,16 @@ class RefreshTokenView(RefreshJSONWebToken):
|
|
try:
|
|
try:
|
|
ser = self.serializer_class(data=request.data)
|
|
ser = self.serializer_class(data=request.data)
|
|
if ser.is_valid(raise_exception=True):
|
|
if ser.is_valid(raise_exception=True):
|
|
|
|
+ user = ser.validated_data['user']
|
|
|
|
+ store = Store.objects.filter(id=user.store_id).first()
|
|
|
|
+ if store and (store.enable == False or (store.end_date.strftime('%Y-%m-%d')) < (
|
|
|
|
+ timezone.now().strftime('%Y-%m-%d')) ):
|
|
|
|
+ raise CustomError(u'当前店面不可用,请联系管理员!')
|
|
return response_ok({'token': ser.validated_data['token']})
|
|
return response_ok({'token': ser.validated_data['token']})
|
|
except ValidationError as e:
|
|
except ValidationError as e:
|
|
- return response_error(u'登录状态失效,请重新登录')
|
|
|
|
-
|
|
|
|
|
|
+ return response_ok({'error':True})
|
|
|
|
+ except CustomError as e:
|
|
|
|
+ return response_error(str(e))
|
|
|
|
|
|
class ChangePassword(APIView):
|
|
class ChangePassword(APIView):
|
|
|
|
|