commit
220ecbf243
6 changed files with 186 additions and 22 deletions
|
@ -39,6 +39,7 @@ def login(request, *args, **kwargs):
|
|||
'success': False
|
||||
}
|
||||
else:
|
||||
request.session['is_logged'] = True
|
||||
while True:
|
||||
try:
|
||||
request.session[request.session.session_key] = Fernet.generate_key().decode('utf-8')
|
||||
|
@ -46,12 +47,11 @@ def login(request, *args, **kwargs):
|
|||
break
|
||||
except KeyError:
|
||||
continue
|
||||
|
||||
|
||||
sender_return['s'] = json.dumps(sender_return['s'])
|
||||
sender_return['s'] = sender_return['s'].encode()
|
||||
sender_return['s'] = rkey.encrypt(sender_return['s'])
|
||||
sender_return['s'] = sender_return['s'].decode('utf-8')
|
||||
request.session['is_logged'] = True
|
||||
data_response = {'success': True, 'data': sender_return}
|
||||
return JsonResponse(data_response)
|
||||
|
||||
|
|
|
@ -4,33 +4,33 @@ students = cookies_data.data.register_r.data;
|
|||
const displayData = () => {
|
||||
var primary = '';
|
||||
|
||||
students.forEach((student) =>{
|
||||
if(student.UczenNazwisko+' '+student.UczenImie2+' '+student.UczenImie+' '+student.UczenSymbol != primary){
|
||||
primary = student.UczenNazwisko+' '+student.UczenImie2+' '+student.UczenImie+' '+student.UczenSymbol;
|
||||
students.forEach((student) => {
|
||||
if (student.UczenNazwisko + ' ' + student.UczenImie2 + ' ' + student.UczenImie + ' ' + student.UczenSymbol != primary) {
|
||||
primary = student.UczenNazwisko + ' ' + student.UczenImie2 + ' ' + student.UczenImie + ' ' + student.UczenSymbol;
|
||||
document.querySelector("#content").innerHTML += `<p>
|
||||
<label>
|
||||
<input class="with-gap" name="group1" value='`+student.UczenPelnaNazwa+`' type="radio" checked />
|
||||
<span>`+student.UczenPelnaNazwa+`</span>
|
||||
<input class="with-gap" name="group1" value='`+ student.UczenPelnaNazwa + `' type="radio" checked />
|
||||
<span>`+ student.UczenPelnaNazwa + `</span>
|
||||
</label>
|
||||
</p>`
|
||||
</p>`;
|
||||
}
|
||||
})
|
||||
document.querySelector("#content").innerHTML += `<button id="button" class="waves-light waves-effect btn red darken-1">LOGIN</button>`
|
||||
const button_ = document.querySelector("#button")
|
||||
button_.addEventListener('click', logIn)
|
||||
document.querySelector("#content").innerHTML += `<button id="button" class="waves-light waves-effect btn red darken-1">LOGIN</button>`;
|
||||
const button_ = document.querySelector("#button");
|
||||
button_.addEventListener('click', logIn);
|
||||
}
|
||||
|
||||
const logIn = () => {
|
||||
var ele = document.getElementsByName('group1');
|
||||
|
||||
for(i = 0; i < ele.length; i++) {
|
||||
if(ele[i].checked){
|
||||
var ele = document.getElementsByName('group1');
|
||||
|
||||
for (i = 0; i < ele.length; i++) {
|
||||
if (ele[i].checked) {
|
||||
studentName = ele[i].value;
|
||||
students.forEach((student) => {
|
||||
if(student.UczenPelnaNazwa == studentName){
|
||||
cookies_data.data.register_r.data = [student]
|
||||
if (student.UczenPelnaNazwa == studentName) {
|
||||
cookies_data.data.register_r.data = [student];
|
||||
sessionStorage.setItem('cookies_data', JSON.stringify(cookies_data));
|
||||
window.location.href = '/content/'
|
||||
window.location.href = '/content/';
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -215,6 +215,8 @@ const sendMessage = () => {
|
|||
'subject': subject_,
|
||||
'content': content_
|
||||
}
|
||||
console.log(cookies_data)
|
||||
console.log(recipient_)
|
||||
fetch(url = '../api/messages/send', {
|
||||
method: 'POST',
|
||||
mode: 'cors',
|
||||
|
|
|
@ -2,6 +2,7 @@ from django.shortcuts import render
|
|||
from django.shortcuts import redirect
|
||||
|
||||
def default_view(request, *args, **kwargs):
|
||||
request.session['has_session'] = True
|
||||
return render(request, 'frontend/index.html')
|
||||
|
||||
def content_view(request, *args, **kwargs):
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from django.test import SimpleTestCase
|
||||
from django.urls import reverse, resolve
|
||||
from frontend.views import default_view, content_view
|
||||
from app.views import login, grades, timetable, exams, homeworks, attendance, notes
|
||||
from frontend.views import default_view, content_view, account_manager_view
|
||||
from app.views import login, grades, timetable, exams, homeworks, attendance, notes, school_data, dashboard, registered_devices, register_device_, received_messages, sent_messages, deleted_messages, recipients, send, message_content
|
||||
|
||||
class TestUrls(SimpleTestCase):
|
||||
#views
|
||||
|
@ -13,6 +13,10 @@ class TestUrls(SimpleTestCase):
|
|||
url = reverse('content')
|
||||
self.assertEquals(resolve(url).func, content_view)
|
||||
|
||||
def test_account_manager_is_resolved(self):
|
||||
url = reverse('account_manager')
|
||||
self.assertEquals(resolve(url).func, account_manager_view)
|
||||
|
||||
#API
|
||||
def test_login_is_resolved(self):
|
||||
url = reverse('login')
|
||||
|
@ -40,4 +44,46 @@ class TestUrls(SimpleTestCase):
|
|||
|
||||
def test_notes_is_resolved(self):
|
||||
url = reverse('notes')
|
||||
self.assertEquals(resolve(url).func, notes)
|
||||
self.assertEquals(resolve(url).func, notes)
|
||||
|
||||
def test_school_data_is_resolved(self):
|
||||
url = reverse('school_data')
|
||||
self.assertEquals(resolve(url).func, school_data)
|
||||
|
||||
def test_dashboard_is_resolved(self):
|
||||
url = reverse('dashboard')
|
||||
self.assertEquals(resolve(url).func, dashboard)
|
||||
|
||||
#MOBILE ACCESS
|
||||
def test_registered_devices_is_resolved(self):
|
||||
url = reverse('registered_devices')
|
||||
self.assertEquals(resolve(url).func, registered_devices)
|
||||
|
||||
def test_register_device_is_resolved(self):
|
||||
url = reverse('register_device')
|
||||
self.assertEquals(resolve(url).func, register_device_)
|
||||
|
||||
#MESSAGES
|
||||
def test_received_messages_is_resolved(self):
|
||||
url = reverse('received_messages')
|
||||
self.assertEquals(resolve(url).func, received_messages)
|
||||
|
||||
def test_sent_messages_is_resolved(self):
|
||||
url = reverse('sent_messages')
|
||||
self.assertEquals(resolve(url).func, sent_messages)
|
||||
|
||||
def test_deleted_messages_is_resolved(self):
|
||||
url = reverse('deleted_messages')
|
||||
self.assertEquals(resolve(url).func, deleted_messages)
|
||||
|
||||
def test_get_recipients_is_resolved(self):
|
||||
url = reverse('recipients')
|
||||
self.assertEquals(resolve(url).func, recipients)
|
||||
|
||||
def test_send_message_is_resolved(self):
|
||||
url = reverse('send_message')
|
||||
self.assertEquals(resolve(url).func, send)
|
||||
|
||||
def test_get_message_content_is_resolved(self):
|
||||
url = reverse('message_content')
|
||||
self.assertEquals(resolve(url).func, message_content)
|
|
@ -5,6 +5,7 @@ import json
|
|||
class TestViews(TestCase):
|
||||
def setUp(self):
|
||||
self.client = Client()
|
||||
self.csrf_token = Client(enforce_csrf_checks=True)
|
||||
self.list_url = reverse('home')
|
||||
self.detail_url = reverse('content')
|
||||
|
||||
|
@ -18,4 +19,118 @@ class TestViews(TestCase):
|
|||
#CONTENT_VIEW
|
||||
response = self.client.get(self.detail_url)
|
||||
|
||||
self.assertEquals(response.status_code, 302)
|
||||
self.assertEquals(response.status_code, 302)
|
||||
|
||||
#ACCOUNT_MANAGER
|
||||
response = self.client.get(reverse('account_manager'))
|
||||
|
||||
self.assertEquals(response.status_code, 302)
|
||||
|
||||
#API
|
||||
data = {
|
||||
"loginName": "jan@fakelog.cf",
|
||||
"Password": "jan123",
|
||||
"Symbol": "powiatwulkanowy",
|
||||
"diaryUrl": "http://cufs.fakelog.cf/"
|
||||
}
|
||||
|
||||
response = self.client.post(reverse('login'), content_type='application/xml', data=json.dumps(data))
|
||||
cookies_data = response.json()
|
||||
|
||||
self.assertEquals(response.status_code, 200)
|
||||
|
||||
students = cookies_data['data']['register_r']['data']
|
||||
#JAN
|
||||
jan_data = students[0]
|
||||
cookies_data['data']['register_r']['data'] = [jan_data]
|
||||
get_data_test(self.client, cookies_data, self.assertEquals)
|
||||
#JOANNA
|
||||
joanna_data = students[3]
|
||||
cookies_data['data']['register_r']['data'] = [joanna_data]
|
||||
get_data_test(self.client, cookies_data, self.assertEquals)
|
||||
|
||||
|
||||
def get_data_test(client, cookies_data, assertEquals):
|
||||
#GRADES
|
||||
response = client.post(reverse('grades'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#TIMETABLE
|
||||
response = client.post(reverse('timetable'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#EXAMS
|
||||
response = client.post(reverse('exams'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#HOMEWORKS
|
||||
response = client.post(reverse('homeworks'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#ATTENDANCE
|
||||
response = client.post(reverse('attendance'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#NOTES
|
||||
response = client.post(reverse('notes'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#SCHOOL DATA
|
||||
response = client.post(reverse('school_data'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#DASHBOARD
|
||||
response = client.post(reverse('dashboard'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#MOBILE ACCESS
|
||||
#REGISTERED DEVICES
|
||||
response = client.post(reverse('registered_devices'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#REGISTER DEVICE
|
||||
response = client.post(reverse('register_device'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#MESSAGES
|
||||
#RECEIVED MESSAGES
|
||||
messages_ids = []
|
||||
response = client.post(reverse('received_messages'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
messages_ids.append([response.json()['data']])
|
||||
|
||||
#SENT MESSAGES
|
||||
response = client.post(reverse('sent_messages'), content_type='appication/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
for id in response.json()['data']:
|
||||
messages_ids.append(id)
|
||||
|
||||
#DELETED MESSAGES
|
||||
response = client.post(reverse('deleted_messages'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
messages_ids.append([response.json()['data']])
|
||||
|
||||
#GET RECIPIENTS
|
||||
response = client.post(reverse('recipients'), content_type='application/xml', data=json.dumps(cookies_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
recipients = response.json()['addressee']['data']
|
||||
|
||||
#SEND MESSAGE
|
||||
for recipient in recipients:
|
||||
send_data = {
|
||||
'cookies_data': json.dumps(cookies_data),
|
||||
'data': recipient,
|
||||
'subject': 'Test subject',
|
||||
'content': 'Test content'
|
||||
}
|
||||
response = client.post(reverse('send_message'), content_type='application/xml', data=json.dumps(send_data))
|
||||
assertEquals(response.status_code, 200)
|
||||
|
||||
#GETTING MESSAGE CONTENT
|
||||
for id in messages_ids:
|
||||
send_data = {
|
||||
'cookies_data': json.dumps(cookies_data),
|
||||
'message_id': id
|
||||
}
|
||||
response = client.post(reverse('message_content'), content_type='application/xml', data=json.dumps(send_data))
|
||||
assertEquals(response.status_code, 200)
|
Loading…
Reference in a new issue