|
@@ -1708,6 +1708,7 @@ class v3LoginView(TemplateView):
|
|
def validates(self, request_dict, response):
|
|
def validates(self, request_dict, response):
|
|
username = request_dict.get('userName', None)
|
|
username = request_dict.get('userName', None)
|
|
password = request_dict.get('userPwd', None)
|
|
password = request_dict.get('userPwd', None)
|
|
|
|
+ subscribe = request_dict.get('subscribe', None)
|
|
if not username or not password:
|
|
if not username or not password:
|
|
return response.json(111)
|
|
return response.json(111)
|
|
username = username.strip()
|
|
username = username.strip()
|
|
@@ -1739,34 +1740,37 @@ class v3LoginView(TemplateView):
|
|
else:
|
|
else:
|
|
data_valid = DataValid()
|
|
data_valid = DataValid()
|
|
if data_valid.email_validate(username):
|
|
if data_valid.email_validate(username):
|
|
- return self.do_email_login(username, password, response)
|
|
|
|
|
|
+ return self.do_email_login(username, password, response, subscribe)
|
|
elif data_valid.mobile_validate(username):
|
|
elif data_valid.mobile_validate(username):
|
|
- return self.do_phone_login(username, password, response)
|
|
|
|
|
|
+ return self.do_phone_login(username, password, response, subscribe)
|
|
elif data_valid.name_validate(username):
|
|
elif data_valid.name_validate(username):
|
|
- return self.do_name_login(username, password, response)
|
|
|
|
|
|
+ return self.do_name_login(username, password, response, subscribe)
|
|
else:
|
|
else:
|
|
return response.json(107)
|
|
return response.json(107)
|
|
|
|
|
|
- def do_email_login(self, email, password, response):
|
|
|
|
|
|
+ def do_email_login(self, email, password, response, subscribe):
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
user_qs = Device_User.objects.filter(Q(username=email) | Q(userEmail=email))
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe)
|
|
|
|
|
|
- def do_phone_login(self, phone, password, response):
|
|
|
|
|
|
+ def do_phone_login(self, phone, password, response, subscribe):
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True, user_isValid=True)
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe)
|
|
|
|
|
|
- def do_name_login(self, username, password, response):
|
|
|
|
|
|
+ def do_name_login(self, username, password, response, subscribe):
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
user_qs = Device_User.objects.filter(Q(username=username) | Q(phone=username) | Q(userEmail=username),
|
|
is_active=True, user_isValid=True)
|
|
is_active=True, user_isValid=True)
|
|
- return self.valid_login(user_qs, password, response)
|
|
|
|
|
|
+ return self.valid_login(user_qs, password, response, subscribe)
|
|
|
|
|
|
- def valid_login(self, user_qs, password, response):
|
|
|
|
|
|
+ def valid_login(self, user_qs, password, response, subscribe):
|
|
if not user_qs.exists():
|
|
if not user_qs.exists():
|
|
return response.json(104)
|
|
return response.json(104)
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
# 'phone', 'password', 'userIconPath', 'user_isValid', 'is_active')[0]
|
|
# 'phone', 'password', 'userIconPath', 'user_isValid', 'is_active')[0]
|
|
|
|
+ if subscribe:
|
|
|
|
+ user_qs.update(subscribe_email=subscribe)
|
|
|
|
+
|
|
users = user_qs.values('role__rid', 'role__roleName', 'userID', 'NickName', 'username', 'userEmail',
|
|
users = user_qs.values('role__rid', 'role__roleName', 'userID', 'NickName', 'username', 'userEmail',
|
|
- 'phone', 'password', 'userIconPath', 'fingerprint_enable', 'fingerprint_key')[0]
|
|
|
|
|
|
+ 'phone', 'password', 'userIconPath', 'fingerprint_enable', 'fingerprint_key', 'subscribe_email')[0]
|
|
if not check_password(password, users['password']):
|
|
if not check_password(password, users['password']):
|
|
return response.json(111)
|
|
return response.json(111)
|
|
userID = users['userID']
|
|
userID = users['userID']
|
|
@@ -1799,6 +1803,7 @@ class v3LoginView(TemplateView):
|
|
# res['fingerprint_enable'] = users['fingerprint_enable']
|
|
# res['fingerprint_enable'] = users['fingerprint_enable']
|
|
# res['fingerprint_key'] = CommonService.encode_data(content=users['fingerprint_key'], start=2)
|
|
# res['fingerprint_key'] = CommonService.encode_data(content=users['fingerprint_key'], start=2)
|
|
res['authType'] = auth_type
|
|
res['authType'] = auth_type
|
|
|
|
+ res['subscribe_email'] = users['subscribe_email'] if users['subscribe_email'] is not None else ''
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
else:
|
|
else:
|
|
return response.json(tko.code)
|
|
return response.json(tko.code)
|
|
@@ -3619,6 +3624,40 @@ class LocalUserView(View):
|
|
return self.do_login(user_qs, response)
|
|
return self.do_login(user_qs, response)
|
|
|
|
|
|
|
|
|
|
|
|
+class SubscribeEmailView(View):
|
|
|
|
+
|
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ request_dict = request.GET
|
|
|
|
+ return self.validate(request_dict)
|
|
|
|
+
|
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ request_dict = request.POST
|
|
|
|
+ return self.validate(request_dict)
|
|
|
|
+
|
|
|
|
+ def validate(self, request_dict):
|
|
|
|
+ token = request_dict.get('token', None)
|
|
|
|
+ lang = request_dict.get('lang', None)
|
|
|
|
+ token = TokenObject(token)
|
|
|
|
+
|
|
|
|
+ response = ResponseObject(lang=lang)
|
|
|
|
+ if token.code != 0:
|
|
|
|
+ return response.json(token.code)
|
|
|
|
+
|
|
|
|
+ status = request_dict.get('subscribe', None)
|
|
|
|
+ if status is None:
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+ status = int(status)
|
|
|
|
+ user_qs = Device_User.objects.filter(userID=token.userID)
|
|
|
|
+ if user_qs.exists():
|
|
|
|
+ user_qs.update(subscribe_email=status)
|
|
|
|
+ return response.json(0)
|
|
|
|
+ else:
|
|
|
|
+ return response.json(104)
|
|
|
|
+
|
|
|
|
+
|
|
def delete_local_account(username):
|
|
def delete_local_account(username):
|
|
user_qs = Device_User.objects.filter(username=username)
|
|
user_qs = Device_User.objects.filter(username=username)
|
|
print(user_qs)
|
|
print(user_qs)
|