Skip to content

Commit 38222b3

Browse files
Completed admin portal in website
- renamed client to website - client is now a python wrapper around the API calls - copied official website's style for home (data portals) page - enabled static files serving - integrated a few html pages with satic css files
1 parent 3b476ba commit 38222b3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1647
-288
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@ migrations
44
__pycache__
55
/.vscode
66
secrets.py
7-
cache
7+
cache
8+
chatbot
9+
api/media

client/admin.py

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
import json
2+
import requests
3+
4+
from .common import root
5+
6+
# Admin authentication
7+
def login(id, password):
8+
response = requests.post(url=f"{root}/admin/login/", data={'id': id, 'password': password})
9+
dict = json.loads(response.text)
10+
return dict, response.status_code, response.cookies
11+
12+
def logout(token):
13+
response = requests.post(headers={'Authorization': 'Token ' + token}, url=f"{root}/admin/logout/")
14+
dict = json.loads(response.text)
15+
return dict, response.status_code
16+
17+
def forgot_password(id):
18+
response = requests.post(url=f"{root}/admin/forgot_password/", data={'id': id})
19+
dict = json.loads(response.text)
20+
return dict, response.status_code
21+
22+
def reset_password(password_reset_token, new_password):
23+
response = requests.post(url=f"{root}/admin/password_reset/", params={'token': password_reset_token}, data={'password': new_password})
24+
dict = json.loads(response.text)
25+
return dict, response.status_code
26+
27+
# Manage Students:
28+
29+
# Non-detail
30+
def get_all_students(token, page=1):
31+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/?page={page}")
32+
dict = json.loads(response.text)
33+
return dict, response.status_code
34+
35+
def create_new_student(token, data, files=None):
36+
response = requests.post(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/", data=data, files=files)
37+
dict = json.loads(response.text)
38+
return dict, response.status_code
39+
40+
41+
# Detail
42+
def get_student_details(token, id):
43+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/{id}")
44+
dict = json.loads(response.text)
45+
return dict, response.status_code
46+
47+
def edit_student_details(token, id, data, files=None):
48+
response = requests.patch(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/{id}/", data=data, files=files)
49+
dict = json.loads(response.text)
50+
return dict, response.status_code
51+
52+
def get_student_marks_brief(token, id):
53+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/{id}/marks")
54+
dict = json.loads(response.text)
55+
return dict, response.status_code
56+
57+
def get_student_attendance_brief(token, id):
58+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/{id}/attendance")
59+
dict = json.loads(response.text)
60+
return dict, response.status_code
61+
62+
def delete_student(token, id):
63+
response = requests.delete(headers={'Authorization': 'Token ' + token}, url=f"{root}/student/{id}/")
64+
dict = json.loads(response.text)
65+
return dict, response.status_code
66+
67+
68+
69+
# Manage Staff:
70+
71+
# Non-detail
72+
def get_all_staff(token, page=1):
73+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/staff/?page={page}")
74+
dict = json.loads(response.text)
75+
return dict, response.status_code
76+
77+
def create_new_staff(token, data, files=None):
78+
response = requests.post(headers={'Authorization': 'Token ' + token}, url=f"{root}/staff/", data=data, files=files)
79+
dict = json.loads(response.text)
80+
return dict, response.status_code
81+
82+
83+
# Detail
84+
def get_staff_details(token, id):
85+
response = requests.get(headers={'Authorization': 'Token ' + token}, url=f"{root}/staff/{id}")
86+
dict = json.loads(response.text)
87+
return dict, response.status_code
88+
89+
def edit_staff_details(token, id, data, files=None):
90+
response = requests.patch(headers={'Authorization': 'Token ' + token}, url=f"{root}/staff/{id}/", data=data, files=files)
91+
dict = json.loads(response.text)
92+
return dict, response.status_code
93+
94+
def delete_staff(token, id):
95+
response = requests.delete(headers={'Authorization': 'Token ' + token}, url=f"{root}/staff/{id}/")
96+
dict = json.loads(response.text)
97+
return dict, response.status_code

client/admin/forms.py

Lines changed: 0 additions & 20 deletions
This file was deleted.

client/admin/views.py

Lines changed: 0 additions & 202 deletions
This file was deleted.

client/api/admin.py

Lines changed: 0 additions & 33 deletions
This file was deleted.

0 commit comments

Comments
 (0)