|
@@ -19,7 +19,7 @@ from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.utils.decorators import method_decorator
|
|
|
from object.ResponseObject import ResponseObject
|
|
|
from django.contrib.auth.hashers import make_password, check_password
|
|
|
-from model.models import UserModel, LangSetModel, LangAreaModel
|
|
|
+from model.models import UserModel, LangSetModel, LangAreaModel, LangPermModel
|
|
|
import time
|
|
|
from object.TokenObject import TokenObject
|
|
|
|
|
@@ -46,7 +46,7 @@ class registerView(TemplateView):
|
|
|
create_dict = {
|
|
|
'username': username,
|
|
|
'password': make_password(password),
|
|
|
- 'role_id':role_id,
|
|
|
+ 'role_id': role_id,
|
|
|
'addTime': nowTime,
|
|
|
'updTime': nowTime}
|
|
|
try:
|
|
@@ -111,9 +111,10 @@ class queryView(TemplateView):
|
|
|
user_qs = UserModel.objects.filter(id=userID, username='admin')
|
|
|
if not user_qs.exists():
|
|
|
return response.json(403)
|
|
|
- um_qs = UserModel.objects.filter().values('id', 'username','role_id')
|
|
|
+ um_qs = UserModel.objects.filter().values('id', 'username', 'role_id')
|
|
|
|
|
|
ls_qs = LangSetModel.objects.filter().values('user__id', 'lang__lang')
|
|
|
+ lp_qs = LangPermModel.objects.filter().values('user__id', 'lang__lang')
|
|
|
res = []
|
|
|
for um in um_qs:
|
|
|
for ls in ls_qs:
|
|
@@ -121,6 +122,11 @@ class queryView(TemplateView):
|
|
|
if 'lang_arr' not in um:
|
|
|
um['lang_arr'] = []
|
|
|
um['lang_arr'].append(ls['lang__lang'])
|
|
|
+ for lp in lp_qs:
|
|
|
+ if um['id'] == lp['user__id']:
|
|
|
+ if 'lp_arr' not in um:
|
|
|
+ um['lp_arr'] = []
|
|
|
+ um['lp_arr'].append(lp['lang__lang'])
|
|
|
res.append(um)
|
|
|
return response.json(0, res)
|
|
|
else:
|
|
@@ -143,6 +149,7 @@ class updateView(TemplateView):
|
|
|
token = request_dict.get('token', None)
|
|
|
id = request_dict.get('id', None)
|
|
|
langSetArr = request_dict.get('langSetArr', None)
|
|
|
+ langPermArr = request_dict.get('langPermArr', None)
|
|
|
username = request_dict.get('username', None)
|
|
|
role_id = request_dict.get('role_id', None)
|
|
|
nowTime = int(time.time())
|
|
@@ -155,9 +162,13 @@ class updateView(TemplateView):
|
|
|
user.save()
|
|
|
if id and langSetArr:
|
|
|
LangSetModel.objects.filter(user__id=id).delete()
|
|
|
+ LangPermModel.objects.filter(user__id=id).delete()
|
|
|
for ls in langSetArr:
|
|
|
LangSetModel.objects.create(lang=LangAreaModel.objects.get(id=ls),
|
|
|
user=UserModel.objects.get(id=id), addTime=nowTime, updTime=nowTime)
|
|
|
+ for lp in langPermArr:
|
|
|
+ LangPermModel.objects.create(lang=LangAreaModel.objects.get(id=lp),
|
|
|
+ user=UserModel.objects.get(id=id), addTime=nowTime, updTime=nowTime)
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
return response.json(0)
|
|
@@ -189,3 +200,36 @@ class deleteView(TemplateView):
|
|
|
return response.json(0)
|
|
|
else:
|
|
|
return response.json(tko.code)
|
|
|
+
|
|
|
+
|
|
|
+class initView(TemplateView):
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ request_dict = json.loads(request.body.decode('utf-8'))
|
|
|
+ return self.validate(request_dict)
|
|
|
+
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ request_dict = request.GET
|
|
|
+ return self.validate(request_dict)
|
|
|
+
|
|
|
+ def validate(self, request_dict):
|
|
|
+ response = ResponseObject()
|
|
|
+ token = request_dict.get('token', None)
|
|
|
+ tko = TokenObject(token)
|
|
|
+ if tko.code == 0:
|
|
|
+ userID = tko.userID
|
|
|
+ user_qs = UserModel.objects.filter(id=userID, username='admin')
|
|
|
+ if user_qs.exists():
|
|
|
+ is_admin = 1
|
|
|
+ else:
|
|
|
+ is_admin = 0
|
|
|
+ lang_perm_ql = LangPermModel.objects.filter(user__id=userID).values_list('lang__lang', flat=True)
|
|
|
+ lang_perm_ls = list(lang_perm_ql)
|
|
|
+ res = {
|
|
|
+ 'user_perm':is_admin,
|
|
|
+ 'lang_perm_ls': lang_perm_ls
|
|
|
+ }
|
|
|
+ return response.json(0, res)
|
|
|
+ else:
|
|
|
+ return response.json(tko.code)
|