8000 add views_if_sec.py · python012/guest@4f88f1e · GitHub
[go: up one dir, main page]

Skip to content

Commit 4f88f1e

Browse files
committed
add views_if_sec.py
1 parent 9dedf3a commit 4f88f1e

File tree

4 files changed

+90
-3
lines changed

4 files changed

+90
-3
lines changed

guest/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
'ENGINE': 'django.db.backends.mysql',
8383
'HOST': '127.0.0.1',
8484
'PORT': '3306',
85-
'NAME': 'guest',
85+
'NAME': 'guest_test',
8686
'USER': 'root',
8787
'PASSWORD': '123456',
8888
'OPTIONS': {

sign/urls.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from django.conf.urls import url
2-
from sign import views_if
2+
from sign import views_if, views_if_sec
33

44

55
urlpatterns = [
@@ -19,6 +19,9 @@
1919
#ex: /api/user_sign/
2020
url(r'^user_sign/', views_if.user_sign, name='user_sign'),
2121

22+
#ex: /api/sec_get_event_list/
23+
url(r'^sec_get_event_list/', views_if_sec.get_event_list, name='get_event_list'),
24+
2225
]
2326

2427
app_name = 'sign'

sign/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def guest_manage(request):
5050
username = request.session.get('user', '')
5151
guest_list = Guest.objects.all()
5252

53-
paginator = Paginator(guest_list, 6)
53+
paginator = Paginator(guest_list, 20)
5454
page_number = request.GET.get('page')
5555

5656
try:

sign/views_if_sec.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
from django.contrib import auth as django_auth
2+
from django.http import JsonResponse
3+
import base64
4+
from sign.models import Event
5+
6+
7+
def _user_auth(request):
8+
get_http_auth = request.META.get('HTTP_AUTHORIZATION', b'')
9+
auth = get_http_auth.split()
10+
try:
11+
auth_parts = base64.b64decode(auth[1]).decode('utf-8').partition(':')
12+
except IndexError:
13+
return 'null'
14+
username, password = auth_parts[0], auth_parts[2]
15+
user = django_auth.authenticate(username=username, password=password)
16+
if user is not None:
17+
django_auth.login(request, user)
18+
return 'success'
19+
else:
20+
return 'fail'
21+
22+
23+
def get_event_list(request):
24+
auth_result = _user_auth(request)
25+
if auth_result == 'null':
26+
return JsonResponse({'status':10011, 'message':'user auth null'})
27+
28+
if auth_result == 'fail':
29+
return JsonResponse({'status':10012, 'message':'user auth fail'})
30+
31+
eid = request.GET.get('eid', '')
32+
name = request.GET.get('name', '')
33+
if not eid:
34+
if not name:
35+
return JsonResponse({'status': 10021, 'message': 'parameter error'})
36+
37+
results = Event.objects.filter(name__contains=name)
38+
39+
if not len(results):
40+
return JsonResponse({'status': 10022, 'message': 'query result is empty'})
41+
else:
42+
datas = []
43+
for r in results:
44+
event = {}
45+
event['id'] = r.id
46+
event['name'] = r.name
47+
event['status'] = r.status
48+
event['address'] = r.address
49+
event['start_time'] = r.start_time
50+
datas.append(event)
51+
return JsonResponse({'status': 200, 'message': 'success', 'data': datas})
52+
else:
53+
result = Event.objects.get(id=eid)
54+
if not result:
55+
return JsonResponse({'status': 10022, 'message': 'query result is empty'})
56+
else:
57+
result = Event.objects.get(id=eid).status
58+
if not result:
59+
return JsonResponse({'status': 10023, 'message': 'event status is not available'})
60+
else:
61+
if not name:
62+
r = Event.objects.get(id=eid)
63+
event = {}
64+
event['id'] = r.id
65+
event['name'] = r.name
66+
event['status'] = r.status
67+
event['address'] = r.address
68+
event['start_time'] = r.start_time
69+
return JsonResponse({'status': 200, 'message': 'success', 'data': event})
70+
else:
71+
results = Event.objects.filter(id=eid, name=name)
72+
if not len(results):
73+
return JsonResponse({'status': 10022, 'message': 'query result is empty'})
74+
else:
75+
datas = []
76+
for r in results:
77+
event = {}
78+
event['id'] = r.id
79+
event['name'] = r.name
80+
event['status'] = r.status
81+
event['address'] = r.address
82+
event['start_time'] = r.start_time
83+
datas.append(event)
84+
return JsonResponse({'status': 200, 'message': 'success', 'data': datas})

0 commit comments

Comments
 (0)
0