From 16e16b23ed7ebe9b88e8758b57d4fbd5b7e31f2f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 31 Oct 2018 15:16:50 -0700 Subject: [PATCH 001/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 17506d0e..84c9490e 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -8,6 +8,12 @@

All Students

+
+ + Upload CSV + + +
From 5fc3dfbe6d403cae6294c389a19668f3f98a2d71 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 31 Oct 2018 15:19:44 -0700 Subject: [PATCH 002/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 84c9490e..2f8d0989 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -10,7 +10,7 @@

All Students

- Upload CSV + Upload File
From 2f7df7f1b20dd55382f12dcf21a0f3df110dbbd8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 31 Oct 2018 16:01:34 -0700 Subject: [PATCH 003/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 2f8d0989..55ba2e86 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -15,6 +15,12 @@

All Students

+
+ {% csrf_token %} + + +
+ -
+ {% csrf_token %} From eb56aa1eb7fc23ee6766f6c3d6e48de5702440e5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 31 Oct 2018 16:06:04 -0700 Subject: [PATCH 005/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 25085b7c..969f559d 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -15,7 +15,7 @@

All Students

- + {% csrf_token %} From b2bc032007d985cfea30140cebabd0bacbb38938 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 31 Oct 2018 16:51:51 -0700 Subject: [PATCH 006/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 969f559d..6f4a7749 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -21,11 +21,6 @@

All Students

-
- - - -
{% if student_list %} From b165b9341c0d51721507395fa94ffc1751b7833a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 6 Nov 2018 11:34:46 -0800 Subject: [PATCH 007/540] update --- CommunicationSeminar/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..10de052f 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -46,6 +46,7 @@ 'django.contrib.messages', 'django.contrib.staticfiles', 'django_select2', + 'django_smoke_tests', ] MIDDLEWARE = [ From fe886cd11d9afd2a1952afca2dda15c2b4ce6ec5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 8 Nov 2018 11:55:00 -0800 Subject: [PATCH 008/540] test --- ComSemApp/libs/factories.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/libs/factories.py b/ComSemApp/libs/factories.py index 1f090c17..1285f4e8 100644 --- a/ComSemApp/libs/factories.py +++ b/ComSemApp/libs/factories.py @@ -54,7 +54,8 @@ def db_create_teacher(self, **kwargs): def db_create_student(self, **kwargs): institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) - return Student.objects.create(user=user, institution=institution) + #return Student.objects.create(user=user, institution=institution) + return 1 def db_create_course_type(self, **kwargs): defaults = { From c39a22ca3743d97fc5f77c7356b762eba1a43620 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 8 Nov 2018 11:55:47 -0800 Subject: [PATCH 009/540] test --- ComSemApp/libs/factories.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/libs/factories.py b/ComSemApp/libs/factories.py index 1285f4e8..7156ee19 100644 --- a/ComSemApp/libs/factories.py +++ b/ComSemApp/libs/factories.py @@ -54,8 +54,8 @@ def db_create_teacher(self, **kwargs): def db_create_student(self, **kwargs): institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) - #return Student.objects.create(user=user, institution=institution) - return 1 + return Student.objects.create(user=user, institution=institution) + #return 1 def db_create_course_type(self, **kwargs): defaults = { From 2fc8df6cc6baeb6ac676ffd677a5f625370c1490 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 8 Nov 2018 11:58:30 -0800 Subject: [PATCH 010/540] test --- ComSemApp/libs/factories.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/libs/factories.py b/ComSemApp/libs/factories.py index 7156ee19..1285f4e8 100644 --- a/ComSemApp/libs/factories.py +++ b/ComSemApp/libs/factories.py @@ -54,8 +54,8 @@ def db_create_teacher(self, **kwargs): def db_create_student(self, **kwargs): institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) - return Student.objects.create(user=user, institution=institution) - #return 1 + #return Student.objects.create(user=user, institution=institution) + return 1 def db_create_course_type(self, **kwargs): defaults = { From a7279074b53bb4b6dc4eaaa33f53b6ae32e02c32 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 10:44:22 -0500 Subject: [PATCH 011/540] update --- ComSemApp/administrator/views.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 57de0666..9f30e6f1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -55,8 +55,11 @@ class StudentListView(AdminViewMixin, ListView): template_name = 'ComSemApp/admin/student_list.html' def get_queryset(self): + print("HEST") return Student.objects.filter(institution=self.institution) + + class CourseListView(AdminViewMixin, ListView): model = Course From 0271d3b899e6e0df40112327e6369fac59a8aff3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 10:51:26 -0500 Subject: [PATCH 012/540] update --- ComSemApp/administrator/views.py | 17 ++++++++++++++++- .../templates/ComSemApp/admin/student_list.html | 11 ++++++----- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 9f30e6f1..94486d09 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -53,9 +53,24 @@ def get_queryset(self): class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' + def contact_upload(request): + template = "contact_upload.html" + + prompt = { + 'order': "Order of csv should be first_name, last_name, email, ip_address, message" + } + + + csv_file = request.FILES['file'] + + if not csv_file.name.endswith('.csv'): + print() "This file is not a .csv file") + + data_set = csv_file.read().decode('utf-8') + print (data_set) def get_queryset(self): - print("HEST") + return Student.objects.filter(institution=self.institution) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 6f4a7749..ccd1952d 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -10,15 +10,16 @@

All Students

-
- {% csrf_token %} - - + {% csrf_token %} + + +

Only Accepts CSV Files

+
From 3b2b8f63608fce96c34eeefbda49babbb1813d92 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 10:52:18 -0500 Subject: [PATCH 013/540] update --- ComSemApp/administrator/views.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 94486d09..a99759b1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -54,11 +54,6 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' def contact_upload(request): - template = "contact_upload.html" - - prompt = { - 'order': "Order of csv should be first_name, last_name, email, ip_address, message" - } csv_file = request.FILES['file'] From 493bfc1d058788fde93d6350a58e3faf278ec543 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 10:52:46 -0500 Subject: [PATCH 014/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index a99759b1..eb9e4ebf 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -59,7 +59,7 @@ def contact_upload(request): csv_file = request.FILES['file'] if not csv_file.name.endswith('.csv'): - print() "This file is not a .csv file") + print( "This file is not a .csv file") data_set = csv_file.read().decode('utf-8') print (data_set) From 1f51b05c93adffd02d215e43988e0384d9134c39 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:07:45 -0500 Subject: [PATCH 015/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index eb9e4ebf..c86efd22 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -53,7 +53,7 @@ def get_queryset(self): class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' - def contact_upload(request): + def post(request): csv_file = request.FILES['file'] From b96cde7079961703877f758654c26468f83bdbf2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:08:50 -0500 Subject: [PATCH 016/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c86efd22..66495a17 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -53,11 +53,11 @@ def get_queryset(self): class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' - def post(request): - + def post(self, request, *args, **kwargs): - csv_file = request.FILES['file'] + form = self.form_class(request.POST) + print(form) if not csv_file.name.endswith('.csv'): print( "This file is not a .csv file") From 3d9b1c15fc86a5e3865e5eef8631b6dcbd4bf4fc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:11:03 -0500 Subject: [PATCH 017/540] update --- ComSemApp/administrator/views.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 66495a17..65f73835 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -56,13 +56,8 @@ class StudentListView(AdminViewMixin, ListView): def post(self, request, *args, **kwargs): - form = self.form_class(request.POST) - print(form) - if not csv_file.name.endswith('.csv'): - print( "This file is not a .csv file") - data_set = csv_file.read().decode('utf-8') - print (data_set) + print (request) def get_queryset(self): From e3c431650a4e1993986aed646cb63a847aaa7af8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:12:46 -0500 Subject: [PATCH 018/540] update --- ComSemApp/administrator/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 65f73835..23f17b61 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -55,9 +55,8 @@ class StudentListView(AdminViewMixin, ListView): template_name = 'ComSemApp/admin/student_list.html' def post(self, request, *args, **kwargs): - - print (request) + return Student.objects.filter(institution=self.institution) def get_queryset(self): From da1eeb01458a8818b41bbd4da8f6967994e92d24 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:14:06 -0500 Subject: [PATCH 019/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 23f17b61..51e9cab4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -56,7 +56,7 @@ class StudentListView(AdminViewMixin, ListView): def post(self, request, *args, **kwargs): print (request) - return Student.objects.filter(institution=self.institution) + return HttpResponseRedirect(self.success_url) def get_queryset(self): From 353341eac689811eef8626e0b6fc95aa1024e952 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:18:07 -0500 Subject: [PATCH 020/540] update --- ComSemApp/administrator/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 51e9cab4..e3e2bab5 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -53,10 +53,11 @@ def get_queryset(self): class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' + success_url = reverse_lazy("administrator:students") def post(self, request, *args, **kwargs): print (request) - return HttpResponseRedirect(self.success_url) + return HttpResponseRedirect(self.success_url) def get_queryset(self): From a016d2a339bcf18623ad5448240076cadcca9b1e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:19:25 -0500 Subject: [PATCH 021/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e3e2bab5..8de3e4e7 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -55,8 +55,8 @@ class StudentListView(AdminViewMixin, ListView): template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") def post(self, request, *args, **kwargs): - - print (request) + csv_file = request.FILES['file'] + print (csv_file) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 9462ca056d76c953b55185f3ee6f5ef32b578def Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:20:06 -0500 Subject: [PATCH 022/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 8de3e4e7..123ec2e2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -56,6 +56,8 @@ class StudentListView(AdminViewMixin, ListView): success_url = reverse_lazy("administrator:students") def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] + for (line in file): + print (line) print (csv_file) return HttpResponseRedirect(self.success_url) From cb51b9937222be05d83d2a361e26e0025c782dae Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:20:31 -0500 Subject: [PATCH 023/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 123ec2e2..575ee503 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -56,7 +56,7 @@ class StudentListView(AdminViewMixin, ListView): success_url = reverse_lazy("administrator:students") def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] - for (line in file): + for line in csv_file: print (line) print (csv_file) return HttpResponseRedirect(self.success_url) From acf432604e5ed6ea4fa693b1a8ee0e65aaa74b51 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:49:50 -0500 Subject: [PATCH 024/540] update --- ComSemApp/administrator/views.py | 6 +++++- ComSemApp/templates/ComSemApp/admin/student_list.html | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 575ee503..c7ae7480 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -58,7 +58,6 @@ def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] for line in csv_file: print (line) - print (csv_file) return HttpResponseRedirect(self.success_url) def get_queryset(self): @@ -143,6 +142,7 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() + print(obj_form) if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password @@ -231,7 +231,11 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, instance=self.instance.user, prefix='user_form') + print("user form") + print(user_form) obj_form = self.get_obj_form(initial=self.request.POST) + print("obj form") + print(user_form) if user_form.is_valid() and obj_form.is_valid(): user = user_form.save() diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index ccd1952d..afe9feba 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -8,6 +8,7 @@

All Students

+
Create Student From abb9e1f61e5921acfd1a0b934c581224d1fdb79c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:59:38 -0500 Subject: [PATCH 025/540] update --- ComSemApp/administrator/views.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c7ae7480..51b26c1e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,6 +115,7 @@ def form_invalid(self, user_form, obj_form, **kwargs): return self.render_to_response(self.get_context_data(form=user_form, obj_form=obj_form)) def _send_email(self, user, password): + print("EMAIL SENT") link = "https://www.comsem.net" message = ("You have been invited to join Communication Seminar by an administrator for " + self.institution.name + ".\n" "In order to log in, go to " + link + " and use \n" @@ -133,6 +134,7 @@ def _send_email(self, user, password): class UserCreateMixin(UserMixin): def get(self, request, *args, **kwargs): + print("I AM HERE 2") user_form = UserForm() user_form.prefix = 'user_form' obj_form = self.get_obj_form() @@ -142,8 +144,7 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() - print(obj_form) - + print("I AM HERE 1") if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() @@ -231,11 +232,7 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, instance=self.instance.user, prefix='user_form') - print("user form") - print(user_form) obj_form = self.get_obj_form(initial=self.request.POST) - print("obj form") - print(user_form) if user_form.is_valid() and obj_form.is_valid(): user = user_form.save() From a4b7a78a27bdbaf5003e91b13dd17ad47c4f4903 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 12:02:03 -0500 Subject: [PATCH 026/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 51b26c1e..e58d1ba1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -145,6 +145,7 @@ def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() print("I AM HERE 1") + print(obj_form) if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() From f376a942e535dd5f7bb49f8b62389c2e16046509 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 12:02:59 -0500 Subject: [PATCH 027/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e58d1ba1..bff665da 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -145,7 +145,7 @@ def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() print("I AM HERE 1") - print(obj_form) + print(user_form) if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() From 251d74b6b7525adfb254bfb6404541fcf3238646 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 11 Nov 2018 11:14:11 -0600 Subject: [PATCH 028/540] update --- ComSemApp/libs/factories.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/libs/factories.py b/ComSemApp/libs/factories.py index 1285f4e8..83c9f300 100644 --- a/ComSemApp/libs/factories.py +++ b/ComSemApp/libs/factories.py @@ -52,10 +52,10 @@ def db_create_teacher(self, **kwargs): return teacher def db_create_student(self, **kwargs): + print("USER MADE IN DB") institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) - #return Student.objects.create(user=user, institution=institution) - return 1 + return Student.objects.create(user=user, institution=institution) def db_create_course_type(self, **kwargs): defaults = { From 68c7738ce132afa0347c14f63aa8a8e34680c25a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 20:59:41 -0800 Subject: [PATCH 029/540] update --- ComSemApp/administrator/views.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index bff665da..42fddd30 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -21,6 +21,8 @@ from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin +from ComSemApp.libs.factories import create_student + class AdminViewMixin(RoleViewMixin): @@ -54,7 +56,34 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") + + def db_create_user(self, **kwargs): + defaults = { + "first_name": "firstname", + "last_name": "lastname", + "username": kwargs.get("username", str(uuid.uuid4())), + } + user = User.objects.create(**defaults) + password = kwargs.get("password", "password123") + user.set_password(password) + user.save() + return user + + def db_create_student(self, **kwargs): + defaults = { + "first_name": "testFirst", + "last_name": "testLast", + "email":"danieltestnotrealfsaskdj@gmail.com" + "username": kwargs.get("danieltestnotrealfsaskdj@gmail.com", str(uuid.uuid4())), + } + print("USER MADE IN DB") + institution = self.db_get_or_create_institution() + user = self.db_create_user(**defaults) + return Student.objects.create(user=user, institution=institution) + + #handle CSV upload def post(self, request, *args, **kwargs): + db_create_student(self, **kwargs) csv_file = request.FILES['file'] for line in csv_file: print (line) @@ -134,7 +163,6 @@ def _send_email(self, user, password): class UserCreateMixin(UserMixin): def get(self, request, *args, **kwargs): - print("I AM HERE 2") user_form = UserForm() user_form.prefix = 'user_form' obj_form = self.get_obj_form() @@ -145,7 +173,7 @@ def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() print("I AM HERE 1") - print(user_form) + print(user_form.username) if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() From 0d2bb3ce3c9a6baa4e92805d3dec4cdf4b8ba01e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:00:48 -0800 Subject: [PATCH 030/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 42fddd30..af7a98da 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -63,7 +63,7 @@ def db_create_user(self, **kwargs): "last_name": "lastname", "username": kwargs.get("username", str(uuid.uuid4())), } - user = User.objects.create(**defaults) + user = User.objects.create(**kwargs) password = kwargs.get("password", "password123") user.set_password(password) user.save() From e966be8a00faa7cb277912fb14c93d4886f56d99 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:01:45 -0800 Subject: [PATCH 031/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index af7a98da..d62ba9c2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -73,7 +73,7 @@ def db_create_student(self, **kwargs): defaults = { "first_name": "testFirst", "last_name": "testLast", - "email":"danieltestnotrealfsaskdj@gmail.com" + "email":"danieltestnotrealfsaskdj@gmail.com", "username": kwargs.get("danieltestnotrealfsaskdj@gmail.com", str(uuid.uuid4())), } print("USER MADE IN DB") From 84db9860ecdfaa39e33c3c614a0177a53b3c60c2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:02:03 -0800 Subject: [PATCH 032/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d62ba9c2..3a62f950 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -67,7 +67,7 @@ def db_create_user(self, **kwargs): password = kwargs.get("password", "password123") user.set_password(password) user.save() - return user + return user def db_create_student(self, **kwargs): defaults = { @@ -79,7 +79,7 @@ def db_create_student(self, **kwargs): print("USER MADE IN DB") institution = self.db_get_or_create_institution() user = self.db_create_user(**defaults) - return Student.objects.create(user=user, institution=institution) + return Student.objects.create(user=user, institution=institution) #handle CSV upload def post(self, request, *args, **kwargs): From 6b1ebf906b95def1fe46d57bc3373d2c47d964e8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:02:26 -0800 Subject: [PATCH 033/540] update --- ComSemApp/administrator/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 3a62f950..54976d20 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -21,7 +21,6 @@ from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin -from ComSemApp.libs.factories import create_student class AdminViewMixin(RoleViewMixin): From 19708154ec28d61bf2569c81cc1a9575102d75ec Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:03:57 -0800 Subject: [PATCH 034/540] update --- ComSemApp/administrator/views.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 54976d20..433b3aed 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -56,6 +56,19 @@ class StudentListView(AdminViewMixin, ListView): template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") + def db_get_or_create_institution(self, **kwargs): + if self._institution: + return self._institution + + defaults = { + "name": "Institution Name", + "city": "Spokane", + "state_province": "WA", + "country": "USA", + } + self._institution = Institution.objects.create(**defaults) + return self._institution + def db_create_user(self, **kwargs): defaults = { "first_name": "firstname", @@ -82,7 +95,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - db_create_student(self, **kwargs) + self.db_create_student(self, **kwargs) csv_file = request.FILES['file'] for line in csv_file: print (line) From 5300e6bc2e91957b46dcf476f1cd9dbbf3740904 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:04:11 -0800 Subject: [PATCH 035/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 433b3aed..73c43480 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -67,7 +67,7 @@ def db_get_or_create_institution(self, **kwargs): "country": "USA", } self._institution = Institution.objects.create(**defaults) - return self._institution + return self._institution def db_create_user(self, **kwargs): defaults = { From 82afeb3d9bd677b6400731320a075f0443433d7b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:04:59 -0800 Subject: [PATCH 036/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 73c43480..1b9f93ba 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -95,7 +95,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - self.db_create_student(self, **kwargs) + self.db_create_student(**kwargs) csv_file = request.FILES['file'] for line in csv_file: print (line) From 589b58322f1d3a839820fbfe975bb76f7dcb36da Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:06:42 -0800 Subject: [PATCH 037/540] update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 1b9f93ba..c3373515 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -57,8 +57,8 @@ class StudentListView(AdminViewMixin, ListView): success_url = reverse_lazy("administrator:students") def db_get_or_create_institution(self, **kwargs): - if self._institution: - return self._institution + if self.institution: + return self.institution defaults = { "name": "Institution Name", @@ -66,8 +66,8 @@ def db_get_or_create_institution(self, **kwargs): "state_province": "WA", "country": "USA", } - self._institution = Institution.objects.create(**defaults) - return self._institution + self.institution = Institution.objects.create(**defaults) + return self.institution def db_create_user(self, **kwargs): defaults = { From dbfb296dc7258162f8c57a5bf7beb047cb627d0c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:17:17 -0800 Subject: [PATCH 038/540] update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c3373515..db8daad2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -83,10 +83,10 @@ def db_create_user(self, **kwargs): def db_create_student(self, **kwargs): defaults = { - "first_name": "testFirst", - "last_name": "testLast", - "email":"danieltestnotrealfsaskdj@gmail.com", - "username": kwargs.get("danieltestnotrealfsaskdj@gmail.com", str(uuid.uuid4())), + "first_name": "NEW", + "last_name": "LAS", + "email":"fdsfsdfsadfasdf@gmail.com", + "username": kwargs.get("fdsfsdfsadfasdf@gmail.com", str(uuid.uuid4())), } print("USER MADE IN DB") institution = self.db_get_or_create_institution() From a5e922da78fe168bdf9148837ca2b9c33adafa9c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:19:56 -0800 Subject: [PATCH 039/540] update --- ComSemApp/administrator/views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index db8daad2..214fec3c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -76,17 +76,17 @@ def db_create_user(self, **kwargs): "username": kwargs.get("username", str(uuid.uuid4())), } user = User.objects.create(**kwargs) - password = kwargs.get("password", "password123") - user.set_password(password) + #password = kwargs.get("password", "password123") + user.set_password("password123") user.save() return user def db_create_student(self, **kwargs): defaults = { - "first_name": "NEW", - "last_name": "LAS", - "email":"fdsfsdfsadfasdf@gmail.com", - "username": kwargs.get("fdsfsdfsadfasdf@gmail.com", str(uuid.uuid4())), + "first_name": "NEeW", + "last_name": "LASd", + "email":"dasfsdfsdfsadf@gmail.com", + "username": kwargs.get("dasfsdfsdfsadf@gmail.com", str(uuid.uuid4())), } print("USER MADE IN DB") institution = self.db_get_or_create_institution() From 7c6ac845de753e53e5c94e6c35b73f69fe21adbc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:25:55 -0800 Subject: [PATCH 040/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 214fec3c..f982328c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -73,7 +73,7 @@ def db_create_user(self, **kwargs): defaults = { "first_name": "firstname", "last_name": "lastname", - "username": kwargs.get("username", str(uuid.uuid4())), + "username": kwargs.get("username") } user = User.objects.create(**kwargs) #password = kwargs.get("password", "password123") @@ -86,7 +86,7 @@ def db_create_student(self, **kwargs): "first_name": "NEeW", "last_name": "LASd", "email":"dasfsdfsdfsadf@gmail.com", - "username": kwargs.get("dasfsdfsdfsadf@gmail.com", str(uuid.uuid4())), + "username": "dasfsdfsdfsadf@gmail.com" } print("USER MADE IN DB") institution = self.db_get_or_create_institution() From b21a4eb4a060c8ee03c4ac442b6ed4349e839039 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 13 Nov 2018 21:26:54 -0800 Subject: [PATCH 041/540] update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f982328c..27672933 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -83,10 +83,10 @@ def db_create_user(self, **kwargs): def db_create_student(self, **kwargs): defaults = { - "first_name": "NEeW", - "last_name": "LASd", - "email":"dasfsdfsdfsadf@gmail.com", - "username": "dasfsdfsdfsadf@gmail.com" + "first_name": "NEddeW", + "last_name": "LAddSd", + "email":"fsdfdsf@gmail.com", + "username": "fsdfdsf@gmail.com" } print("USER MADE IN DB") institution = self.db_get_or_create_institution() From 8f888c084079a5d6e4af06ee2b535e1198c127ae Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 09:50:23 -0800 Subject: [PATCH 042/540] update --- ComSemApp/administrator/views.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 27672933..938e44e9 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -14,6 +14,7 @@ from django.core.mail import send_mail from django.contrib import messages +import CSV from ComSemApp.models import * @@ -95,10 +96,14 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - self.db_create_student(**kwargs) + #self.db_create_student(**kwargs) csv_file = request.FILES['file'] - for line in csv_file: - print (line) + with open(csv_file) as csvfile: + readCSV = csv.reader(csvfile, delimiter=',') + for row in readCSV: + print(row) + print(row[0]) + print(row[1] return HttpResponseRedirect(self.success_url) def get_queryset(self): From f0b372a12865b17f4fa5c60820b2a34a000bd0c4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 09:51:41 -0800 Subject: [PATCH 043/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 938e44e9..e96aa6a1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -103,7 +103,7 @@ def post(self, request, *args, **kwargs): for row in readCSV: print(row) print(row[0]) - print(row[1] + print(row[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From bbab4a9d3ce0897d9a6fbe462b14709ac89b14ed Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 09:58:18 -0800 Subject: [PATCH 044/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e96aa6a1..5b4f3d9f 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -14,7 +14,7 @@ from django.core.mail import send_mail from django.contrib import messages -import CSV +import csv from ComSemApp.models import * From dd7d99c7f9b6635d8a58fe76b1f7119f7ca4d6f4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:01:09 -0800 Subject: [PATCH 045/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 5b4f3d9f..cfdb6a6b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -97,7 +97,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): #self.db_create_student(**kwargs) - csv_file = request.FILES['file'] + csv_file = request.FILES['file'].read() with open(csv_file) as csvfile: readCSV = csv.reader(csvfile, delimiter=',') for row in readCSV: From de57a904b15bc87c1c8c938885e1ce722b32cc32 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:03:17 -0800 Subject: [PATCH 046/540] update --- ComSemApp/administrator/views.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index cfdb6a6b..6abbe0e7 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -97,13 +97,12 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): #self.db_create_student(**kwargs) - csv_file = request.FILES['file'].read() - with open(csv_file) as csvfile: - readCSV = csv.reader(csvfile, delimiter=',') - for row in readCSV: - print(row) - print(row[0]) - print(row[1]) + csv_file = request.FILES['file'] + readCSV = csv.reader(csv_file, delimiter=',') + for row in readCSV: + print(row) + print(row[0]) + print(row[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 32778be84e30d15d9d51a06fe14572d13ce6a94b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:05:42 -0800 Subject: [PATCH 047/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6abbe0e7..0bb8264b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -97,7 +97,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): #self.db_create_student(**kwargs) - csv_file = request.FILES['file'] + csv_file = request.FILES['file'].read() readCSV = csv.reader(csv_file, delimiter=',') for row in readCSV: print(row) From 991238be276268317d95bd52db25d2ece3e18cc4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:09:16 -0800 Subject: [PATCH 048/540] update --- ComSemApp/administrator/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 0bb8264b..03477fd1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -15,6 +15,7 @@ from django.core.mail import send_mail from django.contrib import messages import csv +import io from ComSemApp.models import * @@ -97,7 +98,9 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): #self.db_create_student(**kwargs) - csv_file = request.FILES['file'].read() + + csv_file = request.FILES['file'] + io_file = io.TextIOWrapper(csv_file.file) readCSV = csv.reader(csv_file, delimiter=',') for row in readCSV: print(row) From 0b6faf668223576612b9bb50b70d78c254d367a2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:10:02 -0800 Subject: [PATCH 049/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 03477fd1..d6b31fa9 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -102,6 +102,7 @@ def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] io_file = io.TextIOWrapper(csv_file.file) readCSV = csv.reader(csv_file, delimiter=',') + print(readCSV) for row in readCSV: print(row) print(row[0]) From d688cc0286f165d802e325a0854eb702344d9295 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:15:02 -0800 Subject: [PATCH 050/540] update --- ComSemApp/administrator/views.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d6b31fa9..1a7dd3e5 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -100,13 +100,14 @@ def post(self, request, *args, **kwargs): #self.db_create_student(**kwargs) csv_file = request.FILES['file'] - io_file = io.TextIOWrapper(csv_file.file) - readCSV = csv.reader(csv_file, delimiter=',') + file_data = csv_file.read().decode("utf-8") + lines = file_data.split("\n") print(readCSV) - for row in readCSV: - print(row) - print(row[0]) - print(row[1]) + for line in lines: + fields = line.split(",") + print(field) + print(field[0]) + print(field[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 69e65d2d6092cc8c28e6a70a9e3c7eabbbd3e7ec Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:15:38 -0800 Subject: [PATCH 051/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 1a7dd3e5..0363ca6d 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -102,7 +102,7 @@ def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") - print(readCSV) + for line in lines: fields = line.split(",") print(field) From 59bd0bd9cb3ee8688a0b21c7dbd23e9d36351333 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:16:12 -0800 Subject: [PATCH 052/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 0363ca6d..04c08495 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -105,9 +105,9 @@ def post(self, request, *args, **kwargs): for line in lines: fields = line.split(",") - print(field) - print(field[0]) - print(field[1]) + print(fields) + print(fields[0]) + print(fields[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 60e937cbf4da08427494331f6ba258de0ae69f23 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:18:18 -0800 Subject: [PATCH 053/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 04c08495..2e6f495c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -107,7 +107,7 @@ def post(self, request, *args, **kwargs): fields = line.split(",") print(fields) print(fields[0]) - print(fields[1]) + #print(fields[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From f67cffa852c7749ccb5892def3bbe195b6892324 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:19:01 -0800 Subject: [PATCH 054/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 2e6f495c..09cc1262 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -104,6 +104,7 @@ def post(self, request, *args, **kwargs): lines = file_data.split("\n") for line in lines: + print("NEW LINE") fields = line.split(",") print(fields) print(fields[0]) From 0abe057160c0983c04388444e9f2b87142a52c33 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:22:38 -0800 Subject: [PATCH 055/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 09cc1262..cbe8ad47 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -108,7 +108,7 @@ def post(self, request, *args, **kwargs): fields = line.split(",") print(fields) print(fields[0]) - #print(fields[1]) + print(fields[1]) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 8bf1d6ae4ace26517596faf891ace77847e7810d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:26:52 -0800 Subject: [PATCH 056/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index cbe8ad47..c2ca92f1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -106,6 +106,8 @@ def post(self, request, *args, **kwargs): for line in lines: print("NEW LINE") fields = line.split(",") + if (fields[0] == '' || fields[0] == ""): + break print(fields) print(fields[0]) print(fields[1]) From d4063234929fb9a9ae2da4d7fb7593b397bd7e85 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:27:50 -0800 Subject: [PATCH 057/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c2ca92f1..6be2082b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -106,7 +106,7 @@ def post(self, request, *args, **kwargs): for line in lines: print("NEW LINE") fields = line.split(",") - if (fields[0] == '' || fields[0] == ""): + if (fields[0] == '' or fields[0] == ""): break print(fields) print(fields[0]) From 86624215bd7bf907fb4174d2f44d2f1feac8a8e8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:32:18 -0800 Subject: [PATCH 058/540] update --- ComSemApp/administrator/views.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6be2082b..102999f1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -72,11 +72,6 @@ def db_get_or_create_institution(self, **kwargs): return self.institution def db_create_user(self, **kwargs): - defaults = { - "first_name": "firstname", - "last_name": "lastname", - "username": kwargs.get("username") - } user = User.objects.create(**kwargs) #password = kwargs.get("password", "password123") user.set_password("password123") @@ -92,12 +87,11 @@ def db_create_student(self, **kwargs): } print("USER MADE IN DB") institution = self.db_get_or_create_institution() - user = self.db_create_user(**defaults) + user = self.db_create_user(**kwargs) return Student.objects.create(user=user, institution=institution) #handle CSV upload def post(self, request, *args, **kwargs): - #self.db_create_student(**kwargs) csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") @@ -107,10 +101,18 @@ def post(self, request, *args, **kwargs): print("NEW LINE") fields = line.split(",") if (fields[0] == '' or fields[0] == ""): + #end of file break + user{ + "first_name": field[0] + "last_name": field[1] + "email":field[2] + "username":field[2] + } print(fields) print(fields[0]) print(fields[1]) + self.db_create_student(**user) return HttpResponseRedirect(self.success_url) def get_queryset(self): From 2af9c9c04e19f495c308e10e0e1e2cf3e8b0d0c5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:32:43 -0800 Subject: [PATCH 059/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 102999f1..813ed4c4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -103,7 +103,7 @@ def post(self, request, *args, **kwargs): if (fields[0] == '' or fields[0] == ""): #end of file break - user{ + user = { "first_name": field[0] "last_name": field[1] "email":field[2] From 7d496d859dc2ca35a4062f5dcfde1e85a58ab282 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:33:02 -0800 Subject: [PATCH 060/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 813ed4c4..ef262aee 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -104,9 +104,9 @@ def post(self, request, *args, **kwargs): #end of file break user = { - "first_name": field[0] - "last_name": field[1] - "email":field[2] + "first_name": field[0], + "last_name": field[1], + "email":field[2], "username":field[2] } print(fields) From e7e4891b8734a9a714ab66c44546b0467f6f7129 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 14 Nov 2018 10:34:33 -0800 Subject: [PATCH 061/540] update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ef262aee..0352a345 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -104,10 +104,10 @@ def post(self, request, *args, **kwargs): #end of file break user = { - "first_name": field[0], - "last_name": field[1], - "email":field[2], - "username":field[2] + "first_name": fields[0], + "last_name": fields[1], + "email": fields[2], + "username": fields[2] } print(fields) print(fields[0]) From 6fa16b738755aba726d60e111efd4995ff839a9e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 15 Nov 2018 09:41:09 -0800 Subject: [PATCH 062/540] zeke update --- ComSemApp/administrator/views.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 0352a345..c8241757 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -58,6 +58,22 @@ class StudentListView(AdminViewMixin, ListView): template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") + def _send_email(self, user, password): + print("EMAIL SENT") + link = "https://www.comsem.net" + message = ("You have been invited to join Communication Seminar by an administrator for " + self.institution.name + ".\n" + "In order to log in, go to " + link + " and use \n" + "\tusername: " + user.username + "\n\tpassword: " + password + "\n" + "from there you can change your password.") + + send_mail( + 'Invitation to Communication Seminar', + message, + 'signup@comsem.net', + [user.email], + fail_silently=False, + ) + def db_get_or_create_institution(self, **kwargs): if self.institution: return self.institution @@ -73,19 +89,13 @@ def db_get_or_create_institution(self, **kwargs): def db_create_user(self, **kwargs): user = User.objects.create(**kwargs) - #password = kwargs.get("password", "password123") user.set_password("password123") user.save() + + # NEED TO GEN RANDOM PASSWORD AND SEND EMAIL return user def db_create_student(self, **kwargs): - defaults = { - "first_name": "NEddeW", - "last_name": "LAddSd", - "email":"fsdfdsf@gmail.com", - "username": "fsdfdsf@gmail.com" - } - print("USER MADE IN DB") institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) return Student.objects.create(user=user, institution=institution) From 00ca40bd3d35a125e5d5dd879ef402ad76974fb2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 25 Nov 2018 16:40:35 -0800 Subject: [PATCH 063/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c8241757..519c8e07 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -102,6 +102,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): + print(Student.objects.filter(institution=self.institution)) csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") From 98a09e6719fcda292f0cf2cda46fae21872e556e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 25 Nov 2018 16:48:45 -0800 Subject: [PATCH 064/540] update --- ComSemApp/administrator/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 519c8e07..f45ef865 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -103,7 +103,10 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): print(Student.objects.filter(institution=self.institution)) - + ''' + This is a multiline + comment. + csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") @@ -125,6 +128,7 @@ def post(self, request, *args, **kwargs): print(fields[1]) self.db_create_student(**user) return HttpResponseRedirect(self.success_url) + ''' def get_queryset(self): From cbb9b4226896c39f3edea956e4b012541f9e5256 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 25 Nov 2018 16:50:15 -0800 Subject: [PATCH 065/540] update --- ComSemApp/administrator/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f45ef865..022439de 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,8 +127,9 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) self.db_create_student(**user) + ''' return HttpResponseRedirect(self.success_url) - ''' + def get_queryset(self): From e8d7a0b63c23f103f44ef35d44520c4d42186ed4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 25 Nov 2018 16:57:35 -0800 Subject: [PATCH 066/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 022439de..cfeaedf2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -102,7 +102,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - print(Student.objects.filter(institution=self.institution)) + print(Student.objects.filter(institution=self.institution)[0]) ''' This is a multiline comment. From ccb3255481e35c86f8fbab5361d9c84df584f332 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 27 Nov 2018 15:27:47 -0800 Subject: [PATCH 067/540] update --- ComSemApp/administrator/views.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index cfeaedf2..9b902197 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -89,8 +89,12 @@ def db_get_or_create_institution(self, **kwargs): def db_create_user(self, **kwargs): user = User.objects.create(**kwargs) - user.set_password("password123") + password = User.objects.make_random_password() + print("password") + print(password) + user.set_password(password) user.save() + self._send_email(user, password) # NEED TO GEN RANDOM PASSWORD AND SEND EMAIL return user @@ -103,10 +107,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): print(Student.objects.filter(institution=self.institution)[0]) - ''' - This is a multiline - comment. - + csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") @@ -127,7 +128,7 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) self.db_create_student(**user) - ''' + return HttpResponseRedirect(self.success_url) From f0b3d98b063aa6aaab77d0e986f6cdefe417392e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Tue, 27 Nov 2018 15:47:57 -0800 Subject: [PATCH 068/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index afe9feba..a4eee237 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,7 +18,7 @@

All Students

{% csrf_token %} - +

Only Accepts CSV Files

From ef6292f8285be3c865c5b804f8ef4ad5bff65e52 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:12:10 -0800 Subject: [PATCH 069/540] update --- ComSemApp/administrator/views.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 9b902197..78d717c3 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -95,8 +95,6 @@ def db_create_user(self, **kwargs): user.set_password(password) user.save() self._send_email(user, password) - - # NEED TO GEN RANDOM PASSWORD AND SEND EMAIL return user def db_create_student(self, **kwargs): @@ -111,12 +109,19 @@ def post(self, request, *args, **kwargs): csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") - + rejectedLines = [] for line in lines: print("NEW LINE") fields = line.split(",") - if (fields[0] == '' or fields[0] == ""): + dupeUser = False + + for (user in Student.objects.filter(institution=self.institution)): + if(user.username == fields[2]): + dupeUser = True + break + if (fields[0] == '' or fields[0] == "" or dupeUser == True): #end of file + rejectedLines.append(fields) break user = { "first_name": fields[0], @@ -128,6 +133,7 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) self.db_create_student(**user) + print(rejectedLines) return HttpResponseRedirect(self.success_url) @@ -215,8 +221,6 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() - print("I AM HERE 1") - print(user_form.username) if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() From c8d7631005cdcb054f198136b25c06f451db47a0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:12:40 -0800 Subject: [PATCH 070/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 78d717c3..7902cad1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,7 +115,7 @@ def post(self, request, *args, **kwargs): fields = line.split(",") dupeUser = False - for (user in Student.objects.filter(institution=self.institution)): + for user in Student.objects.filter(institution=self.institution): if(user.username == fields[2]): dupeUser = True break From 67a8744ad2fb8e9e2bae5b81b0dfd9c2dfd32cd2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:13:21 -0800 Subject: [PATCH 071/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 7902cad1..469711ac 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,6 +118,7 @@ def post(self, request, *args, **kwargs): for user in Student.objects.filter(institution=self.institution): if(user.username == fields[2]): dupeUser = True + print("DUPE USER") break if (fields[0] == '' or fields[0] == "" or dupeUser == True): #end of file @@ -133,6 +134,7 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) self.db_create_student(**user) + print("REJECTED LINES") print(rejectedLines) return HttpResponseRedirect(self.success_url) From 148a536b2d83729e35fcff2ee9dc9427c416ed1f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:14:57 -0800 Subject: [PATCH 072/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 469711ac..c4525117 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -116,6 +116,7 @@ def post(self, request, *args, **kwargs): dupeUser = False for user in Student.objects.filter(institution=self.institution): + print(user) if(user.username == fields[2]): dupeUser = True print("DUPE USER") From 80e29a2c379341f8cfa692e22e307cf8c7a50247 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:24:16 -0800 Subject: [PATCH 073/540] update --- ComSemApp/administrator/views.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c4525117..95cb3c90 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -113,14 +113,7 @@ def post(self, request, *args, **kwargs): for line in lines: print("NEW LINE") fields = line.split(",") - dupeUser = False - - for user in Student.objects.filter(institution=self.institution): - print(user) - if(user.username == fields[2]): - dupeUser = True - print("DUPE USER") - break + if (fields[0] == '' or fields[0] == "" or dupeUser == True): #end of file rejectedLines.append(fields) @@ -131,6 +124,9 @@ def post(self, request, *args, **kwargs): "email": fields[2], "username": fields[2] } + dupeUser = Student.objects.filter(user=user).exists() + if dupeUser : + break print(fields) print(fields[0]) print(fields[1]) From fade4d781454514516bca61643cb11d5c4689204 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:24:45 -0800 Subject: [PATCH 074/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 95cb3c90..67575fa8 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -114,7 +114,7 @@ def post(self, request, *args, **kwargs): print("NEW LINE") fields = line.split(",") - if (fields[0] == '' or fields[0] == "" or dupeUser == True): + if (fields[0] == '' or fields[0] == ""): #end of file rejectedLines.append(fields) break From 125a5a3d6ab557cff6bac68f7b8b6f75813373de Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:25:32 -0800 Subject: [PATCH 075/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 67575fa8..5172bf4e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -124,7 +124,7 @@ def post(self, request, *args, **kwargs): "email": fields[2], "username": fields[2] } - dupeUser = Student.objects.filter(user=user).exists() + dupeUser = Student.objects.filter(user=user.username).exists() if dupeUser : break print(fields) From 2211c3aee064bb1c456bbadbb529d700b50616b1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:28:16 -0800 Subject: [PATCH 076/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 5172bf4e..77f79d67 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -124,7 +124,7 @@ def post(self, request, *args, **kwargs): "email": fields[2], "username": fields[2] } - dupeUser = Student.objects.filter(user=user.username).exists() + dupeUser = Student.objects.filter(user=user['username']).exists() if dupeUser : break print(fields) From 0728a8e6e0260129360478ee26c4c2f7ec0057c4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:29:47 -0800 Subject: [PATCH 077/540] update --- ComSemApp/administrator/views.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 77f79d67..1dea46a1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -114,7 +114,13 @@ def post(self, request, *args, **kwargs): print("NEW LINE") fields = line.split(",") - if (fields[0] == '' or fields[0] == ""): + for user in Student.objects.filter(institution=self.institution): + print(user) + if(user['username'] == fields[2]): + dupeUser = True + print("DUPE USER") + break + if (fields[0] == '' or fields[0] == "" or dupeUser == True): #end of file rejectedLines.append(fields) break @@ -124,7 +130,6 @@ def post(self, request, *args, **kwargs): "email": fields[2], "username": fields[2] } - dupeUser = Student.objects.filter(user=user['username']).exists() if dupeUser : break print(fields) From 95a69d2a25389c13b208fb2f92f45eae47683e2d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:30:41 -0800 Subject: [PATCH 078/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 1dea46a1..513f670f 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,7 +115,7 @@ def post(self, request, *args, **kwargs): fields = line.split(",") for user in Student.objects.filter(institution=self.institution): - print(user) + print(user['username']) if(user['username'] == fields[2]): dupeUser = True print("DUPE USER") From 78343bf9ee51cf6dede862264e3fe5d719915048 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:34:48 -0800 Subject: [PATCH 079/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 513f670f..6092a636 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -116,7 +116,7 @@ def post(self, request, *args, **kwargs): for user in Student.objects.filter(institution=self.institution): print(user['username']) - if(user['username'] == fields[2]): + if(user.user.username== fields[2]): dupeUser = True print("DUPE USER") break From ab3ae5606c7059fbdce533cdf7cb2bb975f59d1f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:35:30 -0800 Subject: [PATCH 080/540] update --- ComSemApp/administrator/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6092a636..602eb435 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,7 +115,6 @@ def post(self, request, *args, **kwargs): fields = line.split(",") for user in Student.objects.filter(institution=self.institution): - print(user['username']) if(user.user.username== fields[2]): dupeUser = True print("DUPE USER") From aa022cbdfa52da427400475bfa35abb2c41a170f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 11:37:12 -0800 Subject: [PATCH 081/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 602eb435..7a2baef7 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -117,6 +117,7 @@ def post(self, request, *args, **kwargs): for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True + print(user.user) print("DUPE USER") break if (fields[0] == '' or fields[0] == "" or dupeUser == True): From ae5abf6902ed51c113fcee5a1727eb85b332bac5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 12:11:44 -0800 Subject: [PATCH 082/540] update --- ComSemApp/administrator/views.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 7a2baef7..f2fd130b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -22,6 +22,8 @@ from django.contrib.auth.models import User from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin +from django.contrib import messages + @@ -104,8 +106,6 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - print(Student.objects.filter(institution=self.institution)[0]) - csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") @@ -132,12 +132,11 @@ def post(self, request, *args, **kwargs): } if dupeUser : break - print(fields) - print(fields[0]) - print(fields[1]) + self.db_create_student(**user) print("REJECTED LINES") print(rejectedLines) + messages.info(request, 'Your password has been changed successfully!') return HttpResponseRedirect(self.success_url) From 91a1fafc46c7218c837d02281143384fe7a927bd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 12:12:47 -0800 Subject: [PATCH 083/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f2fd130b..8b2bdae7 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -136,7 +136,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("REJECTED LINES") print(rejectedLines) - messages.info(request, 'Your password has been changed successfully!') + messages.info(request, rejectedLines) return HttpResponseRedirect(self.success_url) From ad2027577c804c391c2b7b8060d53dc8668ce4b3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 15:05:26 -0800 Subject: [PATCH 084/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 8b2bdae7..6d74429f 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -136,7 +136,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("REJECTED LINES") print(rejectedLines) - messages.info(request, rejectedLines) + messages.error(request, rejectedLines) return HttpResponseRedirect(self.success_url) From 2ce92f785d4b946f0d76983bb1a7efb89c522d9f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:15:10 -0800 Subject: [PATCH 085/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index a4eee237..94c7d872 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,6 +25,14 @@

All Students

+ {% if messages %} +
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+ {% endif %} + {% if student_list %}
From 95245bbc454b1cf40b4caf5092420962648214c6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:20:00 -0800 Subject: [PATCH 086/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 94c7d872..ce0e47ea 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -28,7 +28,7 @@

All Students

{% if messages %}
    {% for message in messages %} - {{ message }} + {{ message }} {% endfor %}
{% endif %} From 2b615db8be597dd711f8a94856157a2f9b4ebaa2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:22:56 -0800 Subject: [PATCH 087/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index ce0e47ea..4b7ae529 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -28,7 +28,7 @@

All Students

{% if messages %}
    {% for message in messages %} - {{ message }} + {{ message }} {% endfor %}
{% endif %} From 51b6bd36cbb211b0ec7ac6c7f7b9e6bb44ff018c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:23:20 -0800 Subject: [PATCH 088/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 4b7ae529..362680f4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -28,7 +28,7 @@

All Students

{% if messages %}
    {% for message in messages %} - {{ message }} + {{ message }} {% endfor %}
{% endif %} From de4c22486a45070c022913e422835787306d0530 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:24:08 -0800 Subject: [PATCH 089/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 362680f4..a3e106ef 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,13 +25,7 @@

All Students

- {% if messages %} -
    - {% for message in messages %} - {{ message }} - {% endfor %} -
- {% endif %} + {% if student_list %}
From bd4505bced9f75ae3967ac193415fc2e7c3e0b69 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:27:08 -0800 Subject: [PATCH 090/540] update --- ComSemApp/administrator/views.py | 10 +++++----- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6d74429f..bbec805b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -22,8 +22,6 @@ from django.contrib.auth.models import User from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin -from django.contrib import messages - @@ -106,6 +104,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): + csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") @@ -132,12 +131,13 @@ def post(self, request, *args, **kwargs): } if dupeUser : break - + print(fields) + print(fields[0]) + print(fields[1]) self.db_create_student(**user) print("REJECTED LINES") print(rejectedLines) - messages.error(request, rejectedLines) - + messages.add_message(request, messages.INFO, 'Hello world.') return HttpResponseRedirect(self.success_url) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index a3e106ef..362680f4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,7 +25,13 @@

All Students

- + {% if messages %} +
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+ {% endif %} {% if student_list %}
From ad5c582e8917de9814dcd6c6bf62263e694f1693 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 28 Nov 2018 16:27:46 -0800 Subject: [PATCH 091/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index bbec805b..3399ed17 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -137,7 +137,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("REJECTED LINES") print(rejectedLines) - messages.add_message(request, messages.INFO, 'Hello world.') + messages.add_message(request, messages.ERROR, rejectedLines) return HttpResponseRedirect(self.success_url) From ac7a19c34cd1620957dec994e72ef56d413ab59a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 09:58:56 -0800 Subject: [PATCH 092/540] update --- ComSemApp/libs/factories.py | 1 - ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/libs/factories.py b/ComSemApp/libs/factories.py index 83c9f300..1f090c17 100644 --- a/ComSemApp/libs/factories.py +++ b/ComSemApp/libs/factories.py @@ -52,7 +52,6 @@ def db_create_teacher(self, **kwargs): return teacher def db_create_student(self, **kwargs): - print("USER MADE IN DB") institution = self.db_get_or_create_institution() user = self.db_create_user(**kwargs) return Student.objects.create(user=user, institution=institution) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 362680f4..2a2d6807 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -20,7 +20,7 @@

All Students

Only Accepts CSV Files

- +
From 470ed98c6cdbebf14f138aeea79aefb07f1371ce Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 09:59:47 -0800 Subject: [PATCH 093/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 2a2d6807..362680f4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -20,7 +20,7 @@

All Students

Only Accepts CSV Files

- + From 15a2c254237d4fce8a3410b7cab65d3d50d1de90 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:03:09 -0800 Subject: [PATCH 094/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 3399ed17..c9e9f144 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -109,9 +109,11 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] + for line in lines: print("NEW LINE") fields = line.split(",") + dupeUser = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): From 677dd4845df19855e1327e915ee7018cb7e0874f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:04:52 -0800 Subject: [PATCH 095/540] -update --- ComSemApp/administrator/views.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c9e9f144..b4dade5f 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -114,14 +114,16 @@ def post(self, request, *args, **kwargs): print("NEW LINE") fields = line.split(",") dupeUser = False - + if (fields[0] == '' or fields[0] == "") + #end of file + break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True print(user.user) print("DUPE USER") break - if (fields[0] == '' or fields[0] == "" or dupeUser == True): + if (dupeUser == True): #end of file rejectedLines.append(fields) break From d1b66e7666f3fed667c2faa3a23d2dd5e0a58b78 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:08:11 -0800 Subject: [PATCH 096/540] -update --- ComSemApp/administrator/views.py | 65 ++++++++++++++++---------------- 1 file changed, 33 insertions(+), 32 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index b4dade5f..aeba619b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -111,39 +111,40 @@ def post(self, request, *args, **kwargs): rejectedLines = [] for line in lines: - print("NEW LINE") - fields = line.split(",") - dupeUser = False - if (fields[0] == '' or fields[0] == "") - #end of file - break - for user in Student.objects.filter(institution=self.institution): - if(user.user.username== fields[2]): - dupeUser = True - print(user.user) - print("DUPE USER") + if len(line): #make sure line isnt empy + print("NEW LINE") + fields = line.split(",") + dupeUser = False + if (fields[0] == "" or fields[0] == "") + #end of file break - if (dupeUser == True): - #end of file - rejectedLines.append(fields) - break - user = { - "first_name": fields[0], - "last_name": fields[1], - "email": fields[2], - "username": fields[2] - } - if dupeUser : - break - print(fields) - print(fields[0]) - print(fields[1]) - self.db_create_student(**user) - print("REJECTED LINES") - print(rejectedLines) - messages.add_message(request, messages.ERROR, rejectedLines) - return HttpResponseRedirect(self.success_url) - + for user in Student.objects.filter(institution=self.institution): + if(user.user.username== fields[2]): + dupeUser = True + print(user.user) + print("DUPE USER") + break + if (dupeUser == True): + #end of file + rejectedLines.append(fields) + break + user = { + "first_name": fields[0], + "last_name": fields[1], + "email": fields[2], + "username": fields[2] + } + if dupeUser : + break + print(fields) + print(fields[0]) + print(fields[1]) + self.db_create_student(**user) + print("REJECTED LINES") + print(rejectedLines) + messages.add_message(request, messages.ERROR, rejectedLines) + return HttpResponseRedirect(self.success_url) + def get_queryset(self): From 2ed8d35663f3e4db9c0624b58ec49888d6c00eb5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:09:44 -0800 Subject: [PATCH 097/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index aeba619b..4bad956f 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,7 +115,7 @@ def post(self, request, *args, **kwargs): print("NEW LINE") fields = line.split(",") dupeUser = False - if (fields[0] == "" or fields[0] == "") + if (fields[0] == "" or fields[0] == ""): #end of file break for user in Student.objects.filter(institution=self.institution): From 651805389848646d51f7fe5cb4a3b1d9270081cc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:12:05 -0800 Subject: [PATCH 098/540] -update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 4bad956f..81f4a0d4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -134,12 +134,12 @@ def post(self, request, *args, **kwargs): "email": fields[2], "username": fields[2] } - if dupeUser : - break print(fields) print(fields[0]) print(fields[1]) self.db_create_student(**user) + print("student made") + print(user) print("REJECTED LINES") print(rejectedLines) messages.add_message(request, messages.ERROR, rejectedLines) From 4671db9774b49a37ff87211191d81bac9e17783e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 10:13:33 -0800 Subject: [PATCH 099/540] -update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 81f4a0d4..1db26cd7 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -140,10 +140,10 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - print("REJECTED LINES") - print(rejectedLines) - messages.add_message(request, messages.ERROR, rejectedLines) - return HttpResponseRedirect(self.success_url) + print("REJECTED LINES") + print(rejectedLines) + messages.add_message(request, messages.ERROR, rejectedLines) + return HttpResponseRedirect(self.success_url) def get_queryset(self): From 0573fbd0fdad614c40baf95c6ae51719c1c6064d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:02:07 -0800 Subject: [PATCH 100/540] -update --- ComSemApp/administrator/views.py | 3 +++ ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 1db26cd7..770271b4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -22,6 +22,7 @@ from django.contrib.auth.models import User from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin +from django.core.exceptions import ValidationError @@ -57,6 +58,7 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") + errors= [] def _send_email(self, user, password): print("EMAIL SENT") @@ -142,6 +144,7 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) + errors.append(rejectedLines) messages.add_message(request, messages.ERROR, rejectedLines) return HttpResponseRedirect(self.success_url) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 362680f4..8e677030 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -27,8 +27,8 @@

All Students

{% if messages %}
    - {% for message in messages %} - {{ message }} + {% for error in errors %} + {{ error }} {% endfor %}
{% endif %} From 4dd0e26eca158a6145dbf94acc83f1843e2f8595 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:04:22 -0800 Subject: [PATCH 101/540] -update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 8e677030..ce0e47ea 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -27,8 +27,8 @@

All Students

{% if messages %}
    - {% for error in errors %} - {{ error }} + {% for message in messages %} + {{ message }} {% endfor %}
{% endif %} From cc92f6c837f9b66eb06fa776c1ebe89511e75923 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:05:00 -0800 Subject: [PATCH 102/540] -update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 770271b4..29c15273 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -58,7 +58,7 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") - errors= [] + def _send_email(self, user, password): print("EMAIL SENT") @@ -144,7 +144,7 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) - errors.append(rejectedLines) + messages.add_message(request, messages.ERROR, rejectedLines) return HttpResponseRedirect(self.success_url) From d4ad262fe06d60144f765a40eb5ce29c08bd5aac Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:05:57 -0800 Subject: [PATCH 103/540] -update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index ce0e47ea..4d34051e 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -26,7 +26,7 @@

All Students

{% if messages %} -
    +
      {% for message in messages %} {{ message }} {% endfor %} From 7dd289a9b6eb5a552965d3a365b714836158890c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:06:46 -0800 Subject: [PATCH 104/540] -update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 4d34051e..a4eee237 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,14 +25,6 @@

      All Students

      - {% if messages %} -
        - {% for message in messages %} - {{ message }} - {% endfor %} -
      - {% endif %} - {% if student_list %}
From 9b14a84d320c9355e65dbec87a763eb53fc6c7a7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:10:10 -0800 Subject: [PATCH 105/540] -update --- ComSemApp/administrator/views.py | 2 +- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 29c15273..3f365e64 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -58,7 +58,7 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") - + bob = ["TEST MESSAGE"] def _send_email(self, user, password): print("EMAIL SENT") diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index a4eee237..d1bef336 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,6 +25,14 @@

All Students

+ {% if bob %} +
    + {% for x in bob %} + {{ x }} + {% endfor %} +
+ {% endif %} + {% if student_list %}
From e3f660b08d0870b58f77e70f01c6fa909aacb264 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:15:11 -0800 Subject: [PATCH 106/540] -update --- .../templates/ComSemApp/admin/student_list.html | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index d1bef336..b3342ab1 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,13 +25,12 @@

All Students

- {% if bob %} -
    - {% for x in bob %} - {{ x }} - {% endfor %} -
- {% endif %} + {% if student_list %}
From 60702ede98bb66d36a86e735142008d62796ad59 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:27:09 -0800 Subject: [PATCH 107/540] -update --- ComSemApp/templates/ComSemApp/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/base.html b/ComSemApp/templates/ComSemApp/base.html index 01d06a97..02f23e5b 100644 --- a/ComSemApp/templates/ComSemApp/base.html +++ b/ComSemApp/templates/ComSemApp/base.html @@ -62,7 +62,7 @@ {% endblock %} - {% include 'ComSemApp/messages.html' %} + From 8af8135def1324bddc92d32d60241662c72b067e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 11:28:07 -0800 Subject: [PATCH 108/540] -update --- .../templates/ComSemApp/admin/student_list.html | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index b3342ab1..362680f4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -25,12 +25,13 @@

All Students

- + {% if messages %} +
    + {% for message in messages %} + {{ message }} + {% endfor %} +
+ {% endif %} {% if student_list %}
From 7467243cc5436adb365dd4ccf38fa13fe17fa532 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:06:53 -0800 Subject: [PATCH 109/540] -update --- ComSemApp/administrator/views.py | 11 +++++++---- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 3f365e64..efdf42be 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -58,7 +58,7 @@ class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' success_url = reverse_lazy("administrator:students") - bob = ["TEST MESSAGE"] + errors= ["bobo"] def _send_email(self, user, password): print("EMAIL SENT") @@ -111,8 +111,10 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] + message = "The Following users were not added \n" for line in lines: + count = 2 if len(line): #make sure line isnt empy print("NEW LINE") fields = line.split(",") @@ -125,11 +127,13 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") + message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username) break if (dupeUser == True): #end of file rejectedLines.append(fields) break + if () user = { "first_name": fields[0], "last_name": fields[1], @@ -144,9 +148,8 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) - - messages.add_message(request, messages.ERROR, rejectedLines) - return HttpResponseRedirect(self.success_url) + messages.add_message(request, messages.ERROR, message) + return HttpResponseRedirect(self.success_url)) def get_queryset(self): diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 362680f4..c4b4f242 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -24,7 +24,7 @@

All Students

- + {% if student_list %}
From d4df31d28980ff2b5bb25b9a0984cb69cfd66b40 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:07:11 -0800 Subject: [PATCH 110/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index efdf42be..6ec25836 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username) + message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username") break if (dupeUser == True): #end of file From dcbb45db97ed0e556b4681c0b71c55aed5df62e1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:07:37 -0800 Subject: [PATCH 111/540] -update --- ComSemApp/administrator/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6ec25836..de340514 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -133,7 +133,6 @@ def post(self, request, *args, **kwargs): #end of file rejectedLines.append(fields) break - if () user = { "first_name": fields[0], "last_name": fields[1], From b5d657d938ee6dfd5358d05fb856d627e37b14d1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:07:55 -0800 Subject: [PATCH 112/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index de340514..6aea3c4b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -148,7 +148,7 @@ def post(self, request, *args, **kwargs): print("REJECTED LINES") print(rejectedLines) messages.add_message(request, messages.ERROR, message) - return HttpResponseRedirect(self.success_url)) + return HttpResponseRedirect(self.success_url) def get_queryset(self): From 236b85f5ff918458c23fb333df18a9a500bd1d57 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:10:28 -0800 Subject: [PATCH 113/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6aea3c4b..8ba65a18 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username") + message += (count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username \n") break if (dupeUser == True): #end of file From 08c15483a255f035b7d7830758952ef065cc1945 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:11:49 -0800 Subject: [PATCH 114/540] -update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 8ba65a18..c0437d12 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -111,7 +111,7 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - message = "The Following users were not added \n" + message = ["The Following users were not added"] for line in lines: count = 2 @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message += (count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username \n") + message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username ") break if (dupeUser == True): #end of file From be377115a66c886e0a9e5ced029ecc90deba9068 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:12:30 -0800 Subject: [PATCH 115/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c0437d12..b12d5af2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message.append(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username ") + message.append(str(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username ")) break if (dupeUser == True): #end of file From 4c666e18f90df1a1d14aecebbfcb7dc630754472 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:13:47 -0800 Subject: [PATCH 116/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index b12d5af2..498cc7d8 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message.append(str(count+ " " + fields[0]+" "+fields[1]+" "+fields[2]+" Duplicate Username ")) + message.append((count + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ")) break if (dupeUser == True): #end of file From 830545623e553e2a21090152924a06911010376c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:14:35 -0800 Subject: [PATCH 117/540] -update --- ComSemApp/administrator/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 498cc7d8..c3818dc6 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -111,7 +111,7 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - message = ["The Following users were not added"] + messages = ["The Following users were not added"] for line in lines: count = 2 @@ -127,7 +127,8 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message.append((count + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ")) + message = (count + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") + messages.append(message) break if (dupeUser == True): #end of file From e006e861a80768273385500e279939abf4f71106 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:15:39 -0800 Subject: [PATCH 118/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c3818dc6..e30792ca 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): dupeUser = True print(user.user) print("DUPE USER") - message = (count + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") messages.append(message) break if (dupeUser == True): From 96b4795c8c340f1524fe7cb3a54ce4eb38471602 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:16:43 -0800 Subject: [PATCH 119/540] -update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e30792ca..419215f0 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -111,7 +111,7 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - messages = ["The Following users were not added"] + message_content = ["The Following users were not added"] for line in lines: count = 2 @@ -128,7 +128,7 @@ def post(self, request, *args, **kwargs): print(user.user) print("DUPE USER") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") - messages.append(message) + message_content.append(message) break if (dupeUser == True): #end of file From 80a6be6b07f9d03f31200d8e4e72d7f473e92735 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:18:09 -0800 Subject: [PATCH 120/540] -update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index c4b4f242..37cb57f4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -24,7 +24,7 @@

All Students

- + {% if student_list %}
From db36728962e968439f5c85d42af55d3b02c1ace6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:24:28 -0800 Subject: [PATCH 121/540] -update --- ComSemApp/templates/ComSemApp/messages.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/messages.html b/ComSemApp/templates/ComSemApp/messages.html index a6c53c3f..8e672764 100644 --- a/ComSemApp/templates/ComSemApp/messages.html +++ b/ComSemApp/templates/ComSemApp/messages.html @@ -19,7 +19,6 @@ var cs_ajax_error = function(jqXHR, textStatus, errorThrown){ cs_notification('error', errorThrown) } - function cs_notification(tag, message){ $.Notification.notify(tag, 'right bottom', message) } @@ -28,4 +27,4 @@ - + \ No newline at end of file From c5cc141fd60e8f3341c795e7033801ed2eb8e085 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:25:09 -0800 Subject: [PATCH 122/540] -update --- ComSemApp/templates/ComSemApp/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/base.html b/ComSemApp/templates/ComSemApp/base.html index 02f23e5b..01d06a97 100644 --- a/ComSemApp/templates/ComSemApp/base.html +++ b/ComSemApp/templates/ComSemApp/base.html @@ -62,7 +62,7 @@ {% endblock %} - + {% include 'ComSemApp/messages.html' %} From 2f86e0467d96f6722555af753f3e37861e13657d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:26:12 -0800 Subject: [PATCH 123/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 419215f0..bb8e8fb2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -148,7 +148,7 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) - messages.add_message(request, messages.ERROR, message) + messages.add_message(request, messages.ERROR, message_content) return HttpResponseRedirect(self.success_url) From f0637ce884fbfbb45f1101362a2c70dea9d111ef Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:45:56 -0800 Subject: [PATCH 124/540] -update --- ComSemApp/administrator/views.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index bb8e8fb2..ae22a9ca 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -122,6 +122,11 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break + if (!fields[0].isAlpha or !fields[1].isAlpha): + print("invalid name") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") + message_content.append(message) + break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True From c667af1b96b446f67830f78e0a78c5d96979aca1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:46:23 -0800 Subject: [PATCH 125/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ae22a9ca..6083ed9e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -122,7 +122,7 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break - if (!fields[0].isAlpha or !fields[1].isAlpha): + if (fields[0].isAlpha == False or fields[1].isAlpha == False): print("invalid name") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) From 1afc1ba8c8e85d9156f677fbae80dae6325417b3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:47:05 -0800 Subject: [PATCH 126/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6083ed9e..9fa648f3 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -122,7 +122,7 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break - if (fields[0].isAlpha == False or fields[1].isAlpha == False): + if (fields[0].isalpha == False or fields[1].isalpha == False): print("invalid name") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) From ed3fe55a793796eb8921eba1605feb1c6b179e6a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:49:08 -0800 Subject: [PATCH 127/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 9fa648f3..f6c72e87 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -122,7 +122,7 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break - if (fields[0].isalpha == False or fields[1].isalpha == False): + if (fields[0].isalpha() == False or fields[1].isalpha() == False): print("invalid name") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) From 7b9fb825eb7cb32df2c167fe011bbba6cf4f312e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 12:55:47 -0800 Subject: [PATCH 128/540] -update --- ComSemApp/administrator/views.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f6c72e87..f6b96685 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -13,11 +13,13 @@ from django.views import View from django.core.mail import send_mail +from django.core.validators import validate_email from django.contrib import messages import csv import io + from ComSemApp.models import * from django.contrib.auth.models import User from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm @@ -127,6 +129,13 @@ def post(self, request, *args, **kwargs): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) break + if (validate_email(fields[2]) == False): + print("email invalid") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email ") + message_content.append(message) + break + pattern = re.compile("^([A-Z][0-9]+)+$") + pattern.match(string) for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True From a4fe165013b8cfb7af3ddb0b6266fdf67be211c0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:16:53 -0800 Subject: [PATCH 129/540] -update --- ComSemApp/administrator/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f6b96685..e2a86e27 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -134,8 +134,7 @@ def post(self, request, *args, **kwargs): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email ") message_content.append(message) break - pattern = re.compile("^([A-Z][0-9]+)+$") - pattern.match(string) + for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True From 2ea599a02cc22d1cfa049f1b5e6640e0b6dadb8c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:33:26 -0800 Subject: [PATCH 130/540] -update --- ComSemApp/administrator/views.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e2a86e27..ad6d61ad 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,28 +118,29 @@ def post(self, request, *args, **kwargs): for line in lines: count = 2 if len(line): #make sure line isnt empy - print("NEW LINE") fields = line.split(",") dupeUser = False if (fields[0] == "" or fields[0] == ""): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - print("invalid name") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) break - if (validate_email(fields[2]) == False): - print("email invalid") - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email ") + valid_email = False + try: + validate_email(username) + valid_email = True + except validate_email.ValidationError: + valid_email = False + if (valid_email == False): + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email") message_content.append(message) - break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): dupeUser = True print(user.user) - print("DUPE USER") message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") message_content.append(message) break From fccad2728caa2b09c9e65e7c469cb7e476159442 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:35:45 -0800 Subject: [PATCH 131/540] -update --- ComSemApp/administrator/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ad6d61ad..125c2887 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -128,14 +128,15 @@ def post(self, request, *args, **kwargs): message_content.append(message) break valid_email = False - try: - validate_email(username) + try: validate_email(username) valid_email = True except validate_email.ValidationError: valid_email = False + if (valid_email == False): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email") message_content.append(message) + break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): From ef6909ad22d982de0b38295968ab560013f6da23 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:36:39 -0800 Subject: [PATCH 132/540] -update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 125c2887..8c16c6bd 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -128,7 +128,7 @@ def post(self, request, *args, **kwargs): message_content.append(message) break valid_email = False - try: validate_email(username) + try: validate_email(fields[2]) valid_email = True except validate_email.ValidationError: valid_email = False From faa2e35c813511fa19e68d5852631bd56781ce42 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:44:40 -0800 Subject: [PATCH 133/540] -update --- ComSemApp/administrator/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 8c16c6bd..d6e47675 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -128,7 +128,8 @@ def post(self, request, *args, **kwargs): message_content.append(message) break valid_email = False - try: validate_email(fields[2]) + try: + validate_email(fields[2]) valid_email = True except validate_email.ValidationError: valid_email = False From 58df34589bf76cd827d140844e84b66501d6db96 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 14:47:16 -0800 Subject: [PATCH 134/540] -update --- ComSemApp/administrator/views.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d6e47675..f480ed35 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,17 +127,18 @@ def post(self, request, *args, **kwargs): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) break - valid_email = False - try: - validate_email(fields[2]) - valid_email = True - except validate_email.ValidationError: - valid_email = False - - if (valid_email == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email") - message_content.append(message) - break + # + #valid_email = False + #try: + # validate_email(fields[2]) + # valid_email = True + #except validate_email.ValidationError: + # valid_email = False + + #if (valid_email == False): + # message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email") + # message_content.append(message) + # break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): From a04aabbc40b959613bee63bd2cb5c76781dbed99 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:02:07 -0800 Subject: [PATCH 135/540] update --- ComSemApp/templates/ComSemApp/sidebar.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index dbc3ed8b..faebe5cd 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -207,6 +207,12 @@
Welcome, {{ user.username }}
Courses +
  • + + + Discussion_board + +
  • From dba025e43983e7ca940d75db4b61f7299610658b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:05:02 -0800 Subject: [PATCH 136/540] update --- ComSemApp/templates/ComSemApp/sidebar.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index faebe5cd..1358650d 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -156,6 +156,12 @@
    Welcome, {{ user.username }}
    Students
  • +
  • + + + Discussion_board + +
  • From fc142aadec9438744d6afdb577b15174d22622b8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:08:55 -0800 Subject: [PATCH 137/540] update --- ComSemApp/templates/ComSemApp/sidebar.html | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index 1358650d..73b40ea0 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -156,12 +156,6 @@
    Welcome, {{ user.username }}
    Students
  • -
  • - - - Discussion_board - -
  • @@ -174,6 +168,12 @@
    Welcome, {{ user.username }}
    Courses
  • +
  • + + + Discussion_board + +
  • @@ -213,12 +213,6 @@
    Welcome, {{ user.username }}
    Courses
  • -
  • - - - Discussion_board - -
  • From c003698d312f86178f3b6135e28d4770940cdc05 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:10:17 -0800 Subject: [PATCH 138/540] update --- ComSemApp/templates/ComSemApp/sidebar.html | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index 73b40ea0..dbc3ed8b 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -168,12 +168,6 @@
    Welcome, {{ user.username }}
    Courses
  • -
  • - - - Discussion_board - -
  • From 3eec24b19c127869d0d2542a7ec2474f72978376 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:25:29 -0800 Subject: [PATCH 139/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 37cb57f4..32282ca7 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -17,10 +17,10 @@

    All Students

    {% csrf_token %} - +

    Only Accepts CSV Files

    - + From 44d789857d2525e8981799852c14fd75d4b655a1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:29:29 -0800 Subject: [PATCH 140/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 32282ca7..2644534c 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -17,8 +17,7 @@

    All Students

    {% csrf_token %} - - + Select File

    Only Accepts CSV Files

    From 283ed0836aeb5b324d6279eebdc1865514f59925 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:33:45 -0800 Subject: [PATCH 141/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 2644534c..6b8286de 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,8 +18,8 @@

    All Students

    {% csrf_token %} Select File -

    Only Accepts CSV Files

    +

    Uploader only allows CSV Files/p> From 0a11bd33ed8a966081cd109216d1aef586b3ba22 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:46:03 -0800 Subject: [PATCH 142/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 6b8286de..f12a046e 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -19,8 +19,8 @@

    All Students

    {% csrf_token %} Select File -

    Uploader only allows CSV Files/p> +

    Uploader only allows CSV Files/p> From e52795c46a3a0558e9dbb16dda1e06727c421401 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:46:40 -0800 Subject: [PATCH 143/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index f12a046e..cbe99bdb 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -20,7 +20,7 @@

    All Students

    Select File -

    Uploader only allows CSV Files/p> +

    Uploader only allows CSV Files

    From 97d7da9272f2dd92aa8567368710355e57175ec2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:50:01 -0800 Subject: [PATCH 144/540] update --- ComSemApp/administrator/views.py | 101 ++++++++++++++----------------- 1 file changed, 45 insertions(+), 56 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f480ed35..e7956cac 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -108,64 +108,53 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - - csv_file = request.FILES['file'] - file_data = csv_file.read().decode("utf-8") - lines = file_data.split("\n") - rejectedLines = [] - message_content = ["The Following users were not added"] - - for line in lines: - count = 2 - if len(line): #make sure line isnt empy - fields = line.split(",") - dupeUser = False - if (fields[0] == "" or fields[0] == ""): - #end of file - break - if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") - message_content.append(message) - break - # - #valid_email = False - #try: - # validate_email(fields[2]) - # valid_email = True - #except validate_email.ValidationError: - # valid_email = False - - #if (valid_email == False): - # message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid email") - # message_content.append(message) - # break - - for user in Student.objects.filter(institution=self.institution): - if(user.user.username== fields[2]): - dupeUser = True - print(user.user) - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") + if (len(request.FILES['file'] > 0): #check to make sure file was selected + csv_file = request.FILES['file'] + file_data = csv_file.read().decode("utf-8") + lines = file_data.split("\n") + rejectedLines = [] + message_content = ["The Following users were not added"] + + for line in lines: + count = 2 + if len(line): #make sure line isnt empy + fields = line.split(",") + dupeUser = False + if (fields[0] == "" or fields[0] == ""): + #end of file + break + if (fields[0].isalpha() == False or fields[1].isalpha() == False): + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) break - if (dupeUser == True): - #end of file - rejectedLines.append(fields) - break - user = { - "first_name": fields[0], - "last_name": fields[1], - "email": fields[2], - "username": fields[2] - } - print(fields) - print(fields[0]) - print(fields[1]) - self.db_create_student(**user) - print("student made") - print(user) - print("REJECTED LINES") - print(rejectedLines) - messages.add_message(request, messages.ERROR, message_content) + + + for user in Student.objects.filter(institution=self.institution): + if(user.user.username== fields[2]): + dupeUser = True + print(user.user) + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") + message_content.append(message) + break + if (dupeUser == True): + #end of file + rejectedLines.append(fields) + break + user = { + "first_name": fields[0], + "last_name": fields[1], + "email": fields[2], + "username": fields[2] + } + print(fields) + print(fields[0]) + print(fields[1]) + self.db_create_student(**user) + print("student made") + print(user) + print("REJECTED LINES") + print(rejectedLines) + messages.add_message(request, messages.ERROR, message_content) return HttpResponseRedirect(self.success_url) From 78b293fdfbcea635af5be2cc55e08f400d518f58 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:50:27 -0800 Subject: [PATCH 145/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e7956cac..037a1416 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -108,7 +108,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - if (len(request.FILES['file'] > 0): #check to make sure file was selected + if (len(request.FILES['file'] > 0)): #check to make sure file was selected csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") From 28b4e8d15c8e51c08d30f62329370e04569e02e0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:50:55 -0800 Subject: [PATCH 146/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 037a1416..d3313453 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -108,7 +108,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - if (len(request.FILES['file'] > 0)): #check to make sure file was selected + if (len(request.FILES > 0)): #check to make sure file was selected csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") From 0f6fc86d24167fbed3c3d40ec7709a51a334a710 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:51:37 -0800 Subject: [PATCH 147/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d3313453..c0a063ba 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -108,7 +108,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - if (len(request.FILES > 0)): #check to make sure file was selected + if (len(request.FILES) > 0): #check to make sure file was selected csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") From 2c0deff8a424b4538618cf2c915940db1e76040d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:54:30 -0800 Subject: [PATCH 148/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index cbe99bdb..5a7ffdba 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,10 +18,14 @@

    All Students

    {% csrf_token %} Select File +
    -

    Uploader only allows CSV Files

    + + +
    +

    Uploader only allows CSV Files

    {% if messages %} From fe84a1742fcb9cc5a8a0885a51629e3cfd4e6af7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:55:01 -0800 Subject: [PATCH 149/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 5a7ffdba..ae7fe3c0 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -17,7 +17,7 @@

    All Students

    {% csrf_token %} - Select File +
    From d35aea0a9a2f35f978f1844bd031574ee9952cf7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:55:57 -0800 Subject: [PATCH 150/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index ae7fe3c0..7d26e1e5 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -17,13 +17,12 @@

    All Students

    {% csrf_token %} - +
    - + - - +

    Uploader only allows CSV Files

    From cd90c01b61040ca73f6d6e6145dd4dfd04c82ea9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 15:58:58 -0800 Subject: [PATCH 151/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 7d26e1e5..9cc2c8d4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -17,7 +17,9 @@

    All Students

    {% csrf_token %} - +
    From cac4ade54ae6b305622c82123a862a300012ee96 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:01:14 -0800 Subject: [PATCH 152/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 9cc2c8d4..19086854 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,7 +18,7 @@

    All Students

    {% csrf_token %}
    From fe354362600464156cdb6e93b205531bd2c7853b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:01:53 -0800 Subject: [PATCH 153/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 19086854..9cc2c8d4 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,7 +18,7 @@

    All Students

    {% csrf_token %}
    From cfe6d222016da04b52f7f517492a30237c46d78b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:03:27 -0800 Subject: [PATCH 154/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 9cc2c8d4..10b45794 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,7 +18,8 @@

    All Students

    {% csrf_token %}
    From e98319ab4c88b9ad258f949661232d1455ccafd0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:05:57 -0800 Subject: [PATCH 155/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 10b45794..baedbc25 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -18,8 +18,7 @@

    All Students

    {% csrf_token %}
    From 3ff594c730f76dfa7edb3708f31c076b82b0cff8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:11:50 -0800 Subject: [PATCH 156/540] update --- ComSemApp/administrator/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c0a063ba..af2cbad4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -113,7 +113,7 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - message_content = ["The Following users were not added"] + message_content = ["The Following users were not added: \n"] for line in lines: count = 2 @@ -154,7 +154,8 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) - messages.add_message(request, messages.ERROR, message_content) + message_disp = "".join(message_content) + messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 2ac8c3f179ae98fe99cf088c88ea49f472993505 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:12:32 -0800 Subject: [PATCH 157/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index af2cbad4..37ea1031 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -133,7 +133,7 @@ def post(self, request, *args, **kwargs): if(user.user.username== fields[2]): dupeUser = True print(user.user) - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") message_content.append(message) break if (dupeUser == True): From 1d8bd696c4362ab50969a6218f00777b326f9be9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:13:31 -0800 Subject: [PATCH 158/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 37ea1031..ed97dc5d 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -154,7 +154,7 @@ def post(self, request, *args, **kwargs): print(user) print("REJECTED LINES") print(rejectedLines) - message_disp = "".join(message_content) + message_disp = "\n".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 4155324f96736528f1116dd18898e84414d27cc3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:17:01 -0800 Subject: [PATCH 159/540] update --- ComSemApp/administrator/views.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ed97dc5d..240ba60b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -119,27 +119,20 @@ def post(self, request, *args, **kwargs): count = 2 if len(line): #make sure line isnt empy fields = line.split(",") - dupeUser = False + okToCreate = True if (fields[0] == "" or fields[0] == ""): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) - break - - + okToCreate == False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): - dupeUser = True + okToCreate == False print(user.user) message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") message_content.append(message) - break - if (dupeUser == True): - #end of file - rejectedLines.append(fields) - break user = { "first_name": fields[0], "last_name": fields[1], From b3cb62ca1beae5692f3f5d2a6a81d19615ea8a2a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:17:48 -0800 Subject: [PATCH 160/540] update --- ComSemApp/administrator/views.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 240ba60b..ae8b0096 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -142,9 +142,10 @@ def post(self, request, *args, **kwargs): print(fields) print(fields[0]) print(fields[1]) - self.db_create_student(**user) - print("student made") - print(user) + if (okToCreate): + self.db_create_student(**user) + print("student made") + print(user) print("REJECTED LINES") print(rejectedLines) message_disp = "\n".join(message_content) From c4e4a925637a2b41e6742d8e5c1131f85a69d2e9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:19:41 -0800 Subject: [PATCH 161/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ae8b0096..0ce89809 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -142,7 +142,7 @@ def post(self, request, *args, **kwargs): print(fields) print(fields[0]) print(fields[1]) - if (okToCreate): + if (okToCreate == True): self.db_create_student(**user) print("student made") print(user) From 87281042fa8fb09b843c00bf3636fe8cb07841d3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:21:53 -0800 Subject: [PATCH 162/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 0ce89809..8ccbe0c4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -133,6 +133,7 @@ def post(self, request, *args, **kwargs): print(user.user) message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") message_content.append(message) + break user = { "first_name": fields[0], "last_name": fields[1], From 08f9202f3b6fc82d526b73298792366fb2cf6e3c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:23:08 -0800 Subject: [PATCH 163/540] update --- ComSemApp/administrator/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 8ccbe0c4..ac3eb069 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -129,9 +129,11 @@ def post(self, request, *args, **kwargs): okToCreate == False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): + print("DUPE USER") okToCreate == False print(user.user) message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") + print(message) message_content.append(message) break user = { @@ -144,7 +146,7 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) if (okToCreate == True): - self.db_create_student(**user) + #self.db_create_student(**user) print("student made") print(user) print("REJECTED LINES") From 41a83c9b4269358ace9c9142bbdcb749307cdb61 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:24:03 -0800 Subject: [PATCH 164/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ac3eb069..00d2cb78 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -146,7 +146,7 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) if (okToCreate == True): - #self.db_create_student(**user) + self.db_create_student(**user) print("student made") print(user) print("REJECTED LINES") From 43b5f6310a8f5999880b216a2273379206abe468 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:26:26 -0800 Subject: [PATCH 165/540] update --- ComSemApp/administrator/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 00d2cb78..c12c7ab3 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -146,7 +146,9 @@ def post(self, request, *args, **kwargs): print(fields[0]) print(fields[1]) if (okToCreate == True): - self.db_create_student(**user) + print("oktocreate") + print(okToCreate) + ##self.db_create_student(**user) print("student made") print(user) print("REJECTED LINES") From eca3bde5130b248c98ec444e55ec221d1ba148ac Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:27:06 -0800 Subject: [PATCH 166/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c12c7ab3..f66caf11 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -126,11 +126,11 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") message_content.append(message) - okToCreate == False + okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): print("DUPE USER") - okToCreate == False + okToCreate = False print(user.user) message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") print(message) From 58d8df7afd96cfbae9f43ad2c4106b36f1907ab6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:28:09 -0800 Subject: [PATCH 167/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f66caf11..71764606 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -148,7 +148,7 @@ def post(self, request, *args, **kwargs): if (okToCreate == True): print("oktocreate") print(okToCreate) - ##self.db_create_student(**user) + self.db_create_student(**user) print("student made") print(user) print("REJECTED LINES") From cf649d35a9983305c9477c629df1bbb7ea3202cd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:29:40 -0800 Subject: [PATCH 168/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index baedbc25..4c69ba4a 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -28,15 +28,13 @@

    All Students

    Uploader only allows CSV Files

    - +
    {% if messages %} -
      {% for message in messages %} - {{ message }} +

      {% if message.tags %} class="{{ alert }}"{% endif %}>{{ message }}

      {% endfor %} -
    {% endif %} - +
    {% if student_list %}
  • From 9fd96f6367b5a1b498b010bc356d483e6620acba Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:30:55 -0800 Subject: [PATCH 169/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 71764606..15045758 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -132,7 +132,7 @@ def post(self, request, *args, **kwargs): print("DUPE USER") okToCreate = False print(user.user) - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username
    ") print(message) message_content.append(message) break From 68119aaf91ff6513e96583b8e8fc9962ded3b7e9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:31:20 -0800 Subject: [PATCH 170/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 4c69ba4a..e02105a0 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -28,13 +28,15 @@

    All Students

    Uploader only allows CSV Files

    +
    {% if messages %} {% for message in messages %} -

    {% if message.tags %} class="{{ alert }}"{% endif %}>{{ message }}

    +

    {% if message.tags %} {{ alert }}"{% endif %}>{{ message }}

    {% endfor %} {% endif %}
    + {% if student_list %}
    From 77e560877c53fbfe8daff73ed2f02afd573e34ba Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:32:12 -0800 Subject: [PATCH 171/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index e02105a0..9ea7c782 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -32,7 +32,7 @@

    All Students

    {% if messages %} {% for message in messages %} -

    {% if message.tags %} {{ alert }}"{% endif %}>{{ message }}

    +

    {{ message }}

    {% endfor %} {% endif %}
    From 49189f576e38b3fdfd1adb7897c62f4a4328539e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:33:13 -0800 Subject: [PATCH 172/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 15045758..31021cc9 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -132,7 +132,7 @@ def post(self, request, *args, **kwargs): print("DUPE USER") okToCreate = False print(user.user) - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username
    ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username
    ") print(message) message_content.append(message) break From 0c2f348bf705a8d269912c44d7806ddf1c512cf0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:35:07 -0800 Subject: [PATCH 173/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 31021cc9..71764606 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -132,7 +132,7 @@ def post(self, request, *args, **kwargs): print("DUPE USER") okToCreate = False print(user.user) - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username
    ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") print(message) message_content.append(message) break From 1fe6a80b12be7a284329dc18f08f3cd4eaabc7cd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:37:20 -0800 Subject: [PATCH 174/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 9ea7c782..efcad105 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -32,7 +32,7 @@

    All Students

    {% if messages %} {% for message in messages %} -

    {{ message }}

    +
    {{ message }}
    {% endfor %} {% endif %}
    From 31b1199802273c172bc54df7f50415ed3c4fe0bb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:38:46 -0800 Subject: [PATCH 175/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index efcad105..00441d11 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -32,7 +32,9 @@

    All Students

    {% if messages %} {% for message in messages %} -
    {{ message }}
    +

    +

    {{ message }}
    +

    {% endfor %} {% endif %}
    From 850663caa74046682624c97e5d505e29de29cc23 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 16:41:12 -0800 Subject: [PATCH 176/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 00441d11..e6d39c95 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -32,9 +32,7 @@

    All Students

    {% if messages %} {% for message in messages %} -

    -

    {{ message }}
    -

    +
    {{ message }}
    {% endfor %} {% endif %}
    From e318f9d94de1028ac5e72e0fb29044474d8aa7ec Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:11:56 -0800 Subject: [PATCH 177/540] update --- ComSemApp/administrator/views.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 71764606..4174ec02 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -17,6 +17,7 @@ from django.contrib import messages import csv import io +import re @@ -124,7 +125,7 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name \n ") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): @@ -136,6 +137,13 @@ def post(self, request, *args, **kwargs): print(message) message_content.append(message) break + + addressToVerify =fields[2] + match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify) + if match == None: + print("INVALID EMAIL") + else: + print("valid Email") user = { "first_name": fields[0], "last_name": fields[1], @@ -148,7 +156,7 @@ def post(self, request, *args, **kwargs): if (okToCreate == True): print("oktocreate") print(okToCreate) - self.db_create_student(**user) + ##self.db_create_student(**user) print("student made") print(user) print("REJECTED LINES") From 6a0baff9e45c1a75fb508a0a00bc6074f9f5bb8c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:14:21 -0800 Subject: [PATCH 178/540] update --- ComSemApp/administrator/views.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 4174ec02..c2fc3069 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -140,10 +140,8 @@ def post(self, request, *args, **kwargs): addressToVerify =fields[2] match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify) - if match == None: - print("INVALID EMAIL") - else: - print("valid Email") + print("match") + print(match) user = { "first_name": fields[0], "last_name": fields[1], From 22cac6210c5732414d685e1601ad8f1df0ed815c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:17:16 -0800 Subject: [PATCH 179/540] update --- ComSemApp/administrator/views.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c2fc3069..4986e3c1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -140,8 +140,10 @@ def post(self, request, *args, **kwargs): addressToVerify =fields[2] match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify) - print("match") - print(match) + if (match == None): + print(fields[2]+ "NOT A VALID EMAIL") + else: + print(fields[2]+ "VALID email ") user = { "first_name": fields[0], "last_name": fields[1], From 01d9a55502471cc71d6c24fe50bef56c42499deb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:19:16 -0800 Subject: [PATCH 180/540] update --- ComSemApp/administrator/views.py | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 4986e3c1..f1721780 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -130,38 +130,26 @@ def post(self, request, *args, **kwargs): okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): - print("DUPE USER") okToCreate = False - print(user.user) message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") - print(message) message_content.append(message) break - addressToVerify =fields[2] - match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', addressToVerify) + # Check if a valid email address + match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): - print(fields[2]+ "NOT A VALID EMAIL") - else: - print(fields[2]+ "VALID email ") + okToCreate = False user = { "first_name": fields[0], "last_name": fields[1], "email": fields[2], "username": fields[2] } - print(fields) - print(fields[0]) - print(fields[1]) if (okToCreate == True): - print("oktocreate") - print(okToCreate) - ##self.db_create_student(**user) + self.db_create_student(**user) print("student made") print(user) - print("REJECTED LINES") - print(rejectedLines) - message_disp = "\n".join(message_content) + message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From aada460a717ec893636491fb6a6f357efce0d8d9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:24:04 -0800 Subject: [PATCH 181/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f1721780..661a8846 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name \n ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n ") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n") message_content.append(message) break @@ -143,7 +143,7 @@ def post(self, request, *args, **kwargs): "first_name": fields[0], "last_name": fields[1], "email": fields[2], - "username": fields[2] + "username": fields[2] #using email as username so teacher doesnt need to make usernames for everyone } if (okToCreate == True): self.db_create_student(**user) From bd7633c004eca67d781ed7cb74fdaa757a0c7f3d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:29:27 -0800 Subject: [PATCH 182/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index e6d39c95..0ee0bea8 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -26,7 +26,12 @@

    All Students


    -

    Uploader only allows CSV Files

    +

    Uploader only allows CSV Files please order students in the following way: + firstname, lastname, email. Below is an example of how the first line would look, a comma indicates a new column +

    +

    + John,Doe,johndoe@gmail.com +

    From 5f7582165614202042c3be095b2a9f3366736327 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:30:33 -0800 Subject: [PATCH 183/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 0ee0bea8..3b4aa05a 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -26,8 +26,11 @@

    All Students


    -

    Uploader only allows CSV Files please order students in the following way: - firstname, lastname, email. Below is an example of how the first line would look, a comma indicates a new column +

    Uploader only allows CSV Files. +

    +

    + Please order students in the following way: firstname, lastname, email. + Below is an example of how the first line would look, a comma indicates a new column

    John,Doe,johndoe@gmail.com From 0fd81b47cb001bb956bc0bc18859942c270c2f58 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:31:46 -0800 Subject: [PATCH 184/540] update --- ComSemApp/administrator/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 661a8846..f7a158a4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,20 +118,20 @@ def post(self, request, *args, **kwargs): for line in lines: count = 2 - if len(line): #make sure line isnt empy + if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True if (fields[0] == "" or fields[0] == ""): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " invalid first or last name \n") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Username \n") + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,6 +139,8 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False + message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message_content.append(message) user = { "first_name": fields[0], "last_name": fields[1], From fb00ec9ae0aab8aa27f463463cef71d8ed954cb0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:33:05 -0800 Subject: [PATCH 185/540] update --- ComSemApp/administrator/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index f7a158a4..1255d299 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,9 +115,9 @@ def post(self, request, *args, **kwargs): lines = file_data.split("\n") rejectedLines = [] message_content = ["The Following users were not added: \n"] - + line = 0 for line in lines: - count = 2 + line = line + 1 if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False - message = ( fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From 3b55e2ab31d4fb1b9bf501d805c0f07bd02c3d17 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:33:30 -0800 Subject: [PATCH 186/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 1255d299..916b9c8a 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False - message = (line + " " fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From c449d0277c98f0acbfcc79e8026c34920085fc53 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:34:08 -0800 Subject: [PATCH 187/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 916b9c8a..84f912a6 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False - message = (line + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From a0769689721ae46ee4d7e199678b8051bee932b1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:35:15 -0800 Subject: [PATCH 188/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 84f912a6..b0d65363 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -117,7 +117,7 @@ def post(self, request, *args, **kwargs): message_content = ["The Following users were not added: \n"] line = 0 for line in lines: - line = line + 1 + line++ if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True From 4441c14a81b40d86340c07e2e7d84e314659028e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:37:13 -0800 Subject: [PATCH 189/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index b0d65363..c3b36606 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -117,7 +117,7 @@ def post(self, request, *args, **kwargs): message_content = ["The Following users were not added: \n"] line = 0 for line in lines: - line++ + line += 1 if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True From 7b37d30b369fc2a28956ddb215520917d8b32a8f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:39:49 -0800 Subject: [PATCH 190/540] update --- ComSemApp/administrator/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index c3b36606..36ef1805 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,9 +115,9 @@ def post(self, request, *args, **kwargs): lines = file_data.split("\n") rejectedLines = [] message_content = ["The Following users were not added: \n"] - line = 0 + linecount for line in lines: - line += 1 + linecount += 1 if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False - message = (str(line) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From c67c5e63d4ecb79edbdbadf9225ab3718a2a4f2f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:40:17 -0800 Subject: [PATCH 191/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 36ef1805..9684db70 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -115,7 +115,7 @@ def post(self, request, *args, **kwargs): lines = file_data.split("\n") rejectedLines = [] message_content = ["The Following users were not added: \n"] - linecount + linecount = 0 for line in lines: linecount += 1 if len(line): #make sure line isnt empty From 8591a49efdfab10c2f7a9a8d7471c8d542a0f6fe Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:41:20 -0800 Subject: [PATCH 192/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 9684db70..29ea1888 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -125,13 +125,13 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False - message = (linecount + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From 1e1125ba14db08893b2e1adf6075032bde417d6e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 17:42:04 -0800 Subject: [PATCH 193/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 29ea1888..886eeb8b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -114,7 +114,7 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - message_content = ["The Following users were not added: \n"] + message_content = ["The Following users were not added: \n Their line numbers are listed to the left \n"] linecount = 0 for line in lines: linecount += 1 From b14fc6a45de827d427944407134508ed04af3d68 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:40:04 -0800 Subject: [PATCH 194/540] update --- ComSemApp/administrator/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 886eeb8b..03f86819 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -114,8 +114,9 @@ def post(self, request, *args, **kwargs): file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] - message_content = ["The Following users were not added: \n Their line numbers are listed to the left \n"] + message_content = [""] linecount = 0 + rejectcount = 0 for line in lines: linecount += 1 if len(line): #make sure line isnt empty @@ -128,9 +129,11 @@ def post(self, request, *args, **kwargs): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False + rejectcount += 1 for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False + rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -139,6 +142,7 @@ def post(self, request, *args, **kwargs): match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): okToCreate = False + rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { @@ -151,6 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) + message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n "+ str((linecount - rejectcount))+ "Accounts created sucessfully") message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From c9bc108c3a809b4fcb89f20bd912d67cc617b03c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:41:10 -0800 Subject: [PATCH 195/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 03f86819..eca09c4e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n "+ str((linecount - rejectcount))+ "Accounts created sucessfully") + message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n "+ (linecount) + " / " + (rejectcount)+ "Accounts created sucessfully\n") message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 43c3887bde5cfc965538b2d76b7e096c30e044b1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:41:51 -0800 Subject: [PATCH 196/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index eca09c4e..ee4e9314 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n "+ (linecount) + " / " + (rejectcount)+ "Accounts created sucessfully\n") + message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n " + str(linecount) + " / " + str(rejectcount)+ "Accounts created sucessfully\n") message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 09334c825d6e142fd540aba8a9e73a18d59b4a4c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:42:48 -0800 Subject: [PATCH 197/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ee4e9314..20c34766 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,10 +118,10 @@ def post(self, request, *args, **kwargs): linecount = 0 rejectcount = 0 for line in lines: - linecount += 1 if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True + linecount += 1 if (fields[0] == "" or fields[0] == ""): #end of file break From 30b3f79f56c7b70debefd40fc5b433b1b4a50a8a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:44:58 -0800 Subject: [PATCH 198/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 20c34766..87812470 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0,"The Following users were not added: \n Their line numbers are listed to the left \n " + str(linecount) + " / " + str(rejectcount)+ "Accounts created sucessfully\n") + message_content.insert(0, ("" + str(linecount) + " / " + str((linecount - rejectcount))+ "Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 8074545782e63f8671c71ab930973c21451051c5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:45:39 -0800 Subject: [PATCH 199/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 87812470..6fac4334 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str(linecount) + " / " + str((linecount - rejectcount))+ "Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str((linecount)+ " Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 1758e7866a9c31b1942771ff0ed0f790b3ed24fb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:46:04 -0800 Subject: [PATCH 200/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6fac4334..11c171f8 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str((linecount)+ " Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 98ae42d3fa725b21db61ff7fa89f1cd80e871009 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:46:40 -0800 Subject: [PATCH 201/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 11c171f8..dd5c2704 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The Following users were not added: \n Their line numbers are listed to the left \n ")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n ")) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 61eee2f216b32cb029cd55c7c266ce925650eca5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:47:21 -0800 Subject: [PATCH 202/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index dd5c2704..6427401e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -155,7 +155,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n ")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n \n")) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 129c4f138a47cd8fc8d5fed8ceb007dcd14e42c9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:49:09 -0800 Subject: [PATCH 203/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 3b4aa05a..7d9d156c 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -30,7 +30,7 @@

    All Students

    Please order students in the following way: firstname, lastname, email. - Below is an example of how the first line would look, a comma indicates a new column + Below is an example of how the first line would look, a comma indicates a new column. Names must contain letters only.

    John,Doe,johndoe@gmail.com From d3874f3ade252110906dfa757604cf5104a1422d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:52:01 -0800 Subject: [PATCH 204/540] update --- ComSemApp/templates/ComSemApp/StudentList.csv | 1 + 1 file changed, 1 insertion(+) create mode 100644 ComSemApp/templates/ComSemApp/StudentList.csv diff --git a/ComSemApp/templates/ComSemApp/StudentList.csv b/ComSemApp/templates/ComSemApp/StudentList.csv new file mode 100644 index 00000000..44657d73 --- /dev/null +++ b/ComSemApp/templates/ComSemApp/StudentList.csv @@ -0,0 +1 @@ +john,doe,johndoesemail1323@comsem.net \ No newline at end of file From 44151287387a526ae0d5dd5af2e80b07cebd59c7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:53:48 -0800 Subject: [PATCH 205/540] update --- ComSemApp/templates/ComSemApp/StudentList.csv | 1 - 1 file changed, 1 deletion(-) delete mode 100644 ComSemApp/templates/ComSemApp/StudentList.csv diff --git a/ComSemApp/templates/ComSemApp/StudentList.csv b/ComSemApp/templates/ComSemApp/StudentList.csv deleted file mode 100644 index 44657d73..00000000 --- a/ComSemApp/templates/ComSemApp/StudentList.csv +++ /dev/null @@ -1 +0,0 @@ -john,doe,johndoesemail1323@comsem.net \ No newline at end of file From 92048f887a985434e9264a8ed9a9f145656a39cc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:54:47 -0800 Subject: [PATCH 206/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6427401e..969d34dc 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -126,7 +126,7 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) okToCreate = False rejectcount += 1 @@ -134,7 +134,7 @@ def post(self, request, *args, **kwargs): if(user.user.username== fields[2]): okToCreate = False rejectcount += 1 - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -143,7 +143,7 @@ def post(self, request, *args, **kwargs): if (match == None): okToCreate = False rejectcount += 1 - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " ß Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From bfea293e76cd9d7530e2c8627b36876e06cc32e3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 18:55:42 -0800 Subject: [PATCH 207/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 969d34dc..d33aa0ff 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -143,7 +143,7 @@ def post(self, request, *args, **kwargs): if (match == None): okToCreate = False rejectcount += 1 - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " ß Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) user = { "first_name": fields[0], From a91cef2ecd121d0a7f24a1528af69753b32ab589 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:05:14 -0800 Subject: [PATCH 208/540] update --- ComSemApp/administrator/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d33aa0ff..51e3a32b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -109,7 +109,7 @@ def db_create_student(self, **kwargs): #handle CSV upload def post(self, request, *args, **kwargs): - if (len(request.FILES) > 0): #check to make sure file was selected + if (len(request.FILES) > 0): #check to make sure file was uploaded csv_file = request.FILES['file'] file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") @@ -130,6 +130,7 @@ def post(self, request, *args, **kwargs): message_content.append(message) okToCreate = False rejectcount += 1 + break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False From 2d6bef5f5c3aa154a2e85f90711824dc740682da Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:07:50 -0800 Subject: [PATCH 209/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 51e3a32b..3a204347 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -146,6 +146,7 @@ def post(self, request, *args, **kwargs): rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) + break user = { "first_name": fields[0], "last_name": fields[1], From 7c2559d5a23ec9bc3af3bfdf50555c02d8170412 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:09:03 -0800 Subject: [PATCH 210/540] update --- ComSemApp/administrator/views.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 3a204347..503a1ebb 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -130,7 +130,6 @@ def post(self, request, *args, **kwargs): message_content.append(message) okToCreate = False rejectcount += 1 - break for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False @@ -146,14 +145,13 @@ def post(self, request, *args, **kwargs): rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) - break - user = { - "first_name": fields[0], - "last_name": fields[1], - "email": fields[2], - "username": fields[2] #using email as username so teacher doesnt need to make usernames for everyone - } if (okToCreate == True): + user = { + "first_name": fields[0], + "last_name": fields[1], + "email": fields[2], + "username": fields[2] #using email as username so teacher doesnt need to make usernames for everyone + } self.db_create_student(**user) print("student made") print(user) From c251ddf11d757e21213cb0cbe7763fa66987f3e9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:12:00 -0800 Subject: [PATCH 211/540] update --- ComSemApp/administrator/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 503a1ebb..fc751e49 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -128,11 +128,14 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) + if (okToCreate): ##if oktocreate is true, we need to increment the number of rejects, if its already false, dont increment it, + rejectcount += 1 okToCreate = False - rejectcount += 1 for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False + if (okToCreate): + rejectcount += 1 rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) @@ -141,6 +144,8 @@ def post(self, request, *args, **kwargs): # Check if a valid email address match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): + if (okToCreate): + rejectcount += 1 okToCreate = False rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") From 33cc1acc55c2f36b79ad2b302ed42919e7b1ec3e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:13:42 -0800 Subject: [PATCH 212/540] update --- ComSemApp/administrator/views.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index fc751e49..59a53d2d 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -121,6 +121,7 @@ def post(self, request, *args, **kwargs): if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True + rejected = False linecount += 1 if (fields[0] == "" or fields[0] == ""): #end of file @@ -128,14 +129,16 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) - if (okToCreate): ##if oktocreate is true, we need to increment the number of rejects, if its already false, dont increment it, + if (!rejected): ##if rejected is true, we need to increment the number of rejects, if its already false, dont increment it, rejectcount += 1 + rejected = True okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - if (okToCreate): + if (!rejected): rejectcount += 1 + rejected = True rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) @@ -144,8 +147,9 @@ def post(self, request, *args, **kwargs): # Check if a valid email address match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): - if (okToCreate): + if (!rejected): rejectcount += 1 + rejected = True okToCreate = False rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") From eda66dada646f7b591e176a01472deec2a5a6596 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:15:33 -0800 Subject: [PATCH 213/540] update --- ComSemApp/administrator/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 59a53d2d..a6a48af9 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -129,14 +129,14 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) - if (!rejected): ##if rejected is true, we need to increment the number of rejects, if its already false, dont increment it, + if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - if (!rejected): + if (rejected == False): rejectcount += 1 rejected = True rejectcount += 1 @@ -147,7 +147,7 @@ def post(self, request, *args, **kwargs): # Check if a valid email address match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) if (match == None): - if (!rejected): + if(rejected == False): rejectcount += 1 rejected = True okToCreate = False From c601115d4338b6bd8be28fe00cb7ec1b52ee96a4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:18:10 -0800 Subject: [PATCH 214/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index a6a48af9..7ecf54db 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -121,7 +121,7 @@ def post(self, request, *args, **kwargs): if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True - rejected = False + rejected = True linecount += 1 if (fields[0] == "" or fields[0] == ""): #end of file From b4c267926b4a295a9d5555fb60dac4343c04d7ad Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:19:20 -0800 Subject: [PATCH 215/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 7ecf54db..d342979c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -165,6 +165,8 @@ def post(self, request, *args, **kwargs): print("student made") print(user) message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n \n")) + print("linecount" + linecount) + print("rejected lines" + rejectcount) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From 00eb9d22482021b745a76138d9ae50d25bfc99d9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:19:56 -0800 Subject: [PATCH 216/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d342979c..b1e14f7c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -165,8 +165,8 @@ def post(self, request, *args, **kwargs): print("student made") print(user) message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n \n")) - print("linecount" + linecount) - print("rejected lines" + rejectcount) + print("linecount" + str(linecount)) + print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) return HttpResponseRedirect(self.success_url) From cf629ba4faa5751712710a82474ee39b93855822 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:22:22 -0800 Subject: [PATCH 217/540] update --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index b1e14f7c..6cea9a6b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -129,14 +129,14 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) - if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error - rejectcount += 1 - rejected = True + + rejectcount += 1 + rejected = True okToCreate = False for user in Student.objects.filter(institution=self.institution): if(user.user.username== fields[2]): okToCreate = False - if (rejected == False): + if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True rejectcount += 1 From 076d9136e67b7bf2ee5826c605645faeaab21231 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:23:24 -0800 Subject: [PATCH 218/540] update --- ComSemApp/administrator/views.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6cea9a6b..9586465a 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -139,7 +139,6 @@ def post(self, request, *args, **kwargs): if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break @@ -151,7 +150,6 @@ def post(self, request, *args, **kwargs): rejectcount += 1 rejected = True okToCreate = False - rejectcount += 1 message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) if (okToCreate == True): From 43260e3a0ab1c0aa224d0b9f19c535c9f5edb89b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:26:19 -0800 Subject: [PATCH 219/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 9586465a..e983b69e 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -121,7 +121,7 @@ def post(self, request, *args, **kwargs): if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True - rejected = True + rejected = False linecount += 1 if (fields[0] == "" or fields[0] == ""): #end of file From 496061c55b3505520d21f8f0e896d54781d2744f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:27:03 -0800 Subject: [PATCH 220/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index e983b69e..36199d74 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -150,7 +150,7 @@ def post(self, request, *args, **kwargs): rejectcount += 1 rejected = True okToCreate = False - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (" " + str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) if (okToCreate == True): user = { From 371480df91a6ad0dc35ff1101eb68eb0ae0bbcf6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:27:51 -0800 Subject: [PATCH 221/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 36199d74..142a1646 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -150,7 +150,7 @@ def post(self, request, *args, **kwargs): rejectcount += 1 rejected = True okToCreate = False - message = (" " + str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) if (okToCreate == True): user = { From ce3e7709bf480ba3ce63cb64c1589c1a69d1e31d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:28:45 -0800 Subject: [PATCH 222/540] update --- ComSemApp/administrator/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 142a1646..81211efd 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") message_content.append(message) rejectcount += 1 @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break From e5bbc183ac694a28581b0d259e60539786430f15 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:30:06 -0800 Subject: [PATCH 223/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 81211efd..247a67d0 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -162,7 +162,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left \n \n")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left, Lines with multiple errors will be listed multiple times \n \n")) print("linecount" + str(linecount)) print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) From 72c1027bd1475c01a40375b16a4341f8128a8cee Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:30:57 -0800 Subject: [PATCH 224/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 247a67d0..ca63c846 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -162,7 +162,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left, Lines with multiple errors will be listed multiple times \n \n")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left, \n Lines with multiple errors will be listed multiple times \n \n")) print("linecount" + str(linecount)) print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) From 1312be6b2ad3bb726464f606b32a15d5a56a34e8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 21:31:24 -0800 Subject: [PATCH 225/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ca63c846..d5bc4dbb 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -162,7 +162,7 @@ def post(self, request, *args, **kwargs): self.db_create_student(**user) print("student made") print(user) - message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left, \n Lines with multiple errors will be listed multiple times \n \n")) + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left,\nLines with multiple errors will be listed multiple times \n \n")) print("linecount" + str(linecount)) print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) From c47b5bdb56c1590dc703faa4845b81cdc925c928 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 22:07:09 -0800 Subject: [PATCH 226/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d5bc4dbb..75d27c95 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -167,6 +167,7 @@ def post(self, request, *args, **kwargs): print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) + request.FILES.pop('FILE', None) return HttpResponseRedirect(self.success_url) From 8eac928ba9959c50fede4d8dffc81b823906dbe7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 2 Dec 2018 22:29:04 -0800 Subject: [PATCH 227/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 75d27c95..2ec2ff4c 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -167,7 +167,7 @@ def post(self, request, *args, **kwargs): print("rejected lines" + str(rejectcount)) message_disp = "".join(message_content) messages.add_message(request, messages.ERROR, message_disp) - request.FILES.pop('FILE', None) + request.FILES.pop('file', None) return HttpResponseRedirect(self.success_url) From af07d2137658407749a9e2e78d98dac20a1193d3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 15:55:43 -0800 Subject: [PATCH 228/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 2ec2ff4c..86282ef1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -145,6 +145,8 @@ def post(self, request, *args, **kwargs): # Check if a valid email address match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) + print("EMAIL ADDRESS XXXXX") + print(fields[2]) if (match == None): if(rejected == False): rejectcount += 1 From 0f057374f687651dd3bb551eab4776268e215330 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:01:43 -0800 Subject: [PATCH 229/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 86282ef1..2e4a5152 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -144,7 +144,7 @@ def post(self, request, *args, **kwargs): break # Check if a valid email address - match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2]) + match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2].lower()) print("EMAIL ADDRESS XXXXX") print(fields[2]) if (match == None): From 2c0e37bfca9919047ed3d27a249977aeb63fbe74 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:46:33 -0800 Subject: [PATCH 230/540] update --- ComSemApp/administrator/views.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 2e4a5152..61caeeff 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -134,7 +134,7 @@ def post(self, request, *args, **kwargs): rejected = True okToCreate = False for user in Student.objects.filter(institution=self.institution): - if(user.user.username== fields[2]): + if(user.user.email== fields[2]): okToCreate = False if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 @@ -142,11 +142,18 @@ def post(self, request, *args, **kwargs): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") message_content.append(message) break + if(user.user.username== fields[3]): + okToCreate = False + if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error + rejectcount += 1 + rejected = True + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[3] + " Duplicate Username \n") + message_content.append(message) + break # Check if a valid email address match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2].lower()) - print("EMAIL ADDRESS XXXXX") - print(fields[2]) + if (match == None): if(rejected == False): rejectcount += 1 @@ -154,12 +161,23 @@ def post(self, request, *args, **kwargs): okToCreate = False message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") message_content.append(message) + + # Check for valid username + usernameCheck = re.match('^[\w.@+-]+$', fields[3]) + if (usernameCheck == None): + if(rejected == False): + rejectcount += 1 + rejected = True + okToCreate = False + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message_content.append(message) + if (okToCreate == True): user = { "first_name": fields[0], "last_name": fields[1], "email": fields[2], - "username": fields[2] #using email as username so teacher doesnt need to make usernames for everyone + "username": fields[3] } self.db_create_student(**user) print("student made") From a6b6b08e5786c57c46a3099a5c12d2665f80472e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:49:56 -0800 Subject: [PATCH 231/540] update --- ComSemApp/administrator/views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 61caeeff..34e3a7a4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,7 +118,7 @@ def post(self, request, *args, **kwargs): linecount = 0 rejectcount = 0 for line in lines: - if len(line): #make sure line isnt empty + if len(line) > 3: #make sure line isnt empty fields = line.split(",") okToCreate = True rejected = False @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): #end of file break if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid First or Last Name \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") message_content.append(message) rejectcount += 1 @@ -139,7 +139,7 @@ def post(self, request, *args, **kwargs): if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Duplicate Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Email Address \n") message_content.append(message) break if(user.user.username== fields[3]): @@ -147,7 +147,7 @@ def post(self, request, *args, **kwargs): if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[3] + " Duplicate Username \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Username \n") message_content.append(message) break @@ -159,7 +159,7 @@ def post(self, request, *args, **kwargs): rejectcount += 1 rejected = True okToCreate = False - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Email Address \n") message_content.append(message) # Check for valid username @@ -169,7 +169,7 @@ def post(self, request, *args, **kwargs): rejectcount += 1 rejected = True okToCreate = False - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " Invalid Email Address \n") + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Username \n") message_content.append(message) if (okToCreate == True): From cd816e9b6993bf4d22f6679a08b731f3104017b4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:52:42 -0800 Subject: [PATCH 232/540] update --- ComSemApp/administrator/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 34e3a7a4..d5b00c93 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -118,7 +118,7 @@ def post(self, request, *args, **kwargs): linecount = 0 rejectcount = 0 for line in lines: - if len(line) > 3: #make sure line isnt empty + if len(line): #make sure line isnt empty fields = line.split(",") okToCreate = True rejected = False @@ -126,6 +126,10 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break + if (fields.count() < 4): + messeage = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username") + message_content.append(message) + break if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") message_content.append(message) From 240001a42925b648827f549949b02bed08cd2fc5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:53:08 -0800 Subject: [PATCH 233/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index d5b00c93..b33fbaaf 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): #end of file break if (fields.count() < 4): - messeage = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username") + messeage = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" message_content.append(message) break if (fields[0].isalpha() == False or fields[1].isalpha() == False): From d94f2fd82415f11eb72129a75eee822951d2bcf5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:54:01 -0800 Subject: [PATCH 234/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index b33fbaaf..29b6dbd1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -126,7 +126,7 @@ def post(self, request, *args, **kwargs): if (fields[0] == "" or fields[0] == ""): #end of file break - if (fields.count() < 4): + if (len(fields) < 4): messeage = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" message_content.append(message) break From b499e809426549857aa08e5d6370269c0ceda4d8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:54:27 -0800 Subject: [PATCH 235/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 29b6dbd1..96815e60 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): #end of file break if (len(fields) < 4): - messeage = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" + message = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" message_content.append(message) break if (fields[0].isalpha() == False or fields[1].isalpha() == False): From 5d01c26c7ad3e1ae82312276cdc4acc2fca3f658 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:55:18 -0800 Subject: [PATCH 236/540] update --- ComSemApp/administrator/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 96815e60..6970117b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -129,6 +129,8 @@ def post(self, request, *args, **kwargs): if (len(fields) < 4): message = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" message_content.append(message) + rejected = True + rejectcount += 1 break if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") From ff40671ff26d2ec9de31132a4686d56a6389146c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 16:55:57 -0800 Subject: [PATCH 237/540] update --- ComSemApp/administrator/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 6970117b..0b7aac03 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -127,7 +127,7 @@ def post(self, request, *args, **kwargs): #end of file break if (len(fields) < 4): - message = "Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" + message = "!!! Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" message_content.append(message) rejected = True rejectcount += 1 @@ -135,7 +135,6 @@ def post(self, request, *args, **kwargs): if (fields[0].isalpha() == False or fields[1].isalpha() == False): message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") message_content.append(message) - rejectcount += 1 rejected = True okToCreate = False From 2319474821aea1460996309b04999debf1c6a75b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 3 Dec 2018 17:03:52 -0800 Subject: [PATCH 238/540] update --- ComSemApp/administrator/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 0b7aac03..a227dfd3 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -146,7 +146,7 @@ def post(self, request, *args, **kwargs): rejected = True message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Email Address \n") message_content.append(message) - break + if(user.user.username== fields[3]): okToCreate = False if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error @@ -154,6 +154,7 @@ def post(self, request, *args, **kwargs): rejected = True message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Username \n") message_content.append(message) + if(okToCreate == False): break # Check if a valid email address From 1c8fcd75aadebed8a5da7ce2b644f79d6f4f5ce5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 5 Dec 2018 14:07:41 -0800 Subject: [PATCH 239/540] update --- ComSemApp/templates/ComSemApp/admin/student_list.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 7d9d156c..17eb610e 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -29,11 +29,11 @@

    All Students

    Uploader only allows CSV Files.

    - Please order students in the following way: firstname, lastname, email. + Please order students in the following way: firstname, lastname, email, username. Below is an example of how the first line would look, a comma indicates a new column. Names must contain letters only.

    - John,Doe,johndoe@gmail.com + John,Doe,johndoe@gmail.com,johnsusername

    From 19935276d312441773503ce84353f59aa08aca16 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sat, 26 Jan 2019 12:06:46 -0800 Subject: [PATCH 240/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index fb91437d..732a7ea5 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -8,7 +8,7 @@
    {% for student in course.students.all %} - + {% endfor %} From b21d30259a77fbd561d69b5b1f38f24818f542fa Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sat, 26 Jan 2019 12:09:50 -0800 Subject: [PATCH 241/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 732a7ea5..e7c6d973 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -8,7 +8,7 @@ {% for student in course.students.all %} - + {% endfor %} From cad5b5e03471c28eb10f9bdf630df6f6747123a3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 14:19:15 -0800 Subject: [PATCH 242/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e7c6d973..ca7f1103 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -8,7 +8,7 @@ {% for student in course.students.all %} - + {% endfor %} From 4d1bf17026009d1c72ce0736360bcef736ee7cb1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 14:24:33 -0800 Subject: [PATCH 243/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index ca7f1103..dbee8584 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -8,7 +8,7 @@ {% for student in course.students.all %} - + {% endfor %} From c917982970469ebd8cd18ae66840a866f843e6c2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 14:25:42 -0800 Subject: [PATCH 244/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index dbee8584..6c054c78 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -8,7 +8,9 @@ {% for student in course.students.all %} + + {% endfor %} From 2b02dd595ec81084c4d8cfd5e5a130a08f3ca21d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 19:55:23 -0800 Subject: [PATCH 245/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 6c054c78..a6205411 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -9,8 +9,8 @@ {% for student in course.students.all %} - - + + {% endfor %} From 6b48b950e53c01ccf89ae1e756a07d6c15c17c6a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 19:57:03 -0800 Subject: [PATCH 246/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index a6205411..10119b20 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ - + {% endfor %} From ab841e013e34a8be9963ae8df0fe5fa3d75946ae Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:32:20 -0800 Subject: [PATCH 247/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 10119b20..40b25949 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,6 +11,11 @@ + {% endfor %} From 8d1ddbea7f96a06dfe4ebe19867033fe77b24fdb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:33:29 -0800 Subject: [PATCH 248/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 40b25949..e33600e8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,6 +15,9 @@ {% for submission in submissions %} {%if submission.student.user == student.user%}

    USER FOUNDS

    + {% endif %} + {% endfor %} + {% endif %} {% endfor %} From d4d7a197346a24bdb62a522d6c59dae5830bc6ba Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:34:34 -0800 Subject: [PATCH 249/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e33600e8..2eecabb6 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -16,6 +16,9 @@ {%if submission.student.user == student.user%}

    USER FOUNDS

    {% endif %} + {% else % } +

    NOT FOUND

    + {% endelse %} {% endfor %} {% endif %} From 3b2c7595446054a89bc20212ecdfc74dc68c83ee Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:35:00 -0800 Subject: [PATCH 250/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 2eecabb6..b9fab611 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -18,7 +18,6 @@ {% endif %} {% else % }

    NOT FOUND

    - {% endelse %} {% endfor %} {% endif %} From 07c8cd98bb7f0340c140fc9d0d129d4a15c5632e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:36:06 -0800 Subject: [PATCH 251/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index b9fab611..74d5b5d5 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,9 +15,9 @@ {% for submission in submissions %} {%if submission.student.user == student.user%}

    USER FOUNDS

    - {% endif %} {% else % }

    NOT FOUND

    + {% endif %} {% endfor %} {% endif %} From 161f26d8278614200d89886ef38fdc132cc450ff Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:36:35 -0800 Subject: [PATCH 252/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 74d5b5d5..5a50b436 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,6 @@
    - + {% endfor %} From a3dae7968683b7d2c1ddcdbeb777175ea2a5a57e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:37:20 -0800 Subject: [PATCH 253/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 5a50b436..70b98e76 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -13,9 +13,9 @@ {% else % } -

    NOT FOUND

    +
    {% endif %} {% endfor %} {% endif %} From 0681a26939287dd0d837c165b0a8e72ae37c1a99 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:38:25 -0800 Subject: [PATCH 254/540] update --- .../templates/ComSemApp/teacher/course_students.html | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 70b98e76..b39d3c3a 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,14 +11,7 @@ - {% else % } - - {% endif %} - {% endfor %} - {% endif %} + From 1c957046c9ae784c35c39cd18b0cff0a6bf7f3e4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:38:53 -0800 Subject: [PATCH 255/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index b39d3c3a..d829570a 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -12,6 +12,7 @@ + {% endif %} From 7b11206f5f3cbfc1b3620e4f1a9196e9303e4134 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:47:59 -0800 Subject: [PATCH 256/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index d829570a..c8808946 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ - {% endif %} From 685a930207eaefd491de8cd50f3c28c7607049bb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:49:04 -0800 Subject: [PATCH 257/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index c8808946..cbce8ca4 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -12,6 +12,8 @@ + {% else % } + {% endif %} From aeab02ff0c2e81bb9963fe56fdd5f944a920157c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:51:07 -0800 Subject: [PATCH 258/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index cbce8ca4..50a45857 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ - {% else % } From f928084491e0564f30397796d0de027f99ae7160 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:52:34 -0800 Subject: [PATCH 259/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 50a45857..274dd073 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,10 +10,9 @@ - - {% else % } - + {% endif %} From 4f515889695d04369c4dad4a24dc36e78fddc509 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:53:03 -0800 Subject: [PATCH 260/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 274dd073..29c7e3b8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ - {% endif %} From 8786cfaca9c7371c0b82471657fa201d6f0bd136 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 20:53:25 -0800 Subject: [PATCH 261/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 29c7e3b8..afeb4c68 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ - {% endif %} From 2aa85da936174f12608ade8303117a981cec64cf Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:09:28 -0800 Subject: [PATCH 262/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index afeb4c68..300ed13d 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,8 +10,8 @@ - + {% endif %} From 4c3786203db2c2ca7126402c32dd0a2eac6625e0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:10:13 -0800 Subject: [PATCH 263/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 300ed13d..442a7c60 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,7 +11,7 @@ + {% endif %} From ec833d1161276758ec00d20aa21b0edc315c1eca Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:10:37 -0800 Subject: [PATCH 264/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 442a7c60..1ac21b22 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,7 +11,7 @@ + {% endif %} From 0aa6b55be0ddee666fcee05d4219211037189b69 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:10:58 -0800 Subject: [PATCH 265/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 1ac21b22..85824756 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,7 +11,7 @@ + {% endif %} From 93afa144e56c093c393cd5dec800910d49e0786b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:23:32 -0800 Subject: [PATCH 266/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 85824756..990375c2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -1,3 +1,4 @@ +{% load static %} {% if course.students.all %} @@ -10,8 +11,8 @@ - + {% endif %} From 77db6f7560fc7d7d106a688213b64521d86080c6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:27:00 -0800 Subject: [PATCH 267/540] update --- .../templates/ComSemApp/teacher/course_students.html | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 990375c2..b5f3c2fc 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,10 +11,13 @@ - + From c994729071c3a441ead79653e8afec7b1a2d7cf6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:27:27 -0800 Subject: [PATCH 268/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index b5f3c2fc..1aa7fac2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -13,6 +13,7 @@ - + + + From 86dad8070f77d4356875a23efaa65547af44e520 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:12:27 -0800 Subject: [PATCH 275/540] update --- ComSemApp/teacher/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index de205590..eb3634ee 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -75,6 +75,8 @@ def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) print(data) data['bob'] = 'Ron Johnson' + print(count) + print(course.workshees.count) return data def get_object(self): return self.course From 13be79e2c5d8058111855cc9e1799db4f5e993ff Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:13:03 -0800 Subject: [PATCH 276/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index eb3634ee..4f4e52d4 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -75,7 +75,7 @@ def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) print(data) data['bob'] = 'Ron Johnson' - print(count) + print(course.workshees.count) return data def get_object(self): From b97f8b05c0420272ecfbc321da5b36f075b224c6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:13:31 -0800 Subject: [PATCH 277/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 4f4e52d4..9666f2ef 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,7 +76,7 @@ def get_context_data(self, **kwargs): print(data) data['bob'] = 'Ron Johnson' - print(course.workshees.count) + print(self.course.workshees.count) return data def get_object(self): return self.course From 305b88b16f02a5ed04d1edda94b054d1821acbae Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:13:57 -0800 Subject: [PATCH 278/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 9666f2ef..5f765c8b 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,7 +76,7 @@ def get_context_data(self, **kwargs): print(data) data['bob'] = 'Ron Johnson' - print(self.course.workshees.count) + print(self.course.worksheets.count) return data def get_object(self): return self.course From 209fdcb904dbe1b11bce10adfd4b9af26090335d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:14:46 -0800 Subject: [PATCH 279/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 5f765c8b..c2ded028 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -73,10 +73,10 @@ class CourseDetailView(TeacherCourseViewMixin, DetailView): def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) - print(data) + data['bob'] = 'Ron Johnson' - print(self.course.worksheets.count) + print(self.course.worksheets) return data def get_object(self): return self.course From 1b3ced62a7133b9552ac8540102d6fdfb0571223 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:20:27 -0800 Subject: [PATCH 280/540] update --- ComSemApp/teacher/views.py | 6 ++++-- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index c2ded028..0be57e4b 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -75,8 +75,10 @@ def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['bob'] = 'Ron Johnson' - - print(self.course.worksheets) + count = 0 + for worksheet in self.course.worksheets: + count = count + 1 + data['worksheet count'] = count return data def get_object(self): return self.course diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e728d04e..6b9812cf 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -12,7 +12,7 @@ {% for student in course.students.all %} - + From 20bfa36609acdd6e6ff1e3b536dbdb2479ce0efb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:50:06 -0800 Subject: [PATCH 286/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index f3d89f13..bdb9b7a3 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 648e027f5f9c078f5d32ceb50362d055ca941a8c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:50:29 -0800 Subject: [PATCH 287/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index bdb9b7a3..e10c23a2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 90c966d170ccb30a8ed7e2eb7fff9d9b254ccf11 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:53:59 -0800 Subject: [PATCH 288/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e10c23a2..e38de0ae 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From eb9d8424833220effe6537e4576b2a1982bd140f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:22:30 -0800 Subject: [PATCH 289/540] update --- ComSemApp/teacher/views.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 5b7bd7d5..86361993 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,9 +76,16 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) + + for student in course.students: + worksheets = Worksheet.objects.filter(course=self.course, student=student) + print(worksheets) count = 0 + submissions = StudentSubmission.objects for worksheet in worksheets: count = count + 1 + + data['worksheetCount'] = count return data def get_object(self): From 3d6553b1656301af3c32ab2a02310be81fb71780 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:23:06 -0800 Subject: [PATCH 290/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 86361993..2a80f6f9 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,7 +77,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - for student in course.students: + for student in self.course.students: worksheets = Worksheet.objects.filter(course=self.course, student=student) print(worksheets) count = 0 From 8d6391a8312bdae57537fdb81abf55356af01d05 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:24:01 -0800 Subject: [PATCH 291/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 2a80f6f9..4874d617 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,7 +77,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - for student in self.course.students: + for student in self.course.students.all(): worksheets = Worksheet.objects.filter(course=self.course, student=student) print(worksheets) count = 0 From c55b49bcbe1314114bfceea8c60adb5848b8d84e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:25:42 -0800 Subject: [PATCH 292/540] update --- ComSemApp/teacher/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 4874d617..e68ace85 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,12 +76,12 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - + submissions = StudentSubmission.objects for student in self.course.students.all(): - worksheets = Worksheet.objects.filter(course=self.course, student=student) - print(worksheets) + submissions = submissions.objects.filter(course=self.course, student=student) + print(submissions) count = 0 - submissions = StudentSubmission.objects + for worksheet in worksheets: count = count + 1 From 06b81a3ccaa39f810bdd74e862e465efc98d7db7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:26:01 -0800 Subject: [PATCH 293/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index e68ace85..9223be38 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,7 +76,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - submissions = StudentSubmission.objects + submissions = StudentSubmission.objects for student in self.course.students.all(): submissions = submissions.objects.filter(course=self.course, student=student) print(submissions) From d0828ad67aab2e12d58952118caeb0bbb4e16d7a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:26:30 -0800 Subject: [PATCH 294/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 9223be38..f59bed01 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,7 +76,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - submissions = StudentSubmission.objects + submissions = StudentSubmission.objects.all() for student in self.course.students.all(): submissions = submissions.objects.filter(course=self.course, student=student) print(submissions) From f828d35d67d26a4f00e2735e68dfae467db2f0e6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:27:51 -0800 Subject: [PATCH 295/540] update --- ComSemApp/teacher/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index f59bed01..072743ba 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,9 +76,8 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - submissions = StudentSubmission.objects.all() for student in self.course.students.all(): - submissions = submissions.objects.filter(course=self.course, student=student) + submissions = StudentSubmission.objects.filter(course=self.course, student=student) print(submissions) count = 0 From 83a3d7728f63c1b7f54887f786d46b44bdab1ac6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:28:12 -0800 Subject: [PATCH 296/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 072743ba..e372df71 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,7 +77,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): - submissions = StudentSubmission.objects.filter(course=self.course, student=student) + submissions = StudentSubmission.objects.filter(student=student) print(submissions) count = 0 From 0a8787ba55359f811980d60ba9744cb853a7ae43 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:28:34 -0800 Subject: [PATCH 297/540] update --- ComSemApp/teacher/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index e372df71..3e984005 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,7 +78,8 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) - print(submissions) + print("COUNT ") + print(count(submissions)) count = 0 for worksheet in worksheets: From cf22f4f4783587ef863fdeddc4666f99d0591cbb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:29:15 -0800 Subject: [PATCH 298/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3e984005..ffe33a1c 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -79,7 +79,7 @@ def get_context_data(self, **kwargs): for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) print("COUNT ") - print(count(submissions)) + print(len(submissions)) count = 0 for worksheet in worksheets: From 15babda314366a798c6dd1504ee2b6ae1161f36b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:31:55 -0800 Subject: [PATCH 299/540] update --- ComSemApp/teacher/views.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index ffe33a1c..af844b55 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,12 +78,8 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) - print("COUNT ") print(len(submissions)) - count = 0 - - for worksheet in worksheets: - count = count + 1 + count = len(worksheets) data['worksheetCount'] = count From 9dbb1b968504cd8f766e7229d0d0ec10a76eb54c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:36:19 -0800 Subject: [PATCH 300/540] update --- ComSemApp/teacher/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index af844b55..82dfce7c 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,6 +78,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) + print('SUBS') print(len(submissions)) count = len(worksheets) From a73bf8a0657beeafa51d14cccf230501bf6eacfa Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:51:27 -0800 Subject: [PATCH 301/540] update --- ComSemApp/teacher/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 82dfce7c..921177b1 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,12 +77,12 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): - submissions = StudentSubmission.objects.filter(student=student) + submissions = StudentSubmission.objects.filter(student=student, worksheet.course = self.course) print('SUBS') print(len(submissions)) - count = len(worksheets) - + + count = len(worksheets) data['worksheetCount'] = count return data def get_object(self): From c2120c6c4174f00d85827abd579875899f8391dc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:54:13 -0800 Subject: [PATCH 302/540] update --- ComSemApp/teacher/views.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 921177b1..407755b2 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,7 +77,11 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): - submissions = StudentSubmission.objects.filter(student=student, worksheet.course = self.course) + submissions = StudentSubmission.objects.filter(student=student) + for submission in submissions : + if submission.course != self.course: + submissions.remove(submission) + print('SUBS') print(len(submissions)) From 56ad35641d8897aee582110b4b0c30bcb3927502 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:54:42 -0800 Subject: [PATCH 303/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 407755b2..897d85c3 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -79,7 +79,7 @@ def get_context_data(self, **kwargs): for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : - if submission.course != self.course: + if submission.worksheet.course != self.course: submissions.remove(submission) print('SUBS') From 62b74a3276bd1d3a1d5323763e831f9fa987f13a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:56:04 -0800 Subject: [PATCH 304/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 897d85c3..a77690b4 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -80,7 +80,7 @@ def get_context_data(self, **kwargs): submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : if submission.worksheet.course != self.course: - submissions.remove(submission) + submissions.values.remove(submission) print('SUBS') print(len(submissions)) From 4aed1029b4fc39bc7d3fc773ab77bc08dd594c48 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:56:51 -0800 Subject: [PATCH 305/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index a77690b4..d4f5c63f 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,10 +77,10 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): - submissions = StudentSubmission.objects.filter(student=student) + submissions = StudentSubmission.objects.values().filter(student=student) for submission in submissions : if submission.worksheet.course != self.course: - submissions.values.remove(submission) + submissions.remove(submission) print('SUBS') print(len(submissions)) From 4a69bd3ef2ca3cd905919008f2e19dc5c627a8c9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:58:54 -0800 Subject: [PATCH 306/540] update --- ComSemApp/teacher/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d4f5c63f..2547e4b6 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -77,8 +77,9 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): - submissions = StudentSubmission.objects.values().filter(student=student) - for submission in submissions : + submissions = StudentSubmission.objects.filter(student=student) + sublist = submissions.values() + for submission in sublist : if submission.worksheet.course != self.course: submissions.remove(submission) From 8fcf24d4d5df697f2b79ec89cfef4db390702fb6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 14:59:51 -0800 Subject: [PATCH 307/540] update --- ComSemApp/teacher/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 2547e4b6..af73821e 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,10 +78,9 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) for student in self.course.students.all(): submissions = StudentSubmission.objects.filter(student=student) - sublist = submissions.values() - for submission in sublist : + for submission in submissions : if submission.worksheet.course != self.course: - submissions.remove(submission) + print("SUB NOT IN COURSE") print('SUBS') print(len(submissions)) From ef8c69123d9dd4cd32ee037b5cab77e94bceee10 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:04:35 -0800 Subject: [PATCH 308/540] update --- ComSemApp/teacher/views.py | 17 +++++++++-------- .../ComSemApp/teacher/course_students.html | 10 +++++++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index af73821e..f2115bbb 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,18 +76,19 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - for student in self.course.students.all(): - submissions = StudentSubmission.objects.filter(student=student) - for submission in submissions : - if submission.worksheet.course != self.course: - print("SUB NOT IN COURSE") - - print('SUBS') - print(len(submissions)) + + submissions = StudentSubmission.objects + for submission in submissions : + subcount = count + 1 + if submission.worksheet.course != self.course: + subcount = subcount - 1 + + count = len(worksheets) data['worksheetCount'] = count + data['submissions'] = submissions return data def get_object(self): return self.course diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e38de0ae..b4ca2f23 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,15 @@ From e878895c1463d469be62ecd9a7f6fb765d9a7f80 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:05:09 -0800 Subject: [PATCH 309/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index b4ca2f23..3b683865 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -16,7 +16,7 @@ From ce6b9ff160301d80a240df5fb07a40d42325a821 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:18:16 -0800 Subject: [PATCH 321/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index dc3209ac..dbf11574 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 1873307f36abca42f397be11af3777a07329833c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:18:49 -0800 Subject: [PATCH 322/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index dbf11574..65746d2e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 3a8edc0dc9a89fe91000fcac6842cbf1527bb589 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:20:17 -0800 Subject: [PATCH 323/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 65746d2e..d2f47734 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From b9de4807304929b0e7b9e8ecfafb529b14e1442d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:23:16 -0800 Subject: [PATCH 324/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index d2f47734..65746d2e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From ca267f14a81b47790467a52636e62ddad8ab2814 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:31:13 -0800 Subject: [PATCH 325/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 65746d2e..8b622613 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 3d75575cfbf58102b0eda2937c229cf904be81d2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:33:10 -0800 Subject: [PATCH 326/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8b622613..eec8e11c 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From a08ad9b50feec6df4c571f33b3c0d07d7759c280 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:33:28 -0800 Subject: [PATCH 327/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index eec8e11c..e18cf759 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 792b3630a38d6757a88ecc8666f88d6161648248 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:38:29 -0800 Subject: [PATCH 328/540] update --- ComSemApp/teacher/views.py | 12 ++++++++++++ .../templates/ComSemApp/teacher/course_students.html | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 59944a7f..51b8e5f4 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,6 +78,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} for student in self.course.students.all(): + print(student) subcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : @@ -91,6 +92,17 @@ def get_context_data(self, **kwargs): data['worksheetCount'] = count data['submissions'] = subcountdict return data + + def getsubcount(self, **kwargs): + for student in self.course.students.all(): + subcount = 0 + submissions = StudentSubmission.objects.filter(student=student) + for submission in submissions : + subcount = subcount + 1 + if submission.worksheet.course != self.course: + subcount = subcount - 1 + subcountdict[student] = subcount + def get_object(self): return self.course diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e18cf759..8b622613 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From ed951ee983fa4d610e3fba374abdcc1218f9c74f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:38:54 -0800 Subject: [PATCH 329/540] update --- ComSemApp/teacher/views.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 51b8e5f4..4f687341 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -93,16 +93,6 @@ def get_context_data(self, **kwargs): data['submissions'] = subcountdict return data - def getsubcount(self, **kwargs): - for student in self.course.students.all(): - subcount = 0 - submissions = StudentSubmission.objects.filter(student=student) - for submission in submissions : - subcount = subcount + 1 - if submission.worksheet.course != self.course: - subcount = subcount - 1 - subcountdict[student] = subcount - def get_object(self): return self.course From 05635397891e21237eac652f403624476bd7885d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:39:30 -0800 Subject: [PATCH 330/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 4f687341..04433cd3 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,7 +78,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} for student in self.course.students.all(): - print(student) + print(student.user.username) subcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : From 0afb70782f87bda3608af275cb623eba83cd1ace Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:40:53 -0800 Subject: [PATCH 331/540] update --- ComSemApp/teacher/views.py | 4 ++-- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 04433cd3..2f4900db 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,14 +78,14 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} for student in self.course.students.all(): - print(student.user.username) + subcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[student] = subcount + subcountdict[student.user.username] = subcount count = len(worksheets) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8b622613..7d7b7e9c 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 4c7ed6328462d106a270cbbdd8d11c3cf9f7a5b0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:42:25 -0800 Subject: [PATCH 332/540] update --- ComSemApp/teacher/views.py | 2 +- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 2f4900db..07f4d7a6 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[student.user.username] = subcount + subcountdict[student] = subcount count = len(worksheets) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 7d7b7e9c..8b622613 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 5ce2719cdf5bc9a7699a0eae87cab216c481c8b1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:46:04 -0800 Subject: [PATCH 333/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8b622613..d2f47734 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From cb47359cbc29a538d870fc70962c41f32d2dc407 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:49:07 -0800 Subject: [PATCH 334/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index d2f47734..76353725 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -11,10 +11,10 @@ {% for student in course.students.all %} - + From a8f765d000a9286002d228e175b2bb5d0b5a6219 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:50:04 -0800 Subject: [PATCH 335/540] update --- ComSemApp/teacher/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 07f4d7a6..3266eda5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -70,7 +70,7 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" - + subcountdict = {} def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) @@ -85,14 +85,13 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[student] = subcount + subcountdict[bob] = subcount count = len(worksheets) data['worksheetCount'] = count data['submissions'] = subcountdict return data - def get_object(self): return self.course From 96701fb18f79a3bd59d800edae2c659b0b549d95 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:50:42 -0800 Subject: [PATCH 336/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3266eda5..3c8d0e07 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[bob] = subcount + subcountdict['bob'] = subcount count = len(worksheets) From 36d293343c5751c22b119cde664a6d46f7a4acfb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:55:36 -0800 Subject: [PATCH 337/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 76353725..82252fb2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,8 @@ From a693a4618560b93837e8b41006ea0d1ac89588a9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:56:09 -0800 Subject: [PATCH 338/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3c8d0e07..61556fcf 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -70,7 +70,7 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" - subcountdict = {} + def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict['bob'] = subcount + subcountdict[student] = subcount count = len(worksheets) From 15398ed56d65de7e081bbbd20f2ef7b5c28073b3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:58:43 -0800 Subject: [PATCH 339/540] update --- ComSemApp/teacher/views.py | 2 +- ComSemApp/templates/ComSemApp/teacher/course_students.html | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 61556fcf..16a2dda6 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[student] = subcount + subcountdict[student.user.username] = subcount count = len(worksheets) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 82252fb2..547cd233 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,6 @@ From a5a464f501f15adfc6f0735d4b7cd3dd967eba2f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:59:20 -0800 Subject: [PATCH 340/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 547cd233..8d6e8298 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 857dbdabf1dec610dfac5807366b363caf985f5c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:00:00 -0800 Subject: [PATCH 341/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8d6e8298..df0e6ce8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From e52cb3b59df4c6b8f4c55fb7ffa33bfb62e31d41 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:00:37 -0800 Subject: [PATCH 342/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index df0e6ce8..31ce683b 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From beeed72bd4c45858ae4b92892d542293a52845cd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:04:22 -0800 Subject: [PATCH 343/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 31ce683b..e321b2ac 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,9 @@ From fc66c9174be884e8ec50e64acb9fe0dffab93195 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:05:06 -0800 Subject: [PATCH 344/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e321b2ac..a3bac906 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,7 +15,7 @@ From 573b7a1025c96183dd2b381e429b43988be5f60a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:05:48 -0800 Subject: [PATCH 345/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index a3bac906..e321b2ac 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,7 +15,7 @@ From b5cc7bcfd6d53c0633b0a9f467c75b681a1dac42 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:06:12 -0800 Subject: [PATCH 346/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index e321b2ac..c5dc3786 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,6 +15,7 @@ From 84596b2141d89bed7a6f9bc887d96bdfc77c4791 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:08:33 -0800 Subject: [PATCH 347/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index c5dc3786..2c9516f3 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,9 +15,9 @@ From 5db1d2fcd71c35e4df37edfac8e0f58ee4c4ae77 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:09:00 -0800 Subject: [PATCH 348/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 2c9516f3..01166e06 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -15,9 +15,9 @@ From 31bec772e897e57ac1d896626f22393a2179e982 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:10:12 -0800 Subject: [PATCH 349/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 16a2dda6..76cc8051 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[student.user.username] = subcount + subcountdict[username] = subcount count = len(worksheets) From 2106e12034d9bd4cf57bb150af1f21bee1631ce0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:10:45 -0800 Subject: [PATCH 350/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 76cc8051..29e0ae26 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict[username] = subcount + subcountdict['username'] = subcount count = len(worksheets) From 086acceff47fd589e7c0ee0a7c9ee013f621ab0c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:13:41 -0800 Subject: [PATCH 351/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 01166e06..02f2869c 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,10 +14,9 @@ From 3523494c3f4e31fe086b58f956c60bfe45432d2b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:16:58 -0800 Subject: [PATCH 352/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 02f2869c..21bc3fa8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,9 +14,9 @@ From bc93569697fd06af4bd053c4d654fdea24ced67d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:29:43 -0800 Subject: [PATCH 353/540] update --- ComSemApp/teacher/views.py | 2 +- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 29e0ae26..d37a401e 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,7 +85,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - subcountdict['username'] = subcount + data[student.user.username + 'count'] = subcount count = len(worksheets) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 21bc3fa8..7f301a43 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,9 +14,7 @@ From d7b607fb94bf4c0d1ffff3f0ff04bd5700ada175 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:30:58 -0800 Subject: [PATCH 354/540] update --- ComSemApp/teacher/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d37a401e..3152db8a 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -23,6 +23,7 @@ import json, math, datetime, os from ComSemApp.models import * +from django.template.defaulttags import register class TeacherViewMixin(RoleViewMixin): @@ -70,6 +71,10 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" + + @register.filter('get_item') + def get_item(dictionary, key): + return dictionary.get(key) def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) @@ -85,7 +90,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - data[student.user.username + 'count'] = subcount + subcountdict[student.user.username] = subcount count = len(worksheets) From e8d5f99c5fd889f68635e8d2334bb47cac499537 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:33:31 -0800 Subject: [PATCH 355/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 7f301a43..91244b44 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,7 +14,7 @@ From 82be17ceeefc63c172d9701c32e17c485ed9a2f6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:35:05 -0800 Subject: [PATCH 356/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 91244b44..fba23e50 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -12,8 +12,10 @@ {% for student in course.students.all %} - + From 99c68c621bebb9375b475dffcca530d737dfdeef Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:44:01 -0800 Subject: [PATCH 357/540] update --- ComSemApp/teacher/views.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3152db8a..8f2bc978 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -83,18 +83,19 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} for student in self.course.students.all(): - subcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : + print('STATUS') + print(submission.status) subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 subcountdict[student.user.username] = subcount - count = len(worksheets) - data['worksheetCount'] = count + + data['worksheetCount'] = len(worksheets) data['submissions'] = subcountdict return data def get_object(self): From 94da672bf13cbea1ad3ed3e557bc40ee6b317507 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:47:59 -0800 Subject: [PATCH 358/540] update --- ComSemApp/teacher/views.py | 15 ++++++++++----- .../ComSemApp/teacher/course_students.html | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 8f2bc978..039738b2 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -82,21 +82,26 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} + unradedcountdict = {} for student in self.course.students.all(): subcount = 0 + ungradedcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : - print('STATUS') - print(submission.status) - subcount = subcount + 1 - if submission.worksheet.course != self.course: - subcount = subcount - 1 + + if submission.worksheet.course == self.course: + subcount = subcount + 1 + if submission.status == 'ungraded': + ungradedcount = ungradedcount + 1 + subcountdict[student.user.username] = subcount + ungradedcountdict[student.user.username] = subcount data['worksheetCount'] = len(worksheets) data['submissions'] = subcountdict + data['ungraded'] = gradedcountdict return data def get_object(self): return self.course diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index fba23e50..8f4c9d7c 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -16,7 +16,7 @@ {{ submissions|get_item:student.user.username }} / {{worksheetCount}} From 33ba0390a6bcabeac949cc03d8da8345c6d9d8f0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:48:26 -0800 Subject: [PATCH 359/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 039738b2..b19a7542 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -101,7 +101,7 @@ def get_context_data(self, **kwargs): data['worksheetCount'] = len(worksheets) data['submissions'] = subcountdict - data['ungraded'] = gradedcountdict + data['ungraded'] = ungradedcountdict return data def get_object(self): return self.course From a4d555362656cfa68814d13c13f2f002e51ac750 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:48:58 -0800 Subject: [PATCH 360/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index b19a7542..3ebda3bc 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -82,7 +82,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} - unradedcountdict = {} + ungradedcountdict = {} for student in self.course.students.all(): subcount = 0 ungradedcount = 0 @@ -95,7 +95,7 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 subcountdict[student.user.username] = subcount - ungradedcountdict[student.user.username] = subcount + ungradedcountdict[student.user.username] = ungradedcount From f0bd2417622108e458f72bbc6bdc3c32d56aa9bd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:49:45 -0800 Subject: [PATCH 361/540] update --- ComSemApp/teacher/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3ebda3bc..3bcf351b 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -91,6 +91,8 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 + print (SUB STATUS) + print (submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 From 0fd9c6bdb49f2f866c0d0aa5fa5f7845ba9756b7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:50:02 -0800 Subject: [PATCH 362/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3bcf351b..7a5ae40f 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -91,7 +91,7 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 - print (SUB STATUS) + print ("SUB STATUS") print (submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 From 3f9a4689b2dcd3fc511bee027be830782a9f097d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:55:25 -0800 Subject: [PATCH 363/540] update --- .../ComSemApp/teacher/course_students.html | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8f4c9d7c..78be64c9 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -1,24 +1,15 @@ -{% load static %} + {% if course.students.all %} - - {% for student in course.students.all %} - - - - + {% endfor %} From 22b3161f3926c58a68e3d43525f6761c4fcb62cc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:56:17 -0800 Subject: [PATCH 364/540] update --- .../teacher/course_student_detail.html | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ComSemApp/templates/ComSemApp/teacher/course_student_detail.html diff --git a/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html new file mode 100644 index 00000000..8f4c9d7c --- /dev/null +++ b/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html @@ -0,0 +1,27 @@ +{% load static %} +{% if course.students.all %} + + + + + + + + + + {% for student in course.students.all %} + + + + + + + {% endfor %} + +{% else %} +

    No Enrolled Students

    +{% endif %} \ No newline at end of file From 6aeeb21e6ab1c100e6fe988fc31acad60b64383a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:56:38 -0800 Subject: [PATCH 365/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e2544458..e2857c1a 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -38,7 +38,7 @@

    Students

    {{ student }}{{ student.email }}
    {{ student.email }}{{ student.user.email }}
    {{ student.user.email }}{{ student}}
    {{ student}}{{ student.user.email}}
    {{ student}} {{ student.user.email}}{{ student}}
    {{ student}}{{ student.user.email}}{{ student}} 44/23 worksheetsEmail
    {{ student}} 44/23 worksheetsEmailEmail
    {{ student}} 44/23 worksheets Email{% if submissions %} + {% for submission in submissions %} + {%if submission.student.user == student.user%} +

    USER FOUNDS

    +
    {{ student}} 44/23 worksheetsEmail {% if submissions %} {% for submission in submissions %} {%if submission.student.user == student.user%} @@ -21,6 +20,7 @@ {% endfor %} {% endif %} Email
    {% if submissions %} {% for submission in submissions %} {%if submission.student.user == student.user%} -

    USER FOUNDS

    +
    USER FOUNDSNOT FOUND{{ student}} 44/23 worksheets {% if submissions %} - {% for submission in submissions %} - {%if submission.student.user == student.user%} - USER FOUNDSNOT FOUNDSUBMISSIONS Email
    44/23 worksheets {% if submissions %} SUBMISSIONSEmail
    {{ student}} 44/23 worksheets{% if submissions %} + {% if course.submissions %} SUBMISSIONS 44/23 worksheets {% if course.submissions %} SUBMISSIONS No submissionsEmail
    {{ student}} 44/23 worksheets{% if course.submissions %} + {% if course %} SUBMISSIONS No submissions
    {{ student}} 44/23 worksheets{% if course %} + {% if course.submissions %} SUBMISSIONS No submissionsEmail
    {{ student}} 44/23 worksheets{% if course.submissions %} + {% if course.worksheets %} SUBMISSIONS
    {{ student}} 44/23 worksheets{% if course.worksheets %} + {% if course.worksheets.submissions %} SUBMISSIONS
    {{ student}} 44/23 worksheets{% if course.worksheets.submissions %} - SUBMISSIONS{% if course.worksheets %} + {% course.workseets %}{{ student}} 44/23 worksheets {% if course.worksheets %} - {% course.workseets %}{{ course.workseets }}{{ student}} 44/23 worksheets {% if course.worksheets %} - {{ course.workseets }}{{ course.workshets }}{{ student}} 44/23 worksheets {% if course.worksheets %} - {{ course.workshets }}{{ course.worksheets }}
    {{ student}} 44/23 worksheets{% if course.worksheets %} - {{ course.worksheets }}{% if submissions %} + SUBMISSIONS
    {{ student}} 44/23 worksheets{% if submissions %} - SUBMISSIONS + {% if submissions %} + {% else %} +
    No submissions.
    + {% endif %} + - {% endif %}
    Email
    44/23 worksheets {% if submissions %} +
    submissions
    {% else %}
    No submissions.
    {% endif %} From 569902eeef28787ba7592b9aaa1606469ebf4f41 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 27 Jan 2019 21:28:09 -0800 Subject: [PATCH 269/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 1aa7fac2..d5dc4909 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -12,7 +12,7 @@
    {{ student}} 44/23 worksheets - {% if submissions %} + {% if course.worksheets.submissions %}
    submissions
    {% else %}
    No submissions.
    From 391c74e3972f81fb272ae92c8b508da3b29b3d77 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 12:24:16 -0800 Subject: [PATCH 270/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 569b3857..eb0b80be 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -70,9 +70,9 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" - + bob = "bond" def get_object(self): - return self.course + return self.course, bob class WorksheetListView(TeacherCourseViewMixin, ListView): From 715ddb129e942421babfa3f6678fbdd2acb9d81f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 12:27:09 -0800 Subject: [PATCH 271/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index d5dc4909..2fde6499 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -10,7 +10,7 @@ {% for student in course.students.all %}
    {{ student}} 44/23 worksheets {{bob}} {% if course.worksheets.submissions %}
    submissions
    From eee01af2c8ee8cfe2c0697831a5baf7fbc12433a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 12:30:13 -0800 Subject: [PATCH 272/540] update --- ComSemApp/teacher/views.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index eb0b80be..75ef10e5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -70,9 +70,13 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" - bob = "bond" + + def get_context_data(self, **kwargs): + data = super().get_context_data(**kwargs) + data['bob'] = 'Ron Johnson' + return data def get_object(self): - return self.course, bob + return self.course class WorksheetListView(TeacherCourseViewMixin, ListView): From f9aa6f01201dc855502d20a2f462d7ab1169f13f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 12:38:12 -0800 Subject: [PATCH 273/540] update --- ComSemApp/teacher/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 75ef10e5..de205590 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -73,6 +73,7 @@ class CourseDetailView(TeacherCourseViewMixin, DetailView): def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) + print(data) data['bob'] = 'Ron Johnson' return data def get_object(self): From 77d3285aacd98bb497bea4a2908ea7e7d6471e52 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 12:58:08 -0800 Subject: [PATCH 274/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 2fde6499..e728d04e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -3,6 +3,8 @@
    NameWorksheets Completed/AssignedWorksheets Not yet Reviewed
    {{ student}} {{bob}} {{worksheetCount}} {% if course.worksheets.submissions %}
    submissions
    From 5720f5c43486f312b758be1058fcb80b0f5c8e71 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:42:53 -0800 Subject: [PATCH 281/540] update --- ComSemApp/teacher/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 0be57e4b..7cc7ec06 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,9 +76,8 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' count = 0 - for worksheet in self.course.worksheets: - count = count + 1 - data['worksheet count'] = count + worksheets = Worksheet.objects.filter(course=self.course) + data['worksheetCount'] = count(worksheets) return data def get_object(self): return self.course From b57eec6cc85ffc3809b99d0121fed411fefb0fe7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:43:38 -0800 Subject: [PATCH 282/540] update --- ComSemApp/teacher/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 7cc7ec06..db0ea3d5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -75,7 +75,6 @@ def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) data['bob'] = 'Ron Johnson' - count = 0 worksheets = Worksheet.objects.filter(course=self.course) data['worksheetCount'] = count(worksheets) return data From 1da58bba5fee3fd20eb4f823ad9479d197a9dbf3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:44:38 -0800 Subject: [PATCH 283/540] update --- ComSemApp/teacher/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index db0ea3d5..5b7bd7d5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,7 +76,10 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - data['worksheetCount'] = count(worksheets) + count = 0 + for worksheet in worksheets: + count = count + 1 + data['worksheetCount'] = count return data def get_object(self): return self.course From 0e39cc283be5f6fff27000bd0234d1f3579e9290 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:48:40 -0800 Subject: [PATCH 284/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 6b9812cf..8e911486 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,8 +14,8 @@
    {{ student}} {{worksheetCount}} - {% if course.worksheets.submissions %} -
    submissions
    + {% if submissions %} +
    { count(submissions.filter(id=student=student))
    {% else %}
    No submissions.
    {% endif %} From b3c4b830cd0937650dc592affdb62d5d25e681ee Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 13:49:40 -0800 Subject: [PATCH 285/540] update --- ComSemApp/templates/ComSemApp/teacher/course_students.html | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 8e911486..f3d89f13 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,12 +14,7 @@
    {{ student}} {{worksheetCount}} - {% if submissions %}
    { count(submissions.filter(id=student=student))
    - {% else %} -
    No submissions.
    - {% endif %} -
    Email{{ student}} {{worksheetCount}} -
    { count(submissions.filter(id=student=student))
    +
    {% count(submissions.filter(id=student=student)) %}
    Email{{ student}} {{worksheetCount}} -
    {% count(submissions.filter(id=student=student)) %}
    +
    { count(submissions.filter(id=student=student)) }
    Email{{ student}} {{worksheetCount}} -
    { count(submissions.filter(id=student=student)) }
    +
    { count(submissions.filter(id=student)) }
    Email{{ student}} {{worksheetCount}} -
    { count(submissions.filter(id=student)) }
    +
    {{ submissions = StudentSubmission.objects.filter(student=student) + subcount = 0 + for submission in submissions : + subcount = count + 1 + if submission.worksheet.course != self.course: + subcount = subcount - 1 + return subcount}} + +
    Email
    {{ submissions = StudentSubmission.objects.filter(student=student) subcount = 0 - for submission in submissions : + for submission in submissions.all() : subcount = count + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 From 5b3f8fbbc6a4eed40a190c1868b799e9c53b46d9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:05:25 -0800 Subject: [PATCH 310/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index f2115bbb..d3491497 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,7 +78,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) submissions = StudentSubmission.objects - for submission in submissions : + for submission in submissions.all() : subcount = count + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 From 56277a641e3dda47c461c3ed974737b099e663c1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:06:50 -0800 Subject: [PATCH 311/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d3491497..36e7b6b5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -79,7 +79,7 @@ def get_context_data(self, **kwargs): submissions = StudentSubmission.objects for submission in submissions.all() : - subcount = count + 1 + subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 From 8377fae1829440c12fa18eff89d22207a948656f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:07:13 -0800 Subject: [PATCH 312/540] update --- ComSemApp/teacher/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 36e7b6b5..fb1e794d 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,6 +78,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) submissions = StudentSubmission.objects + subcount = 0 for submission in submissions.all() : subcount = subcount + 1 if submission.worksheet.course != self.course: From 7f728cd1e247348b846318ffc38b9bda43abe782 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:08:45 -0800 Subject: [PATCH 313/540] update --- ComSemApp/teacher/views.py | 5 ----- ComSemApp/templates/ComSemApp/teacher/course_students.html | 4 ++-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index fb1e794d..f8dcacc3 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,11 +78,6 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) submissions = StudentSubmission.objects - subcount = 0 - for submission in submissions.all() : - subcount = subcount + 1 - if submission.worksheet.course != self.course: - subcount = subcount - 1 diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 3b683865..65e17d5b 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,13 +14,13 @@
    {{ student}} {{worksheetCount}} -
    {{ submissions = StudentSubmission.objects.filter(student=student) +
    {% submissions = StudentSubmission.objects.filter(student=student) subcount = 0 for submission in submissions.all() : subcount = count + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - return subcount}} + return subcount %}
    From d3680823e08c90c62ee2c2eef6c0be1067174759 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:11:04 -0800 Subject: [PATCH 314/540] update --- ComSemApp/teacher/views.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index f8dcacc3..1c263a29 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -78,7 +78,14 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) submissions = StudentSubmission.objects - + for student in self.course.students: + submissions = StudentSubmission.objects.filter(student=student) + subcount = 0 + for submission in submissions.all() : + subcount = count + 1 + if submission.worksheet.course != self.course: + subcount = subcount - 1 + print(subcount) From f8f29471ebc48b81737e74db1d27ea953d291ecd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:11:35 -0800 Subject: [PATCH 315/540] update --- ComSemApp/teacher/views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 1c263a29..bf706c91 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -80,12 +80,12 @@ def get_context_data(self, **kwargs): submissions = StudentSubmission.objects for student in self.course.students: submissions = StudentSubmission.objects.filter(student=student) - subcount = 0 - for submission in submissions.all() : - subcount = count + 1 - if submission.worksheet.course != self.course: - subcount = subcount - 1 - print(subcount) + subcount = 0 + for submission in submissions.all() : + subcount = count + 1 + if submission.worksheet.course != self.course: + subcount = subcount - 1 + print(subcount) From e06628ae11e73bbc5e6d9169d4591fe725fd035e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:13:04 -0800 Subject: [PATCH 316/540] update --- ComSemApp/teacher/views.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index bf706c91..6b08bd9a 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,22 +76,22 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - - submissions = StudentSubmission.objects - for student in self.course.students: - submissions = StudentSubmission.objects.filter(student=student) + for student in self.course.students.all(): subcount = 0 - for submission in submissions.all() : + submissions = StudentSubmission.objects.filter(student=student) + for submission in submissions : subcount = count + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - print(subcount) + print('SUBS') + print(len(submissions)) + print('right subs') + print(subcount) count = len(worksheets) data['worksheetCount'] = count - data['submissions'] = submissions return data def get_object(self): return self.course From c0e62f8d93d421f1a7bafab93fb7a81be3e8771e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:13:40 -0800 Subject: [PATCH 317/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 6b08bd9a..44447f77 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -80,7 +80,7 @@ def get_context_data(self, **kwargs): subcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : - subcount = count + 1 + subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 From a9685188bb7e6f2f89c87ed024c7cd652c51920b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:15:27 -0800 Subject: [PATCH 318/540] update --- ComSemApp/teacher/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 44447f77..4ce8aef6 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -76,6 +76,7 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) + subcountdict = {} for student in self.course.students.all(): subcount = 0 submissions = StudentSubmission.objects.filter(student=student) @@ -83,11 +84,13 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.worksheet.course != self.course: subcount = subcount - 1 - + subcountdict[student] = subcount print('SUBS') print(len(submissions)) print('right subs') print(subcount) + print('dict') + print(subcountdict) count = len(worksheets) From fa7324ca966b4fd142082cd3ff259c93c7c44e96 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:16:14 -0800 Subject: [PATCH 319/540] update --- ComSemApp/teacher/views.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 4ce8aef6..59944a7f 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -85,16 +85,11 @@ def get_context_data(self, **kwargs): if submission.worksheet.course != self.course: subcount = subcount - 1 subcountdict[student] = subcount - print('SUBS') - print(len(submissions)) - print('right subs') - print(subcount) - print('dict') - print(subcountdict) count = len(worksheets) data['worksheetCount'] = count + data['submissions'] = subcountdict return data def get_object(self): return self.course From eecf04842942f7e465005362a5f66e787aa15e3c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 15:17:03 -0800 Subject: [PATCH 320/540] update --- .../templates/ComSemApp/teacher/course_students.html | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students.html b/ComSemApp/templates/ComSemApp/teacher/course_students.html index 65e17d5b..dc3209ac 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students.html @@ -14,16 +14,7 @@
    {{ student}} {{worksheetCount}} -
    {% submissions = StudentSubmission.objects.filter(student=student) - subcount = 0 - for submission in submissions.all() : - subcount = count + 1 - if submission.worksheet.course != self.course: - subcount = subcount - 1 - return subcount %} - -
    - + {{submissions[student]}}
    Email
    {{ student}} {{worksheetCount}} - {{submissions[student]}} + {% submissions[student] %} Email
    {{ student}} {{worksheetCount}} - {% submissions[student] %} + {{ submissions[student] }} Email
    {{ student}} {{worksheetCount}} - {{ submissions[student] }} + {{ submissions }} Email
    {{ student}} {{worksheetCount}} - {{ submissions }} + {{ submissions[student] }} Email
    {{ student}} {{worksheetCount}} - {{ submissions[student] }} + {{ submissions.student }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student }} + {{ submissions.student.value() }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student.value() }} + {{ submissions.student.value }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student.value }} + {{ submissions.student }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student }} + {{ submissions.student.user.username }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student.user.username }} + {{ submissions.student }} Email
    {{ student}} {{worksheetCount}} - {{ submissions.student }} + {{ submissions }} Email
    {{ student}}{{student}} {{worksheetCount}} - {{ submissions }} + {{ submissions.items.student }} Email
    {{student}} {{worksheetCount}} - {{ submissions.items.student }} + {{student}} + {{submissions}} Email
    {{student}} {{worksheetCount}} - {{student}} {{submissions}} Email{{student}} {{worksheetCount}} - {{submissions}} + {{submissions.DanielRichard}} Email
    {{student}} {{worksheetCount}} - {{submissions.DanielRichard}} + {{submissions.(student.user.username)}} Email
    {{student}} {{worksheetCount}} - {{submissions.(student.user.username)}} + {{submissions.student.user.username}} Email
    {{student}} {{worksheetCount}} - {{submissions.student.user.username}} + {% with username=student.user.username %} + {{submissions.username}} + {% endwith %} Email
    {{worksheetCount}} {% with username=student.user.username %} - {{submissions.username}} + {{submissions.DanielRichard}} {% endwith %} Email {{worksheetCount}} {% with username=student.user.username %} - {{submissions.DanielRichard}} + {{submissions.username}} {% endwith %} Email {{worksheetCount}} {% with username=student.user.username %} + {{username}} {{submissions.username}} {% endwith %} {{worksheetCount}} {% with username=student.user.username %} - {{username}} - {{submissions.username}} {% endwith %} + {{username}} + {{submissions.username}} Email
    {{worksheetCount}} {% with username=student.user.username %} - {% endwith %} {{username}} {{submissions.username}} + {% endwith %} Email
    {{student}} {{worksheetCount}} - {% with username=student.user.username %} - {{username}} - {{submissions.username}} - {% endwith %} + {% for key, value in submissions.items %} +

    {{ submissions.student.user.username }}

    + {% endfor %}
    Email
    {{student}} {{worksheetCount}} - {% for key, value in submissions.items %} -

    {{ submissions.student.user.username }}

    - {% endfor %} + {% with username=student.user.username %} + {{submissions[username]}} + {% endwith %}
    Email
    {{student}} {{worksheetCount}} - {% with username=student.user.username %} - {{submissions[username]}} - {% endwith %} + {{ submissions|get_item:item.student.user.username }} Email
    {{student}} {{worksheetCount}} - {{ submissions|get_item:item.student.user.username }} + {{ submissions|get_item:student.user.username }} Email
    {{student}} {{worksheetCount}} + {{ submissions|get_item:student.user.username }} / {{worksheetCount}} + {{ submissions|get_item:student.user.username }} Email - {{ submissions|get_item:student.user.username }} + {{ ungraded|get_item:student.user.username }} Email
    NameWorksheets Completed/AssignedWorksheets Not yet Reviewed
    {{student}} - {{ submissions|get_item:student.user.username }} / {{worksheetCount}} - - {{ ungraded|get_item:student.user.username }} - Email{{ student }}
    NameWorksheets Completed/AssignedWorksheets Not yet Reviewed
    {{student}} + {{ submissions|get_item:student.user.username }} / {{worksheetCount}} + + {{ ungraded|get_item:student.user.username }} + Email
    - {% include 'ComSemApp/teacher/course_students.html' %} + {% include 'ComSemApp/teacher/course_students_detail.html' %}
    From 8934edacc56e5ed140b4c902247865dc05b7922c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:57:16 -0800 Subject: [PATCH 366/540] update --- .../teacher/course_student_detail.html | 27 ------------------- 1 file changed, 27 deletions(-) delete mode 100644 ComSemApp/templates/ComSemApp/teacher/course_student_detail.html diff --git a/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html deleted file mode 100644 index 8f4c9d7c..00000000 --- a/ComSemApp/templates/ComSemApp/teacher/course_student_detail.html +++ /dev/null @@ -1,27 +0,0 @@ -{% load static %} -{% if course.students.all %} - - - Name - Worksheets Completed/Assigned - Worksheets Not yet Reviewed - - - - - {% for student in course.students.all %} - - {{student}} - - {{ submissions|get_item:student.user.username }} / {{worksheetCount}} - - - {{ ungraded|get_item:student.user.username }} - - Email - - {% endfor %} - -{% else %} -

    No Enrolled Students

    -{% endif %} \ No newline at end of file From 137c4300786f7e99fc27b8c7d8c95eb9be4ea8f1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:57:39 -0800 Subject: [PATCH 367/540] update --- .../teacher/course_students_detail.html | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ComSemApp/templates/ComSemApp/teacher/course_students_detail.html diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html new file mode 100644 index 00000000..8f4c9d7c --- /dev/null +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -0,0 +1,27 @@ +{% load static %} +{% if course.students.all %} + + + Name + Worksheets Completed/Assigned + Worksheets Not yet Reviewed + + + + + {% for student in course.students.all %} + + {{student}} + + {{ submissions|get_item:student.user.username }} / {{worksheetCount}} + + + {{ ungraded|get_item:student.user.username }} + + Email + + {% endfor %} + +{% else %} +

    No Enrolled Students

    +{% endif %} \ No newline at end of file From 988f5a71b9fb5b9741bb64892b582f3a4beb2566 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:58:29 -0800 Subject: [PATCH 368/540] update --- ComSemApp/teacher/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 7a5ae40f..ef9e8a76 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -91,9 +91,8 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 - print ("SUB STATUS") - print (submission.status) - if submission.status == 'ungraded': + + if submission.status == 'pending': ungradedcount = ungradedcount + 1 subcountdict[student.user.username] = subcount From 19e31dff84704c8549309653f17808c40df7660e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 16:59:48 -0800 Subject: [PATCH 369/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index ef9e8a76..e001ed2d 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -91,7 +91,7 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 - + print(submission.status) if submission.status == 'pending': ungradedcount = ungradedcount + 1 From e5020e691b6ba510b8335d28e744344660e50e80 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 17:00:06 -0800 Subject: [PATCH 370/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index e001ed2d..ee515b57 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -92,7 +92,7 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 print(submission.status) - if submission.status == 'pending': + if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 subcountdict[student.user.username] = subcount From 3cfcf2d436b730f8c861005125d7d1c185e9b740 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 18:33:35 -0800 Subject: [PATCH 371/540] update --- CommunicationSeminar/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 10de052f..ccf4a6bb 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -47,6 +47,7 @@ 'django.contrib.staticfiles', 'django_select2', 'django_smoke_tests', + 'django_chartit' ] MIDDLEWARE = [ From d3f90049e6ef97426e9b432cdc9aae3e355df824 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 18:35:43 -0800 Subject: [PATCH 372/540] update --- CommunicationSeminar/settings.py | 1 - 1 file changed, 1 deletion(-) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index ccf4a6bb..10de052f 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -47,7 +47,6 @@ 'django.contrib.staticfiles', 'django_select2', 'django_smoke_tests', - 'django_chartit' ] MIDDLEWARE = [ From 1f8bb76260ee26dd48163645c69b31796ef3048b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 19:06:14 -0800 Subject: [PATCH 373/540] update --- .../templates/ComSemApp/teacher/course.html | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e2857c1a..bda00ae9 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -47,6 +47,56 @@

    Students

    + +
    + + + + +
    +
    From 543bb250609cfcdcdce2886bb81f5e3ead53eab8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 10 Feb 2019 19:07:56 -0800 Subject: [PATCH 374/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index bda00ae9..b8607612 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -96,6 +96,9 @@

    Students

    +
    +
    +
    From e273f5f7670ed834366621e872cce761340f535c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 13 Feb 2019 08:48:09 -0800 Subject: [PATCH 375/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index b8607612..d05f31ed 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -72,16 +72,14 @@

    Students

    var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], - ['Facebook', facebook], - ['Capterra', capterra], - ['Bing', bing], - ['Google', googleV] + ['Assigned', facebook], + ['Graded', capterra], ]); // Set chart options - var options = {'title':'Number of Clicks per source', - 'width':800, + var options = {'title':'Worksheet Status', + 'width':500, 'height':300}; // Instantiate and draw our chart, passing in some options. From 4c8878e6b33e10640332987b68ec09846bbc3a48 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:45:55 -0800 Subject: [PATCH 376/540] update --- ComSemApp/teacher/views.py | 6 ++++-- .../templates/ComSemApp/teacher/course_students_detail.html | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index ee515b57..d5a326b9 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,10 +94,12 @@ def get_context_data(self, **kwargs): print(submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - + for submission in submissions: + print("num of attempts:") + print(submission.get_number(self)) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount - + data['worksheetCount'] = len(worksheets) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html index 8f4c9d7c..1d95508e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -18,6 +18,10 @@ {{ ungraded|get_item:student.user.username }} + + + {{ ungraded|get_item:student.user.username }} + Email {% endfor %} From 0a160764bd6a2ae503565203146fc3597d39eac7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:47:08 -0800 Subject: [PATCH 377/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d5a326b9..11b78430 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -96,7 +96,7 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for submission in submissions: print("num of attempts:") - print(submission.get_number(self)) + print(submission.get_number()) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From cb76629416445011aeb469e9145981584b3250f9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:47:53 -0800 Subject: [PATCH 378/540] update --- ComSemApp/teacher/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 11b78430..b50b3bfb 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -97,6 +97,7 @@ def get_context_data(self, **kwargs): for submission in submissions: print("num of attempts:") print(submission.get_number()) + print(submission.student) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From 9088883ba3284d3d0ed3a2c33d41a8951bb8a8c3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:48:38 -0800 Subject: [PATCH 379/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index b50b3bfb..a947af29 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -97,7 +97,7 @@ def get_context_data(self, **kwargs): for submission in submissions: print("num of attempts:") print(submission.get_number()) - print(submission.student) + print(submission.worksheet.course) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From df480489592885794c9be1a84fcccc2467efea24 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:49:37 -0800 Subject: [PATCH 380/540] update --- ComSemApp/teacher/views.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index a947af29..23931237 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,10 +94,11 @@ def get_context_data(self, **kwargs): print(submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for submission in submissions: - print("num of attempts:") - print(submission.get_number()) - print(submission.worksheet.course) + for submission in submissions: + if submission.worksheet.course == self.course: + print("num of attempts:") + print(submission.get_number()) + print(submission.worksheet.course) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From 63c6a6aca5e9c1963188828a39aa0e071cd71edd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:52:57 -0800 Subject: [PATCH 381/540] update --- ComSemApp/teacher/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 23931237..bc395ccd 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -86,6 +86,7 @@ def get_context_data(self, **kwargs): for student in self.course.students.all(): subcount = 0 ungradedcount = 0 + attemptcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : @@ -94,19 +95,18 @@ def get_context_data(self, **kwargs): print(submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for submission in submissions: - if submission.worksheet.course == self.course: - print("num of attempts:") - print(submission.get_number()) - print(submission.worksheet.course) + attemptcount = submission.get_number() + attemptcount + subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount + attemptsdict[student.user.username] = attemptcount data['worksheetCount'] = len(worksheets) data['submissions'] = subcountdict data['ungraded'] = ungradedcountdict + data['attempts'] = attemptsdict return data def get_object(self): return self.course From 6ecb97a762764dd87b853681bc18f8b6fbe8bf53 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:53:37 -0800 Subject: [PATCH 382/540] update --- .../templates/ComSemApp/teacher/course_students_detail.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html index 1d95508e..4ed9f30f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -5,6 +5,7 @@ Name Worksheets Completed/Assigned Worksheets Not yet Reviewed + Number of Attempts @@ -19,8 +20,7 @@ {{ ungraded|get_item:student.user.username }} - - {{ ungraded|get_item:student.user.username }} + {{ attempts|get_item:student.user.username }} Email From e5989120fa093c8e38271bee2eb7237c1d67edd1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:55:11 -0800 Subject: [PATCH 383/540] update --- ComSemApp/teacher/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index bc395ccd..7d195d40 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -92,10 +92,9 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: subcount = subcount + 1 - print(submission.status) if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - attemptcount = submission.get_number() + attemptcount + attemptcount = submission.get_number() + attemptcount subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From c2ea49c4ddacede117833f60092bf55b146dec99 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:59:13 -0800 Subject: [PATCH 384/540] update --- .../templates/ComSemApp/teacher/course_students_detail.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html index 4ed9f30f..51ea60ce 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -4,8 +4,9 @@ Name Worksheets Completed/Assigned - Worksheets Not yet Reviewed Number of Attempts + Worksheets Not yet Reviewed + From 18d3c18ecbd6793fbca6c21112ad7e32889c6076 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 15:59:50 -0800 Subject: [PATCH 385/540] update --- .../templates/ComSemApp/teacher/course_students_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html index 51ea60ce..024af7f9 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -4,8 +4,8 @@ Name Worksheets Completed/Assigned - Number of Attempts Worksheets Not yet Reviewed + Number of Attempts From a2388ff171a88e5356a6c903c7b404aa5a2e8df1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:00:38 -0800 Subject: [PATCH 386/540] update --- ComSemApp/teacher/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 7d195d40..54697fe1 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -83,6 +83,7 @@ def get_context_data(self, **kwargs): worksheets = Worksheet.objects.filter(course=self.course) subcountdict = {} ungradedcountdict = {} + attemptsdict = {} for student in self.course.students.all(): subcount = 0 ungradedcount = 0 From 3f3d214e5e434aa3ac4bf557856bf69b20573f4c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:01:18 -0800 Subject: [PATCH 387/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 54697fe1..0481f14f 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -95,7 +95,7 @@ def get_context_data(self, **kwargs): subcount = subcount + 1 if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - attemptcount = submission.get_number() + attemptcount + attemptcount = submission.get_number() + attemptcount subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From 3425961aadebd4d29b743fa263112734f4e07554 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:30:51 -0800 Subject: [PATCH 388/540] update --- ComSemApp/teacher/views.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 0481f14f..59e33bce 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -90,12 +90,12 @@ def get_context_data(self, **kwargs): attemptcount = 0 submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : - if submission.worksheet.course == self.course: - subcount = subcount + 1 + attemptcount = attemptcount + 1 if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - attemptcount = submission.get_number() + attemptcount + for worksheet in course.workeets.all(): + print("worksheet") subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount @@ -103,8 +103,6 @@ def get_context_data(self, **kwargs): - data['worksheetCount'] = len(worksheets) - data['submissions'] = subcountdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict return data From 66383c60ae5625ab10c4fa1d03536e099efc516d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:31:20 -0800 Subject: [PATCH 389/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 59e33bce..c2d61536 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,7 +94,7 @@ def get_context_data(self, **kwargs): attemptcount = attemptcount + 1 if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for worksheet in course.workeets.all(): + for worksheet in self.course.workeets.all(): print("worksheet") subcountdict[student.user.username] = subcount From 76e7ecf6055cd383e4c2ef0430c677ce48717652 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:31:36 -0800 Subject: [PATCH 390/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index c2d61536..d9077acc 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,7 +94,7 @@ def get_context_data(self, **kwargs): attemptcount = attemptcount + 1 if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for worksheet in self.course.workeets.all(): + for worksheet in self.course.worksheets.all(): print("worksheet") subcountdict[student.user.username] = subcount From 3497573ad2cad9c4e4a9808175cbb396b3439503 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:32:17 -0800 Subject: [PATCH 391/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d9077acc..b13aecd0 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -101,7 +101,7 @@ def get_context_data(self, **kwargs): ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - + data['worksheetcount'] = ungradedcountdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict From ea2581026448320ac1ed35147dca21ad8243a7af Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:32:46 -0800 Subject: [PATCH 392/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index b13aecd0..85d029b0 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -101,7 +101,7 @@ def get_context_data(self, **kwargs): ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - data['worksheetcount'] = ungradedcountdict + data['submissions'] = ungradedcountdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict From c1b00143d66e4ed8ab372bccfa1bb84ecbbf21c5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:34:19 -0800 Subject: [PATCH 393/540] update --- ComSemApp/teacher/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 85d029b0..fa3a6b21 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -95,7 +95,8 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): - print("worksheet") + print("last sub") + print(worksheet.last_submission(student).get_number()) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From fcad341de88a4466b8f7f7c592b094cfe6ea43bb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:36:25 -0800 Subject: [PATCH 394/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index fa3a6b21..ab16369a 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -96,7 +96,7 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): print("last sub") - print(worksheet.last_submission(student).get_number()) + print(worksheet.last_submission(student)) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From 7afecfaa7d435af9adccaf1a5843f908bbaed025 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:38:27 -0800 Subject: [PATCH 395/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index ab16369a..fa3a6b21 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -96,7 +96,7 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): print("last sub") - print(worksheet.last_submission(student)) + print(worksheet.last_submission(student).get_number()) subcountdict[student.user.username] = subcount ungradedcountdict[student.user.username] = ungradedcount From f610d4cb2abafcc0a90f87fbcf5821506a28a0f1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:43:37 -0800 Subject: [PATCH 396/540] update --- .../templates/ComSemApp/teacher/course_students_detail.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html index 024af7f9..12d1fb8f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -3,8 +3,8 @@ Name - Worksheets Completed/Assigned - Worksheets Not yet Reviewed + Worksheets Assigned + Ungraded Submissions Number of Attempts @@ -15,7 +15,7 @@ {{student}} - {{ submissions|get_item:student.user.username }} / {{worksheetCount}} + {{ worksheets|get_item:student.user.username }} {{ ungraded|get_item:student.user.username }} From 0964aa22f38c3282be0004acb118aa3502d6e2bd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:44:15 -0800 Subject: [PATCH 397/540] update --- ComSemApp/teacher/views.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index fa3a6b21..b7330ff4 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -81,11 +81,11 @@ def get_context_data(self, **kwargs): data['bob'] = 'Ron Johnson' worksheets = Worksheet.objects.filter(course=self.course) - subcountdict = {} + worksheetsdict = {} ungradedcountdict = {} attemptsdict = {} for student in self.course.students.all(): - subcount = 0 + worksheetcount = 0 ungradedcount = 0 attemptcount = 0 submissions = StudentSubmission.objects.filter(student=student) @@ -95,15 +95,14 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): - print("last sub") - print(worksheet.last_submission(student).get_number()) + worksheetcount = worksheetcount +1 + attemptcount = worksheet.last_submission(student).get_number() + attemptcount - subcountdict[student.user.username] = subcount + worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - data['submissions'] = ungradedcountdict - + data['worksheets'] = ungradedcountdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict return data From b0a63b7c0f760f9b40533fa640ef4f40858d8fa5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:45:25 -0800 Subject: [PATCH 398/540] update --- ComSemApp/teacher/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index b7330ff4..d37b118e 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -97,7 +97,8 @@ def get_context_data(self, **kwargs): for worksheet in self.course.worksheets.all(): worksheetcount = worksheetcount +1 attemptcount = worksheet.last_submission(student).get_number() + attemptcount - + print("attempts") + print(attemptcount) worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount From 8e2fd513772dec035f8654f35ccc9cf49e2d2461 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:47:10 -0800 Subject: [PATCH 399/540] update --- ComSemApp/teacher/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index d37b118e..64872198 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -96,6 +96,8 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): worksheetcount = worksheetcount +1 + print("WORKSHEET attempt") + print(worksheet.last_submission(student).get_number()) attemptcount = worksheet.last_submission(student).get_number() + attemptcount print("attempts") print(attemptcount) From 4b4cb351024ff02a1a31f905f1dbca6a177f2c4d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 16:49:30 -0800 Subject: [PATCH 400/540] update --- ComSemApp/teacher/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 64872198..3ef18384 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -99,6 +99,8 @@ def get_context_data(self, **kwargs): print("WORKSHEET attempt") print(worksheet.last_submission(student).get_number()) attemptcount = worksheet.last_submission(student).get_number() + attemptcount + print("CURR COUNT") + print(attemptcount) print("attempts") print(attemptcount) worksheetsdict[student.user.username] = worksheetcount From aa4b4fb4bac4f78277bfe31a15a0d5045d57bbb7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:21:29 -0800 Subject: [PATCH 401/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 3ef18384..e2005114 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -91,11 +91,11 @@ def get_context_data(self, **kwargs): submissions = StudentSubmission.objects.filter(student=student) for submission in submissions : if submission.worksheet.course == self.course: - attemptcount = attemptcount + 1 if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): - worksheetcount = worksheetcount +1 + print("") + worksheetcount = worksheetcount + 1 print("WORKSHEET attempt") print(worksheet.last_submission(student).get_number()) attemptcount = worksheet.last_submission(student).get_number() + attemptcount From 166a43ba194369c01f2de15adfd22418fe45801b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:22:43 -0800 Subject: [PATCH 402/540] update --- ComSemApp/teacher/views.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index e2005114..aef26619 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,15 +94,11 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): - print("") + print("worksheet") worksheetcount = worksheetcount + 1 - print("WORKSHEET attempt") - print(worksheet.last_submission(student).get_number()) + print("worksheetcount") attemptcount = worksheet.last_submission(student).get_number() + attemptcount - print("CURR COUNT") print(attemptcount) - print("attempts") - print(attemptcount) worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount From 73a627e001afa1736ff59e73739b68632965e86e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:30:20 -0800 Subject: [PATCH 403/540] update --- ComSemApp/teacher/views.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index aef26619..04308dd6 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -95,15 +95,14 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): print("worksheet") - worksheetcount = worksheetcount + 1 print("worksheetcount") + worksheetcount = worksheetcount + 1 attemptcount = worksheet.last_submission(student).get_number() + attemptcount - print(attemptcount) worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - data['worksheets'] = ungradedcountdict + data['worksheets'] = worksheetscountdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict return data From 2b2525d7d4629692167a1310c450bee03e8cb256 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:30:51 -0800 Subject: [PATCH 404/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 04308dd6..897a91f1 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -102,7 +102,7 @@ def get_context_data(self, **kwargs): ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - data['worksheets'] = worksheetscountdict + data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict return data From 59b6b4f5e2f1ea386b717a2a16c1c1e2e593e5d2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:36:26 -0800 Subject: [PATCH 405/540] update --- ComSemApp/teacher/views.py | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 897a91f1..661b753f 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,17 +94,38 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 for worksheet in self.course.worksheets.all(): - print("worksheet") - print("worksheetcount") - worksheetcount = worksheetcount + 1 attemptcount = worksheet.last_submission(student).get_number() + attemptcount worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount + ungraded = 0 + complete = 0 + pending = 0 + for submission in submissions : + if submission.worksheet.course == self.course: + if submission.status == 'ungraded': + ungraded = ungraded + 1 + if submission.status == 'complete': + complete = complete + 1 + if submission.status == 'pending': + pending = pending + 1 + print('ungraded') + print(ungraded) + print("pending") + print(pending) + print("complete") + print(complete) + + + data['ungraded'] = ungraded + data['pending'] = pending + data['complete'] = complete + data['ungradedSubmissions'] = len(self.course.worksheets.all) data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict + return data def get_object(self): return self.course From e86cebbc305d5a9439bedb9aade8af0194ef69f5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:37:13 -0800 Subject: [PATCH 406/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 661b753f..bd28aed3 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -117,11 +117,11 @@ def get_context_data(self, **kwargs): print("complete") print(complete) - + data['ungraded'] = ungraded data['pending'] = pending data['complete'] = complete - data['ungradedSubmissions'] = len(self.course.worksheets.all) + data['ungradedSubmissions'] = len(self.course.worksheets.all())_ data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict From b58adbee868168b46e6525b1994059c3e6fcc20e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:37:32 -0800 Subject: [PATCH 407/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index bd28aed3..228f534e 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -121,7 +121,7 @@ def get_context_data(self, **kwargs): data['ungraded'] = ungraded data['pending'] = pending data['complete'] = complete - data['ungradedSubmissions'] = len(self.course.worksheets.all())_ + data['ungradedSubmissions'] = len(self.course.worksheets.all()) data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict From 1d25b1ffc64e95ece6eb0a96296b0f35b7c89196 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:39:54 -0800 Subject: [PATCH 408/540] update --- ComSemApp/teacher/views.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 228f534e..ea9dacb5 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -101,19 +101,19 @@ def get_context_data(self, **kwargs): ungraded = 0 complete = 0 - pending = 0 + incomplete = 0 for submission in submissions : if submission.worksheet.course == self.course: if submission.status == 'ungraded': ungraded = ungraded + 1 if submission.status == 'complete': complete = complete + 1 - if submission.status == 'pending': - pending = pending + 1 + if submission.status == 'incomplete': + incomplete = incomplete + 1 print('ungraded') print(ungraded) - print("pending") - print(pending) + print("incomplete") + print(incomplete) print("complete") print(complete) From f5b4722ae9739b88ef9b2a96a0e31baabf87416c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:40:13 -0800 Subject: [PATCH 409/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index ea9dacb5..02ad0fa2 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -119,7 +119,7 @@ def get_context_data(self, **kwargs): data['ungraded'] = ungraded - data['pending'] = pending + data['incomplete'] = incomplete data['complete'] = complete data['ungradedSubmissions'] = len(self.course.worksheets.all()) data['worksheets'] = worksheetsdict From a59801bf98637845d838b61b6aa96fb9cf6de5ef Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:43:01 -0800 Subject: [PATCH 410/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index d05f31ed..11e07ce7 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -47,6 +47,11 @@

    Students

    +
    + + + +
    From 5db5ad5371c6b71d34681d66f11ccfa5a62a318a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:44:20 -0800 Subject: [PATCH 411/540] update --- ComSemApp/teacher/views.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 02ad0fa2..be20c1aa 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -110,6 +110,7 @@ def get_context_data(self, **kwargs): complete = complete + 1 if submission.status == 'incomplete': incomplete = incomplete + 1 + print('ungraded') print(ungraded) print("incomplete") @@ -118,9 +119,9 @@ def get_context_data(self, **kwargs): print(complete) - data['ungraded'] = ungraded - data['incomplete'] = incomplete - data['complete'] = complete + data['classungraded'] = ungraded + data['classincomplete'] = incomplete + data['classcomplete'] = complete data['ungradedSubmissions'] = len(self.course.worksheets.all()) data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict From 4d73c0fd6ad635efe6a79fb7fecd41bc373b4a38 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:45:16 -0800 Subject: [PATCH 412/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 11e07ce7..414c9f46 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -48,9 +48,9 @@

    Students

    - - - + + +
    From fb86a374c7103f810bb01df0479c8f17dd736206 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:46:14 -0800 Subject: [PATCH 413/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 414c9f46..c2070ebf 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -50,7 +50,7 @@

    Students

    - +
    From 19f09b4778574484abee18d306c4e4e2836a2e7f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:47:42 -0800 Subject: [PATCH 414/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index c2070ebf..1c304673 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -48,9 +48,9 @@

    Students

    - - + +
    From 6ef395d7b18bce64c8713f88683cc39616af5822 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:50:30 -0800 Subject: [PATCH 415/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 1c304673..5d08e356 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -70,15 +70,15 @@

    Students

    // Create the data table. var data = new google.visualization.DataTable(); - var googleV = 5 - var bing = 3 - var capterra = 3 - var facebook = 2 + var incomplete = Document.getElementById("classincomplete") + var completed = Document.getElementById("classcomplete") + var ungraded = Document.getElementById("classungraded") var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], - ['Assigned', facebook], - ['Graded', capterra], + ['Completed', completed], + ['Incomplete', incomplete], + ['ungraded', ungraded], ]); From 2137f864d2b0a8e3cc35a7d1a41a8791179b6b98 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:52:04 -0800 Subject: [PATCH 416/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 5d08e356..bf958833 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -70,9 +70,9 @@

    Students

    // Create the data table. var data = new google.visualization.DataTable(); - var incomplete = Document.getElementById("classincomplete") - var completed = Document.getElementById("classcomplete") - var ungraded = Document.getElementById("classungraded") + var incomplete = Document.getElementById('classincomplete'); + var completed = Document.getElementById('classcomplete'); + var ungraded = Document.getElementById('classungraded'); var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], From f7b2b9d9b0f15839611cd4de9c79d5268c97da74 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:52:37 -0800 Subject: [PATCH 417/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index bf958833..3e36513e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -70,9 +70,9 @@

    Students

    // Create the data table. var data = new google.visualization.DataTable(); - var incomplete = Document.getElementById('classincomplete'); - var completed = Document.getElementById('classcomplete'); - var ungraded = Document.getElementById('classungraded'); + var incomplete = document.getElementById('classincomplete'); + var completed = document.getElementById('classcomplete'); + var ungraded = document.getElementById('classungraded'); var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], From d2ae782363460d8ddb5ae76336b02bb97b3d524b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:53:24 -0800 Subject: [PATCH 418/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 3e36513e..61d0289f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -70,15 +70,15 @@

    Students

    // Create the data table. var data = new google.visualization.DataTable(); - var incomplete = document.getElementById('classincomplete'); - var completed = document.getElementById('classcomplete'); - var ungraded = document.getElementById('classungraded'); + var incomplete = document.getElementById('classincomplete').value; + var completed = document.getElementById('classcomplete').value; + var ungraded = document.getElementById('classungraded').value; var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], ['Completed', completed], ['Incomplete', incomplete], - ['ungraded', ungraded], + ['ungraded', ungraded] ]); From 1636eb1559f1bb18e46e710e9284f70c1fa25bce Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 19:55:43 -0800 Subject: [PATCH 419/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 61d0289f..8f48c72f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -73,7 +73,7 @@

    Students

    var incomplete = document.getElementById('classincomplete').value; var completed = document.getElementById('classcomplete').value; var ungraded = document.getElementById('classungraded').value; - + console.log("incomplete", incomplete); var data = google.visualization.arrayToDataTable([ ['Source', 'Clicks'], ['Completed', completed], From 9b48ab34657faa6dd7f37640ee14d1703de6d0cc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:01:12 -0800 Subject: [PATCH 420/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 8f48c72f..c8b66349 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -56,7 +56,6 @@

    Students

    -
    - - -
    -
    -
    -
    From e9689e9dffee804affbf3b9212e2d5dd245a035a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:28:30 -0800 Subject: [PATCH 429/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 722fcee5..e6bf7874 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -46,7 +46,7 @@

    Students

    -
    +
    From 4452bfa0c1f5fbc632886205cf5ceb2631732ca9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:29:19 -0800 Subject: [PATCH 430/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e6bf7874..dfb4c4a1 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -46,8 +46,8 @@

    Students

    -
    -
    +
    +
    From a365a6f7cd69b3c8b205ae5e368a0b6122b29e30 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:30:34 -0800 Subject: [PATCH 431/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index dfb4c4a1..4352cba7 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -10,9 +10,6 @@

    Course Information

    -
    - -
    From 5db91bf6731e5aabb22b0ac1b8a52c1988f66f02 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:32:37 -0800 Subject: [PATCH 432/540] update --- .../templates/ComSemApp/teacher/course.html | 36 ++++++++++--------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 4352cba7..433422a7 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,19 +3,30 @@ {% block content %} -
    -
    -
    -

    Course Information

    -
    +
    +
    +
    +
    +

    Course Information

    +
    +
    -
    - -
    - {% include 'ComSemApp/course_details.html' %} + +
    + {% include 'ComSemApp/course_details.html' %} +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    @@ -42,13 +53,6 @@

    Students

    -
    -
    -
    -
    -
    -
    -
    From e46f7d8b80911ebd19e6746b94c5b7c3f82b26a5 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:33:41 -0800 Subject: [PATCH 433/540] update --- .../templates/ComSemApp/teacher/course.html | 70 ++++++++++--------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 433422a7..e45dcf08 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,51 +3,53 @@ {% block content %} -
    -
    -
    -
    -

    Course Information

    -
    +
    +
    +
    +
    +
    +

    Course Information

    +
    +
    -
    - -
    - {% include 'ComSemApp/course_details.html' %} -
    -
    -
    -
    -
    -
    -
    + +
    + {% include 'ComSemApp/course_details.html' %}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    -
    -
    - -
    -
    +
    +

    Students

    -
    -

    Students

    +
    -
    + - +
    +
    -
    -
    - -
    -
    - - {% include 'ComSemApp/teacher/course_students_detail.html' %} -
    +
    +
    + + {% include 'ComSemApp/teacher/course_students_detail.html' %} +
    +
    From 6a9209db3576852d468fdeb02627f533f13aef78 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:34:20 -0800 Subject: [PATCH 434/540] update --- .../templates/ComSemApp/teacher/course.html | 70 +++++++++---------- 1 file changed, 34 insertions(+), 36 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e45dcf08..433422a7 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,53 +3,51 @@ {% block content %} -
    -
    -
    -
    -
    -

    Course Information

    -
    -
    -
    - - -
    - {% include 'ComSemApp/course_details.html' %} +
    +
    +
    +
    +

    Course Information

    +
    -
    -
    -
    -
    -
    -
    -
    + +
    + {% include 'ComSemApp/course_details.html' %} +
    +
    +
    +
    +
    +
    +
    +
    -
    - -
    -
    -
    -

    Students

    +
    +
    + +
    +
    -
    +
    +

    Students

    - +
    -
    -
    +
    +
    -
    -
    - - {% include 'ComSemApp/teacher/course_students_detail.html' %} -
    -
    +
    + +
    +
    + + {% include 'ComSemApp/teacher/course_students_detail.html' %} +
    From fe7ba44af30f7099feee47884284dc4cb7d637cd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:35:14 -0800 Subject: [PATCH 435/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 433422a7..57767a8d 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,7 +3,7 @@ {% block content %} -
    +
    @@ -26,7 +26,7 @@

    Course Information

    -
    +
    From c3e7406fb67bdff47e1f712dd529e0d1828e232a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:35:43 -0800 Subject: [PATCH 436/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 57767a8d..433422a7 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,7 +3,7 @@ {% block content %} -
    +
    @@ -26,7 +26,7 @@

    Course Information

    -
    +
    From ea20eb1a3e8e97a4d40d4b104dd427a9c25bbc5a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:39:10 -0800 Subject: [PATCH 437/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 433422a7..89a78268 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,7 +3,8 @@ {% block content %} -
    +
    +
    @@ -26,7 +27,7 @@

    Course Information

    -
    +
    @@ -53,6 +54,7 @@

    Students

    +
    From c8aeb49be4c92809677737fc78512a828ea69c96 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:40:31 -0800 Subject: [PATCH 438/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 89a78268..04740d3f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From ca96833a85d266db23fa48983025441c49583375 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:41:09 -0800 Subject: [PATCH 439/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 04740d3f..e21e4280 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From f231d8c86bef698332edbaf98584978ce1c7a4f9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:41:37 -0800 Subject: [PATCH 440/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e21e4280..ecccf29f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From de98767d65767dc50b1a257fd78876521decf5b3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:42:07 -0800 Subject: [PATCH 441/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index ecccf29f..85f5f311 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From 658de513d9ce2630de3834e8572ed17256506e78 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:42:49 -0800 Subject: [PATCH 442/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 85f5f311..4a9e2f21 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From 2486bbf0b1b8494476a135052424052cc2cbc224 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:47:49 -0800 Subject: [PATCH 443/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 4a9e2f21..3f36c15e 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -4,7 +4,7 @@
    -
    +
    @@ -27,7 +27,7 @@

    Course Information

    -
    +
    From db56419d39c02b21d702046a78d20dd4f607416f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:49:04 -0800 Subject: [PATCH 444/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 3f36c15e..8f1fb3c1 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,7 +3,6 @@ {% block content %} -
    @@ -54,7 +53,6 @@

    Students

    -
    From ae78048b8ecf4dec50d6c4c35a6f9c3cd080656d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:52:54 -0800 Subject: [PATCH 445/540] update --- .../templates/ComSemApp/teacher/course.html | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 8f1fb3c1..ac948d33 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,30 +3,20 @@ {% block content %} -
    -
    -
    -
    -

    Course Information

    -
    -
    +
    +
    +
    +

    Course Information

    +
    - - -
    - {% include 'ComSemApp/course_details.html' %} -
    -
    -
    -
    -
    -
    -
    -
    + +
    + {% include 'ComSemApp/course_details.html' %} +
    -
    +
    @@ -53,6 +43,13 @@

    Students

    +
    +
    +
    +
    +
    +
    +
    From 96e3dba3d48929c6c9163237586eb293624bad4f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:53:35 -0800 Subject: [PATCH 446/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index ac948d33..4d52b211 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -3,20 +3,22 @@ {% block content %} -
    +

    Course Information

    +
    + +
    {% include 'ComSemApp/course_details.html' %}
    -
    -
    +
    @@ -44,11 +46,11 @@

    Students

    -
    -
    + +
    -
    +
    From 11553d7d0863007f49ee33eb393a75a5fb08288b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:54:44 -0800 Subject: [PATCH 447/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 4d52b211..9459ee87 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -46,11 +46,11 @@

    Students

    - -
    -
    -
    - +
    +
    +
    +
    +
    From 8f69041020168d283d209999581e613c547661fc Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:55:21 -0800 Subject: [PATCH 448/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 9459ee87..a809b0b8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -11,6 +11,13 @@

    Course Information

    +
    +
    +
    +
    +
    +
    +
    @@ -45,13 +52,6 @@

    Students

    -
    -
    -
    -
    -
    -
    -
    From cd4c2c8df744cc609cf9be64c3ee6c01e5c7b043 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:56:13 -0800 Subject: [PATCH 449/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index a809b0b8..b32dab19 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -25,6 +25,7 @@

    Course Information

    {% include 'ComSemApp/course_details.html' %}
    +
    @@ -51,7 +52,6 @@

    Students

    -
    From 3f994786eb7eb75cc9d282182b0db1a0981af153 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:57:31 -0800 Subject: [PATCH 450/540] update --- .../templates/ComSemApp/teacher/course.html | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index b32dab19..16af4de3 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -11,19 +11,21 @@

    Course Information

    -
    -
    -
    -
    +
    +
    +
    +
    +
    +
    -
    -
    +
    - -
    - {% include 'ComSemApp/course_details.html' %} + +
    + {% include 'ComSemApp/course_details.html' %} +
    From f08c57b3da5d33107a13de452233100b357fd1a2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:58:31 -0800 Subject: [PATCH 451/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 16af4de3..ce74db11 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -11,7 +11,7 @@

    Course Information

    -
    +
    From cd750740708055c5fd206dd2dd8a0d546a58d627 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 20:58:57 -0800 Subject: [PATCH 452/540] update --- .../templates/ComSemApp/teacher/course.html | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index ce74db11..a071c8c4 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -11,23 +11,13 @@

    Course Information

    -
    -
    -
    -
    -
    -
    -
    -
    -
    +
    - -
    - {% include 'ComSemApp/course_details.html' %} -
    + +
    + {% include 'ComSemApp/course_details.html' %}
    -
    @@ -54,6 +44,14 @@

    Students

    +
    +
    +
    +
    +
    +
    +
    +
    From 95fb9d470610ba2c405f728ff5c3f88b4d1189da Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:00:15 -0800 Subject: [PATCH 453/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index a071c8c4..69156ccd 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -15,8 +15,15 @@

    Course Information

    -
    - {% include 'ComSemApp/course_details.html' %} +
    +
    + {% include 'ComSemApp/course_details.html' %} +
    +
    +
    +
    +
    +
    From 330222afb87e70f9aa82bbdb5088064315614af2 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:03:39 -0800 Subject: [PATCH 454/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 69156ccd..3bb34af2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -19,10 +19,9 @@

    Course Information

    {% include 'ComSemApp/course_details.html' %}
    +
    -
    -
    From 0a9865257bb6249df3b2b4f53fe9b3fe5c1133d6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:04:46 -0800 Subject: [PATCH 455/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 3bb34af2..449a3007 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -15,12 +15,12 @@

    Course Information

    -
    -
    +
    +
    {% include 'ComSemApp/course_details.html' %}
    -
    +
    From b88fc4ba74d65f927f3628aaf126eb23638a0db9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:05:45 -0800 Subject: [PATCH 456/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 449a3007..2d1480f8 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -20,9 +20,9 @@

    Course Information

    {% include 'ComSemApp/course_details.html' %}
    -
    -
    -
    +
    +
    +
    From fad21cabdd1785d318a5523534732f0a8fb3a4ee Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:06:48 -0800 Subject: [PATCH 457/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 2d1480f8..0abc812c 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -88,7 +88,7 @@

    Students

    // Set chart options - var options = {'title':'Worksheet Status'}; + var options = {'title':'Worksheet Status','height':300}; // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('chart_div')); From 02e923fb8d9f1b900b0d141530cfacd9af084639 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:08:37 -0800 Subject: [PATCH 458/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 0abc812c..efbc7e3d 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -21,6 +21,16 @@

    Course Information

    +
    + +

    Worksheet Status

    + +
    + + +
    +
    +
    From 8554ca7cdbc2125e3a4aa542a0cd6e9b72a3c23d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:09:10 -0800 Subject: [PATCH 459/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index efbc7e3d..a9da699f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -26,7 +26,7 @@

    Course Information

    Worksheet Status

    - +
    @@ -98,7 +98,7 @@

    Students

    // Set chart options - var options = {'title':'Worksheet Status','height':300}; + var options = {'height':300}; // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('chart_div')); From 40760b098e9bcbb846b2116abe503b1be404a694 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:09:53 -0800 Subject: [PATCH 460/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index a9da699f..8e790205 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -98,7 +98,7 @@

    Students

    // Set chart options - var options = {'height':300}; + var options = {'height':300, 'Padding': 10}; // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('chart_div')); From 456ab3c2efa4a770cf384fb8f61b2aeea8d23e9e Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:10:17 -0800 Subject: [PATCH 461/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 8e790205..a9da699f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -98,7 +98,7 @@

    Students

    // Set chart options - var options = {'height':300, 'Padding': 10}; + var options = {'height':300}; // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('chart_div')); From a27fceb3967d3570ac66ccf808ec6f973a79c3bd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 18 Feb 2019 21:11:32 -0800 Subject: [PATCH 462/540] update --- ComSemApp/templates/ComSemApp/teacher/course.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index a9da699f..d39704d2 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -23,7 +23,7 @@

    Course Information

    -

    Worksheet Status

    +

    Submission Status

    From e24a4b3957d9e99e6a68f53723c29911573cf86d Mon Sep 17 00:00:00 2001 From: tmgreenside Date: Mon, 25 Mar 2019 15:26:35 -0700 Subject: [PATCH 463/540] New feature branch --- CommunicationSeminar-7d71fc1430af.json | 12 ++++++++++++ CommunicationSeminar/settings.py | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 CommunicationSeminar-7d71fc1430af.json diff --git a/CommunicationSeminar-7d71fc1430af.json b/CommunicationSeminar-7d71fc1430af.json new file mode 100644 index 00000000..92aa5f78 --- /dev/null +++ b/CommunicationSeminar-7d71fc1430af.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "communicationsem-1551739563072", + "private_key_id": "7d71fc1430afbbc39e7c036244c1030b6d67442c", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDY7VjU3PReWgam\nJPvYcotxezUpw3ot1wSDNCzYb/jpI6U8COeicsBMxd3Tw4xtNwSIqRFTJjR5VQBV\nmk1UaKQcDFFicBZgNq4GMGSxpy62dxpsRP8jaclGd5Vw5LicA2duvslYMML41nfx\nL9i10z62lzOrY4/QjMDdV+5FCq1ijYZWwx4UzVPEQRugBZ/XarxCQnn6+IC9TyCT\nnLCQ/WJ+r9jUDYX4XeAegWs0cp9IqN9bTFwWGkRpKAHxuKJKjNjvuPwKfYKe4g2k\ntHN2xP0p2o5vSpE08QxCY83XO3kZBgTLBAPXdC3D1O62m1Ex8XLGB3QmL0+dl/CT\n+F44tL5vAgMBAAECggEAHm8uR1m4mdmHlUfFuFhZt/zROKAe7s975+x/XjOszbNy\nkI8EmzCo9McjQtKXS7tW/NVmLi7uAxfUiYNcgLstoGxvU/WQg28oezXO6sh0hU+w\neqreINnL+KxOYHMLyNexa0LZJ3EFPw7X776xaNElEKOmBtBbx6aiaGuDF6yn0Wuc\n4OFPlBFWFQyW3nwyQ2VxlAOhExa9D5qszahzhRfsZQIh78JnStrEXct1GdAzIgl8\n+0UVI98VgZ1Y/jXQsC9qjpSZjFvbxmDSitdKEfzu519UciW5wTUvzcrV2KDX4hP9\nry91NHr+EnLK9pbUsDem5KO5bHWsAB4EMOoBFaPGAQKBgQDvQtWUkAG9QnW7Mr0+\nNj76U5jpuYMyvKaRfenYlM6B/5Lsjmj6aWfKRUTy0aSUUjKYlfWsZmQGkyRYbWct\n//NYqE6wsTi3neVYB+PWp7cckMvAShGvlhtoHiQ3TZcDMN2fg+9lHQopjGxF3Ljb\nPmYCw81i7PnsYCZyi94OvhqQbQKBgQDoGoMOROsVJCuQhuLwyX6gQh5I8OgVsjAV\nYuqk0uF4ozzNx03HLhZUbBl+edJvIepspv0iXqqL7FtsKjd/tOq5Wwokasnph+ma\nQyYn1fygoGITvzjY0JvZhAbDSSjAqln/nus3kK6yd/qM+GyKi0G8b9CxJOPtUyQo\nFapwwEIYywKBgDo57JpL9XBmlRoqfe1+7BKld4ghsnENggfUOa2QgTUXylyxR5Dx\nR+Xst5vUMxY5bsC9dd0vydXjxyuR7FNAf6sqwoOzjVb6IQ8sVGEvzZsxDbTNEcLG\naAMNmsiupDqNkNG6HO9hgtCbsNnLnl0UsWSo2/ngK+4/c/vaV/8Eeph9AoGBAJIC\n+6ciW/D0zCMjd+iaGXqfnYWtZ5MegXkyvQHrV8QYjMu3MYq3x3xcdL1HzcXzxBGO\nC3hvrUJQ8kJdXISOP4tTZlH6jALJaX+N9pbg2wgBXTGm/hAHS8POdqKrh2OMxwkz\n5C0Ua5ICQDAmp8GQUU5F2TdXSbumrfw5hPthNzN5AoGAYFby81jrjNmL1+2qFzch\nAOstKnE8Tfsf70EX6mpITqd+AVe4lCIzPnWsRlY/xSO5mFBcGqfpZlKqyIzj49kK\nkdTVKAR7xFesKT7Xgv8KYAYSbZXLBp/z8FUwCvrxXfcLd321LIf0tSkoySrcw3BG\nwWweesIuRbUDKXlv/hZzpaA=\n-----END PRIVATE KEY-----\n", + "client_email": "starting-account-9jnnspij26oc@communicationsem-1551739563072.iam.gserviceaccount.com", + "client_id": "109876849879407886090", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/starting-account-9jnnspij26oc%40communicationsem-1551739563072.iam.gserviceaccount.com" +} diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..4e0b605c 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -104,7 +104,7 @@ 'PORT': '3306', 'NAME': 'CommunicationSeminarDjango', 'USER': 'root', - 'PASSWORD': '2017%ComSem', + 'PASSWORD': 'tempcbsql', } } From acaa2d622632d6706de148d090142e964c98af10 Mon Sep 17 00:00:00 2001 From: tmgreenside Date: Sun, 31 Mar 2019 18:44:58 -0700 Subject: [PATCH 464/540] Added Google Speech start script --- ComSemApp/student/urls.py | 6 +++- ComSemApp/student/views.py | 6 ++++ .../ComSemApp/student/attempt_form.html | 20 +++++++++-- GoogleSpeech_Start.sh | 1 + googletest.py | 33 +++++++++++++++++++ 5 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 GoogleSpeech_Start.sh create mode 100644 googletest.py diff --git a/ComSemApp/student/urls.py b/ComSemApp/student/urls.py index ae073e67..5809573f 100644 --- a/ComSemApp/student/urls.py +++ b/ComSemApp/student/urls.py @@ -4,11 +4,15 @@ app_name = 'student' urlpatterns = [ url(r'^$', views.CourseListView.as_view(), name='courses'), + + # url(r'^course/googleTranscribe/$', views.googleTranscribe, name="googleTranscribe"), + url(r'^course/(?P[0-9]+)/$', views.CourseDetailView.as_view(), name='course'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/list/$', views.SubmissionListView.as_view(), name='submission_list'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/create/$', views.SubmissionCreateView.as_view(), name='create_submission'), + url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/create/googleTranscribe$', views.googleTranscribe, name="googleTranscribe"), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/update/$', views.SubmissionUpdateView.as_view(), name='update_submission'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/expressions/$', views.ExpressionListView.as_view(), name='worksheet_expression_list'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/expression/(?P[0-9]+)/create/$', views.AttemptCreateView.as_view(), name='create_attempt'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/attempt/(?P[0-9]+)/update/$', views.AttemptUpdateView.as_view(), name='update_attempt'), -] \ No newline at end of file +] diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 58085058..8294c7f9 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -17,6 +17,12 @@ from ComSemApp.models import * from ComSemApp.libs.mixins import RoleViewMixin, CourseViewMixin, WorksheetViewMixin, SubmissionViewMixin +def googleTranscribe(request): + print("GoogleTranscribe has been called") + if request.method == "POST": + return HttpResponse("Posted for Google") + else: + return HttpResponse("Here's lookin at you, Kid") class StudentViewMixin(RoleViewMixin): diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index a4134b19..1fa6f485 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -1,8 +1,8 @@ {% load static %} - - + + @@ -75,6 +75,9 @@ {% include 'ComSemApp/audio_recording.html' %}
    + +Google Transcribe + {% if attempt.audio %} + +Then it's time tour library `dknotus-tour.js` or `dknotus-tour.min.js`. + + + +Finally we can define our own tour and run it with Tour.run(). Yes, it's that simple. + +```javascript + $(function(){ + $('#simpleBtn').click(function(){ + Tour.run([ + { + element: $('#btn1'), + content: 'first btn' + }, + { + element: $('#btn2'), + content: 'and the second one
    description might be HTML' + }, + ]); + }); + }); +``` + +## 3. Different tour positions +```javascript + $(function(){ + $('#positionsBtn').click(function(){ + Tour.run([ + { + element: $('#posBtn'), + content: 'by default tour is on the right' + }, + { + element: $('#posBtn'), + content: 'but it can be on top', + position: 'top' + }, + { + element: $('#posBtn'), + content: 'bottom', + position: 'bottom' + }, + { + element: $('#posBtn'), + content: 'and finally on the left', + position: 'left' + } + ]); + }); + }); +``` + +## 4. Global and local parameters + +Tour may be run with two parameters: tour description (mandatory) and global options (optional) Tour.run(tourDescription, options). If for some tour hint some parameter is not set, then if it's possible it's taken from options. + +Possible parameters for hints descriptions and for global options: + +Parameter | Default value | Description +--------- | ------------- | ----------- +element | *none* | jQuery element (might be more then one), if it's not set then hint is skipped. +content | *empty string* | It's for contents of particular hints. +close | true | Defines if close button should be shown. +language | en | Defines interface language. Available languages: +|| en | English (default) +|| pl | Polish +|| be | Belarusian +|| ca | Catalan +|| cs | Czech +|| da | Danish +|| de | German +|| el | Greek +|| es | Spanish +|| et | Estonian +|| fi | Finnish +|| fr | French +|| hu | Hungarian +|| it | Italian +|| lt | Lithuanian +|| lv | Latvian +|| mk | Macedonian +|| nl | Dutch +|| no | Norwegian +|| pt | Portuguese +|| ru | Russian +|| sk | Slovak +|| sl | Slovenian +|| sq | Albanian +|| sv | Swedish +|| tr | Turkish +|| uk | Ukrainian +padding | 5 | Extra space around tour exposed elements. (Has only sense when spotlight option is true). +position | right | Determines where hint should be shown relatively to element it describes. +||| Possible values: right, left, top and bottom. +scroll | true | If true then scrolls window so selected element and hint would be as close as possible to the view center. +spotlight | true | If true then covers everything except selected element and hint with shadow. +forceCorrectionLeft | 0 | Useful if for some reason left offset needs to be modified. +forceCorrectionTop | 0 | Useful if for some reason top offset needs to be modified. +forceCorrectionWidth | 0 | Useful if for some reason width needs to be modified. +forceCorrectionHeight | 0 | Useful if for some reason height needs to be modified. + +All above options can be used for both: single hint description and for global options. With global options previous example can be written like: + +```javascript + $(function(){ + $('#positionsShorterBtn').click(function(){ + var globalOptions = { + element: $('#posBtn') + }; + + var tourDescription = [ + { + content: 'by default tour is on the right' + }, + { + content: 'but it can be on top', + position: 'top' + }, + { + content: 'bottom', + position: 'bottom' + }, + { + content: 'and finally on the left', + position: 'left' + } + ]; + + Tour.run(tourDescription, globalOptions); + }); + }); +``` + +## 5. Events example + +There are four events that can be used by developers: + + - **onstart()** - Triggered when new tour starts ( `Tour.run()` ); + - **onfinish()** - Triggered when Finish button is clicked; + - **onclose()** - Triggered when Close button is pressed ( `Tour.close()` ); + - **onstep( currentStep )** - Triggered on every step shown ( `Tour.next()` or `Tour.prev()` ); + - **onresize()** - By default this one is set. + +```javascript + $(function(){ + $('#eventsBtn').click(function(){ + Tour.onstart = function(){ + console.log('We started!'); + }; + + Tour.onfinish = function(){ + console.log('The End'); + }; + + Tour.onclose = function(){ + console.log('Tour interupted'); + }; + + Tour.onstep = function(currentStep){ + console.log('"That\'s one small step for a man ..."'); + console.log(currentStep); + }; + + Tour.run([ + { + element: $('#eventBtn1').add('#eventBtn3'), + content: 'You prefer photos?', + position: 'top' + }, + { + element: $('#eventBtn3').add('#eventBtn4'), + content: 'or videos?', + onstep: function(currentStep) { + console.log('Events defined in step, overwrites global definition'); + } + } + ]); + }); + }); +``` + +## 6. Tour interface + +#### Methods + +Method | Description +------ | ----------- +**Tour.run( tourDescription, globlOptions )** | Function for running Tour. +**Tour.next()** | Goes to next tour step. +**Tour.prev()** | Goes to previous tour step. +**Tour.close()** | Interrupts tour and closes it. +**Tour.current()** | Returns current step description. + +#### Events + +By default all except `onresize` are set to null. + +Event | Description +----- | ----------- +**Tour.onstart()** | Triggered when new tour starts ( Tour.run() ). +**Tour.onfinish()** | Triggered when Finish button is clicked. +**Tour.onclose()** | Triggered when Close button is pressed ( Tour.close() ). +**Tour.onstep( currentEvent )** | Triggered on every step shown ( Tour.next() or Tour.prev() ). +**Tour.onresize()** | By default this one is set. + +## 7. Contact + +Jan Doleczek diff --git a/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js b/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js new file mode 100644 index 00000000..d1d25fd5 --- /dev/null +++ b/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js @@ -0,0 +1,391 @@ +/*! + * DK Notus Tour JavaScript Library v1.2 + * https://github.com/DKNotusIT/DKNotus-Tour/ + * + * Copyright DK Notus and other contributors + * Released under the MIT license + * https://github.com/DKNotusIT/DKNotus-Tour/blob/master/LICENSE + * + * Date: 2018-03-17 + */ + +var Tour = (function() { + var t = [], + o, cur + T = { + step: { + pl: "krok", + en: "step", + be: "крок", + ca: "pas", + cs: "krok", + da: "trin", + de: "Schritt", + el: "βήμα", + es: "paso", + et: "samm", + fi: "vaihe", + fr: "étape", + hu: "lépés", + it: "passo", + lt: "žingsnis", + lv: "solis", + mk: "чекор", + nl: "stap", + no: "trinn", + pt: "passo", + ru: "шаг", + sk: "krok", + sl: "korak", + sq: "hapi", + sv: "steg", + tr: "adım", + uk: "крок" + }, + Next: { + pl: "Następny", + en: "Next", + be: "Далей", + ca: "Següent", + cs: "Další", + da: "Næste", + de: "Weiter", + el: "Την επόμενη", + es: "Siguiente", + et: "Järgmine", + fi: "Seuraava", + fr: "Prochaine", + hu: "Következő", + it: "Accanto", + lt: "Kitas", + lv: "Nākamā", + mk: "Следна", + nl: "Volgende", + no: "Neste", + pt: "Próximo", + ru: "Далее", + sk: "Ďalej", + sl: "Naprej", + sq: "Tjetër", + sv: "Nästa", + tr: "Gelecek", + uk: "Далі" + }, + Previous: { + pl: "Poprzedni", + en: "Previous", + be: "Папярэдні", + ca: "Anteriors", + cs: "Předchozí", + da: "Tidligere", + de: "Vorherige", + el: "Προηγούμενο", + es: "Anterior", + et: "Eelmine", + fi: "Edellinen", + fr: "Précédente", + hu: "Előző", + it: "Precedente", + lt: "Ankstesnis", + lv: "Iepriekšējā", + mk: "Претходна", + nl: "Vorige", + no: "Tidligere", + pt: "Anterior", + ru: "Предыдущий", + sk: "Predchádzajúce", + sl: "Prejšnji", + sq: "E mëparshme", + sv: "Föregående", + tr: "Önceki", + uk: "Попередній" + }, + Finish: { + pl: "Zakończ", + en: "Finish", + be: "Аздабленне", + ca: "Acabat", + cs: "Dokončit", + da: "Finish", + de: "Finish", + el: "Τελειώνει", + es: "Acabado", + et: "Lõpeta", + fi: "Loppuun", + fr: "Finition", + hu: "Befejezés", + it: "Finitura", + lt: "Apdaila", + lv: "Apdare", + mk: "Заврши", + nl: "Afwerking", + no: "Ferdig", + pt: "Acabamento", + ru: "Отделка", + sk: "Povrch", + sl: "Zaključek", + sq: "Finish", + sv: "Avsluta", + tr: "Bitir", + uk: "Оздоблення" + } + }; + + function _t(s) { + return T[s][t[cur].language] || T[s]['en']; + } + + function step(n) { + cur = n; + $('.tourStep, .tourBg').remove(); + + if (!t[n]) { + return; + } + + $('body').append([ + '
    ', + '
    ', + '
    ', + !t[n].close ? '' : '', + '
    ', + t[n].content, + '
    ', + '', + '
    ', + '
    ' + ].join('')); + + var el = $('.tourStep') + .addClass(t[n].position) + .css({ + minWidth: 250 + }), + x = 0, + y = 0; + + if (t[n].element && !!t[n].element.length) { + var x1 = 1e6, + y1 = 1e6, + x2 = 0, + y2 = 0; + + t[n].element.each(function(k, v) { + var ofs = $(v).offset(); + x1 = Math.min(x1, ofs.left + t[n].forceCorrectionLeft); + y1 = Math.min(y1, ofs.top + t[n].forceCorrectionTop); + + x2 = Math.max(x2, ofs.left + t[n].forceCorrectionLeft + t[n].forceCorrectionWidth + + parseInt($(v).css('border-left-width')) + + parseInt($(v).css('padding-left')) + + $(v).width() + + parseInt($(v).css('padding-right')) + + parseInt($(v).css('border-right-width')) + ); + + y2 = Math.max(y2, ofs.top + t[n].forceCorrectionTop + t[n].forceCorrectionHeight + + parseInt($(v).css('border-top-width')) + + parseInt($(v).css('padding-top')) + + $(v).height() + + parseInt($(v).css('padding-bottom')) + + parseInt($(v).css('border-bottom-width')) + ); + }); + + switch (t[n].position) { + case 'top': + y = y1 - el.height(); + x = ((x1 + x2) >> 1) - (el.width() >> 1); + break; + + case 'right': + y = ((y1 + y2) >> 1) - (el.height()>> 1); + x = x2; + break; + + case 'left': + y = ((y1 + y2) >> 1) - (el.height()>> 1); + x = x1 - el.width(); + break; + + case 'bottom': + y = y2; + x = ((x1 + x2) >> 1) - (el.width() >> 1); + break; + }; + }; + + el + .css({ + position: 'absolute', + left: x, + top: y + }) + .show(); + + if (t[n].spotlight) { + var p = t[n].padding; + $('body').append(Array(5).join('
    ')); + + var pos = [ + { + bottom: 'auto', + height: y1 - p + }, + { + top: y2 + p, + height: $(document).height() - y2 - p + }, + { + right: 'auto', + bottom: 'auto', + top: y1 - p, + width: x1 - p, + height: 2 * p + y2 - y1 + }, + { + left: x2 + p, + bottom: 'auto', + top: y1 - p, + height: 2 * p + y2 - y1 + } + ]; + + $('.tourBg') + .css({ + position: 'absolute', + zIndex: 1000, + top: 0, + bottom: 0, + right: 0, + left: 0, + background: '#000', + opacity: 0.3 + }).each(function(k, v){ + $(v).css(pos[k]); + }); + } + + if (!!t[n].scroll) { + var my = ((Math.min(y, y1) + Math.max(y + el.height(), y2)) >> 1) - ($(window).height() >> 1), + mx = ((Math.min(x, x1) + Math.max(x + el.width(), x2)) >> 1) - ($(window).width() >> 1); + + $('html, body').animate({ + scrollTop: Math.max(0, Math.min(y, y1, my)), + scrollLeft: Math.max(0, Math.min(x, x1, mx)) + }); + } + + if (!n) { + $('.tourPrev').remove(); + } + + if (n > t.length - 2) { + $('.tourNext').text(_t('Finish')); + } + + $('.tourStep') + .on('click', '.tourNext:not([disabled])', Tour.next) + .on('click', '.tourPrev:not([disabled])', Tour.prev) + .on('click', '.tourClose:not([disabled])', Tour.close); + + (t[n].onstep || Tour.onstep || function(){})(t[n]); + } + + $(window).on('resize', function() { + if (!!Tour.onresize) { + Tour.onresize(); + } + }); + + return { + run: function(tour, options) { + try { + t = []; + cur = 0; + + o = { + close: true, + content: '', + language: 'en', + padding: 5, + position: 'right', + scroll: true, + spotlight: true, + forceCorrectionLeft: 0, + forceCorrectionTop: 0, + forceCorrectionWidth: 0, + forceCorrectionHeight: 0, + onstep: null, + }; + + for (var k in options) { + o[k] = options[k]; + } + + $(tour).each(function(k, v) { + for (var kk in o) { + v[kk] = v[kk] || o[kk]; + }; + + if (v.element && !!v.element.length) { + t.push(v); + } + }); + + step(cur); + + if (!!Tour.onstart) { + Tour.onstart(); + } + } catch(e) {} + }, + + next: function() { + step(cur + 1); + + if (cur == t.length) { + if (!!Tour.onfinish) { + Tour.onfinish(); + } + } + }, + + prev: function(){ + step(cur - 1); + }, + + current: function(){ + return cur; + }, + + close: function(){ + step(-1); + + if (!!Tour.onclose) { + Tour.onclose(); + } + }, + + onstart: null, + onfinish: null, + onclose: null, + onstep: null, + + onresize: function() { + var n = cur - 1; + step(-1); + cur = n; + + setTimeout(function() { + Tour.next(); + }, 20); + } + }; +})(); diff --git a/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js b/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js new file mode 100644 index 00000000..38939c05 --- /dev/null +++ b/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js @@ -0,0 +1,12 @@ +/*! + * DK Notus Tour JavaScript Library v1.2 + * https://github.com/DKNotusIT/DKNotus-Tour/ + * + * Copyright DK Notus and other contributors + * Released under the MIT license + * https://github.com/DKNotusIT/DKNotus-Tour/blob/master/LICENSE + * + * Date: 2018-03-17 + */ + + var Tour=function(){function _t(s){return T[s][t[cur].language]||T[s].en}function step(n){if(cur=n,$(".tourStep, .tourBg").remove(),t[n]){$("body").append(['
    ','
    ','
    ',t[n].close?'':"",'
    ',t[n].content,"
    ",'","
    ","
    "].join(""));var el=$(".tourStep").addClass(t[n].position).css({minWidth:250}),x=0,y=0;if(t[n].element&&t[n].element.length){var x1=1e6,y1=1e6,x2=0,y2=0;switch(t[n].element.each(function(k,v){var ofs=$(v).offset();x1=Math.min(x1,ofs.left+t[n].forceCorrectionLeft),y1=Math.min(y1,ofs.top+t[n].forceCorrectionTop),x2=Math.max(x2,ofs.left+t[n].forceCorrectionLeft+t[n].forceCorrectionWidth+parseInt($(v).css("border-left-width"))+parseInt($(v).css("padding-left"))+$(v).width()+parseInt($(v).css("padding-right"))+parseInt($(v).css("border-right-width"))),y2=Math.max(y2,ofs.top+t[n].forceCorrectionTop+t[n].forceCorrectionHeight+parseInt($(v).css("border-top-width"))+parseInt($(v).css("padding-top"))+$(v).height()+parseInt($(v).css("padding-bottom"))+parseInt($(v).css("border-bottom-width")))}),t[n].position){case"top":y=y1-el.height(),x=(x1+x2>>1)-(el.width()>>1);break;case"right":y=(y1+y2>>1)-(el.height()>>1),x=x2;break;case"left":y=(y1+y2>>1)-(el.height()>>1),x=x1-el.width();break;case"bottom":y=y2,x=(x1+x2>>1)-(el.width()>>1)}}if(el.css({position:"absolute",left:x,top:y}).show(),t[n].spotlight){var p=t[n].padding;$("body").append(Array(5).join('
    '));var pos=[{bottom:"auto",height:y1-p},{top:y2+p,height:$(document).height()-y2-p},{right:"auto",bottom:"auto",top:y1-p,width:x1-p,height:2*p+y2-y1},{left:x2+p,bottom:"auto",top:y1-p,height:2*p+y2-y1}];$(".tourBg").css({position:"absolute",zIndex:1e3,top:0,bottom:0,right:0,left:0,background:"#000",opacity:.3}).each(function(k,v){$(v).css(pos[k])})}if(t[n].scroll){var my=(Math.min(y,y1)+Math.max(y+el.height(),y2)>>1)-($(window).height()>>1),mx=(Math.min(x,x1)+Math.max(x+el.width(),x2)>>1)-($(window).width()>>1);$("html, body").animate({scrollTop:Math.max(0,Math.min(y,y1,my)),scrollLeft:Math.max(0,Math.min(x,x1,mx))})}n||$(".tourPrev").remove(),n>t.length-2&&$(".tourNext").text(_t("Finish")),$(".tourStep").on("click",".tourNext:not([disabled])",Tour.next).on("click",".tourPrev:not([disabled])",Tour.prev).on("click",".tourClose:not([disabled])",Tour.close),(t[n].onstep||Tour.onstep||function(){})(t[n])}}var o,cur,t=[];return T={step:{pl:"krok",en:"step",be:"крок",ca:"pas",cs:"krok",da:"trin",de:"Schritt",el:"βήμα",es:"paso",et:"samm",fi:"vaihe",fr:"étape",hu:"lépés",it:"passo",lt:"žingsnis",lv:"solis",mk:"чекор",nl:"stap",no:"trinn",pt:"passo",ru:"шаг",sk:"krok",sl:"korak",sq:"hapi",sv:"steg",tr:"adım",uk:"крок"},Next:{pl:"Następny",en:"Next",be:"Далей",ca:"Següent",cs:"Další",da:"Næste",de:"Weiter",el:"Την επόμενη",es:"Siguiente",et:"Järgmine",fi:"Seuraava",fr:"Prochaine",hu:"Következő",it:"Accanto",lt:"Kitas",lv:"Nākamā",mk:"Следна",nl:"Volgende",no:"Neste",pt:"Próximo",ru:"Далее",sk:"Ďalej",sl:"Naprej",sq:"Tjetër",sv:"Nästa",tr:"Gelecek",uk:"Далі"},Previous:{pl:"Poprzedni",en:"Previous",be:"Папярэдні",ca:"Anteriors",cs:"Předchozí",da:"Tidligere",de:"Vorherige",el:"Προηγούμενο",es:"Anterior",et:"Eelmine",fi:"Edellinen",fr:"Précédente",hu:"Előző",it:"Precedente",lt:"Ankstesnis",lv:"Iepriekšējā",mk:"Претходна",nl:"Vorige",no:"Tidligere",pt:"Anterior",ru:"Предыдущий",sk:"Predchádzajúce",sl:"Prejšnji",sq:"E mëparshme",sv:"Föregående",tr:"Önceki",uk:"Попередній"},Finish:{pl:"Zakończ",en:"Finish",be:"Аздабленне",ca:"Acabat",cs:"Dokončit",da:"Finish",de:"Finish",el:"Τελειώνει",es:"Acabado",et:"Lõpeta",fi:"Loppuun",fr:"Finition",hu:"Befejezés",it:"Finitura",lt:"Apdaila",lv:"Apdare",mk:"Заврши",nl:"Afwerking",no:"Ferdig",pt:"Acabamento",ru:"Отделка",sk:"Povrch",sl:"Zaključek",sq:"Finish",sv:"Avsluta",tr:"Bitir",uk:"Оздоблення"}},$(window).on("resize",function(){Tour.onresize&&Tour.onresize()}),{run:function(tour,options){try{t=[],cur=0,o={close:!0,content:"",language:"en",padding:5,position:"right",scroll:!0,spotlight:!0,forceCorrectionLeft:0,forceCorrectionTop:0,forceCorrectionWidth:0,forceCorrectionHeight:0,onstep:null};for(var k in options)o[k]=options[k];$(tour).each(function(k,v){for(var kk in o)v[kk]=v[kk]||o[kk];v.element&&v.element.length&&t.push(v)}),step(cur),Tour.onstart&&Tour.onstart()}catch(e){}},next:function(){step(cur+1),cur==t.length&&Tour.onfinish&&Tour.onfinish()},prev:function(){step(cur-1)},current:function(){return cur},close:function(){step(-1),Tour.onclose&&Tour.onclose()},onstart:null,onfinish:null,onclose:null,onstep:null,onresize:function(){var n=cur-1;step(-1),cur=n,setTimeout(function(){Tour.next()},20)}}}(); \ No newline at end of file diff --git a/static/ComSemApp/DKNotus-Tour-master/examples.html b/static/ComSemApp/DKNotus-Tour-master/examples.html new file mode 100644 index 00000000..52867654 --- /dev/null +++ b/static/ComSemApp/DKNotus-Tour-master/examples.html @@ -0,0 +1,768 @@ + + + + + + DK Notus Tour - Examples + + + + + + +
    + + + + +
    +
    +

    + This compact solution for guided tours has + 27 languages support. + It requires only two very common dependencies: + jQuery and Bootstrap. + Also has useful features like auto scroll + and "spotlight". + We hope you enjoy it. +

    + +
    + DK Notus Tour +
    + +

    + We tried to keep all data regarding usage as short as possible. +

    + +

    1. Features

    + +

    + Features that we considerble important: +

    + +
    +
    small requirements
    +
    only jQuery and Bootstrap;
    + +
    simple usage
    +
    one function for common usage - yes, it's that simple;
    + +
    events
    +
    for advanced programmers usage;
    + +
    scroll
    +
    and some more useful features;
    + +
    multi elem. selection
    +
    you can point more then one element for one tour step;
    + +
    translations
    +
    languages support.
    +
    + +

    2. Simple use case

    + +

    Lets start with two step tour for elements below:

    + + + + + +

    + First of all we need to include two common libraries + jQuery and Bootstrap. + You ca use some CDN for that. +

    + +
    +
      <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
    +  <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    +
    + +

    + Then it's time tour library dknotus-tour.js + or dknotus-tour.min.js. +

    + +
    +
      <script src="dknotus-tour.js"></script>
    +
    + +

    + Finally we can define our own tour and run it with + Tour.run(). Yes, it's that simple. +

    + + + +
    +
    +  $(function(){
    +    $('#simpleBtn').click(function(){
    +      Tour.run([
    +        {
    +          element: $('#btn1'),
    +          content: 'first btn'
    +        },
    +        {
    +          element: $('#btn2'),
    +          content: 'and the second one<br>description might be <strong>HTML</strong>'
    +        },
    +      ]);
    +    });
    +  });
    +            
    +
    + +

    3. Different tour positions

    + + + + + + + +
    +
    +  $(function(){
    +    $('#positionsBtn').click(function(){
    +      Tour.run([
    +        {
    +          element: $('#posBtn'),
    +          content: 'by default tour is on the right'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'but it can be on top',
    +          position: 'top'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'bottom',
    +          position: 'bottom'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'and finally on the left',
    +          position: 'left'
    +        }
    +      ]);
    +    });
    +  });
    +
    + +

    4. Global and local parameters

    + +

    + Tour may be run with two parameters: tour description (mandatory) + and global options (optional) Tour.run(tourDescription, + options). If for some tour hint some parameter is not set, + then if it's possible it's taken from options. +

    + +

    + Possible parameters for hints descriptions and for global options +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDefault valueDescription
    elementnone + jQuery element (might be more then one), + if it's not set then hint is skipped. +
    contentempty stringIt's for contents of particular hints.
    closetrueDefines if close button should be shown.
    languageen + Defines interface language. Available languages: +
    +
    en
    +
    English (default)
    + +
    pl
    +
    Polish
    + +
    be
    +
    Belarusian
    + +
    ca
    +
    Catalan
    + +
    cs
    +
    Czech
    + +
    da
    +
    Danish
    + +
    de
    +
    German
    + +
    el
    +
    Greek
    + +
    es
    +
    Spanish
    + +
    et
    +
    Estonian
    + +
    fi
    +
    Finnish
    + +
    fr
    +
    French
    + +
    hu
    +
    Hungarian
    + +
    it
    +
    Italian
    + +
    lt
    +
    Lithuanian
    + +
    lv
    +
    Latvian
    + +
    mk
    +
    Macedonian
    + +
    nl
    +
    Dutch
    + +
    no
    +
    Norwegian
    + +
    pt
    +
    Portuguese
    + +
    ru
    +
    Russian
    + +
    sk
    +
    Slovak
    + +
    sl
    +
    Slovenian
    + +
    sq
    +
    Albanian
    + +
    sv
    +
    Swedish
    + +
    tr
    +
    Turkish
    + +
    uk
    +
    Ukrainian
    +
    +
    padding5 + Extra space around tour exposed elements. + (Has only sense when spotlight option is true). +
    positionright + Determines where hint should be shown relativly to element + it describes.
    + Possible values: right, left, top and bottom. +
    scrolltrue + If true then scrolls window so selected element + and hint would be as close as possible to the view center. +
    spotlighttrue + If true then covers everything except selected element + and hint with shadow. +
    forceCorrectionLeft0 + Useful if for some reason left offset needs to be modified. +
    forceCorrectionTop0 + Useful if for some reason top offset needs to be modified. +
    forceCorrectionWidth0 + Useful if for some reason width needs to be modified. +
    forceCorrectionHeight0 + Useful if for some reason height needs to be modified. +
    + +

    + All above options can be used for both: single hint description + and for global options. With global options previous example + can be writen like: +

    + +
    +
    +  $(function(){
    +    $('#positionsShorterBtn').click(function(){
    +      var globalOptions = {
    +        element: $('#posBtn')
    +      };
    +
    +      var tourDescription = [
    +        {
    +          content: 'by default tour is on the right'
    +        },
    +        {
    +          content: 'but it can be on top',
    +          position: 'top'
    +        },
    +        {
    +          content: 'bottom',
    +          position: 'bottom'
    +        },
    +        {
    +          content: 'and finally on the left',
    +          position: 'left'
    +        }
    +      ];
    +
    +      Tour.run(tourDescription, globalOptions);
    +    });
    +  });
    +
    + + + + + +

    5. Events example

    + +

    + There are four events that can be used by developers: +

    + +
    +
    onstart()
    +
    Triggered when new tour starts ( Tour.run() ).
    + +
    onfinish()
    +
    Triggered when Finish button is clicked.
    + +
    onclose()
    +
    + Triggered when Close button is pressed + ( Tour.close() ). +
    + +
    onstep( currentStep )
    +
    + Triggered on every step shown + ( Tour.next() or Tour.prev() ). +
    + +
    onresize
    +
    By default this one is set.
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + + +
    +
    +  $(function(){
    +    $('#eventsBtn').click(function(){
    +      Tour.onstart = function(){
    +        console.log('We started!');
    +      };
    +
    +      Tour.onfinish = function(){
    +        console.log('The End');
    +      };
    +
    +      Tour.onclose = function(){
    +        console.log('Tour interupted');
    +      };
    +
    +      Tour.onstep = function(currentStep){
    +        console.log('"That\'s one small step for a man ..."');
    +        console.log(currentStep);
    +      };
    +
    +      Tour.run([
    +        {
    +          element: $('#eventBtn1').add('#eventBtn3'),
    +          content: 'You prefer photos?',
    +          position: 'top'
    +        },
    +        {
    +          element: $('#eventBtn3').add('#eventBtn4'),
    +          content: 'or videos?',
    +          onstep: function(currentStep) {
    +            console.log('Events defined in step, overwrites global definition');
    +          }
    +        }
    +      ]);
    +    });
    +  });
    +
    + +

    6. Tour interface

    + +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MethodDescription
    Tour.run( tourDescription, globlOptions )Function for running Tour;
    Tour.next()Goes to next tour step;
    Tour.prev()Goes to previous tour step;
    Tour.close()Interrupts tour and closes it;
    Tour.current()Returns current step description.
    + +

    Events

    + +

    + By default all except onresize are set to null. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventDescription
    Tour.onstart() + Triggered when new tour starts ( Tour.run() ); +
    Tour.onfinish()Triggered when Finish button is clicked;
    Tour.onclose() + Triggered when Close button is pressed + ( Tour.close() ); +
    Tour.onstep( currentStep ) + Triggered on every step shown + ( Tour.next() or Tour.prev() ); +
    Tour.onresize()By default this one is set.
    + +

    7. Contact

    + + Jan Doleczek + +
    + + No animals were harmed during development. + + + + DK Notus 2016 + + +
    + + +
    +
    + + From 293a378ba37d767799b160dbfa45e16f85a2b9f4 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 1 Apr 2019 13:30:36 -0700 Subject: [PATCH 467/540] setup --- .../DKNotus-Tour-master/DKNotusTour.png | Bin 0 -> 18615 bytes .../ComSemApp/DKNotus-Tour-master/LICENSE | 21 + .../ComSemApp/DKNotus-Tour-master/README.md | 235 ++++++ .../DKNotus-Tour-master/dknotus-tour.js | 391 +++++++++ .../DKNotus-Tour-master/dknotus-tour.min.js | 12 + .../DKNotus-Tour-master/examples.html | 768 ++++++++++++++++++ ComSemApp/templates/ComSemApp/base.html | 1 + ComSemApp/templates/registration/login.html | 14 +- 8 files changed, 1440 insertions(+), 2 deletions(-) create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/DKNotusTour.png create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/LICENSE create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/README.md create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js create mode 100755 ComSemApp/static/ComSemApp/DKNotus-Tour-master/examples.html diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/DKNotusTour.png b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/DKNotusTour.png new file mode 100755 index 0000000000000000000000000000000000000000..126344fe9b943d28089b98acfdd08b15e7ca1da0 GIT binary patch literal 18615 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 Ef^>FZc>n+a literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/LICENSE b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/LICENSE new file mode 100755 index 00000000..5b132a5e --- /dev/null +++ b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 DK Notus IT Team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/README.md b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/README.md new file mode 100755 index 00000000..630e86e7 --- /dev/null +++ b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/README.md @@ -0,0 +1,235 @@ +# DK Notus Tour + +#### This compact solution for guided tours has 27 languages support. It requires only two very common dependencies: **jQuery** and **Bootstrap**. Also has useful features like auto scroll and "spotlight". We hope you enjoy it. + +![DK Notus Tour](DKNotusTour.png) + +We tried to keep all data regarding usage as short as possible. +## 1. Features + +Features that we considerble important: + + - **small requirements** - only jQuery and Bootstrap; + - **simple usage** - one function for common usage - yes, it's that simple; + - **events** - for advanced programmers usage; + - **scroll** - and some more useful features; + - **multi elements selection** - you can point more then one element for one tour step; + - **translations** - 27 languages support. + +## 2. Simple use case + +Lets start with two step tour for elements below: + +First of all we need to include two common libraries jQuery and Bootstrap. You ca use some CDN for that. + + + + +Then it's time tour library `dknotus-tour.js` or `dknotus-tour.min.js`. + + + +Finally we can define our own tour and run it with Tour.run(). Yes, it's that simple. + +```javascript + $(function(){ + $('#simpleBtn').click(function(){ + Tour.run([ + { + element: $('#btn1'), + content: 'first btn' + }, + { + element: $('#btn2'), + content: 'and the second one
    description might be HTML' + }, + ]); + }); + }); +``` + +## 3. Different tour positions +```javascript + $(function(){ + $('#positionsBtn').click(function(){ + Tour.run([ + { + element: $('#posBtn'), + content: 'by default tour is on the right' + }, + { + element: $('#posBtn'), + content: 'but it can be on top', + position: 'top' + }, + { + element: $('#posBtn'), + content: 'bottom', + position: 'bottom' + }, + { + element: $('#posBtn'), + content: 'and finally on the left', + position: 'left' + } + ]); + }); + }); +``` + +## 4. Global and local parameters + +Tour may be run with two parameters: tour description (mandatory) and global options (optional) Tour.run(tourDescription, options). If for some tour hint some parameter is not set, then if it's possible it's taken from options. + +Possible parameters for hints descriptions and for global options: + +Parameter | Default value | Description +--------- | ------------- | ----------- +element | *none* | jQuery element (might be more then one), if it's not set then hint is skipped. +content | *empty string* | It's for contents of particular hints. +close | true | Defines if close button should be shown. +language | en | Defines interface language. Available languages: +|| en | English (default) +|| pl | Polish +|| be | Belarusian +|| ca | Catalan +|| cs | Czech +|| da | Danish +|| de | German +|| el | Greek +|| es | Spanish +|| et | Estonian +|| fi | Finnish +|| fr | French +|| hu | Hungarian +|| it | Italian +|| lt | Lithuanian +|| lv | Latvian +|| mk | Macedonian +|| nl | Dutch +|| no | Norwegian +|| pt | Portuguese +|| ru | Russian +|| sk | Slovak +|| sl | Slovenian +|| sq | Albanian +|| sv | Swedish +|| tr | Turkish +|| uk | Ukrainian +padding | 5 | Extra space around tour exposed elements. (Has only sense when spotlight option is true). +position | right | Determines where hint should be shown relatively to element it describes. +||| Possible values: right, left, top and bottom. +scroll | true | If true then scrolls window so selected element and hint would be as close as possible to the view center. +spotlight | true | If true then covers everything except selected element and hint with shadow. +forceCorrectionLeft | 0 | Useful if for some reason left offset needs to be modified. +forceCorrectionTop | 0 | Useful if for some reason top offset needs to be modified. +forceCorrectionWidth | 0 | Useful if for some reason width needs to be modified. +forceCorrectionHeight | 0 | Useful if for some reason height needs to be modified. + +All above options can be used for both: single hint description and for global options. With global options previous example can be written like: + +```javascript + $(function(){ + $('#positionsShorterBtn').click(function(){ + var globalOptions = { + element: $('#posBtn') + }; + + var tourDescription = [ + { + content: 'by default tour is on the right' + }, + { + content: 'but it can be on top', + position: 'top' + }, + { + content: 'bottom', + position: 'bottom' + }, + { + content: 'and finally on the left', + position: 'left' + } + ]; + + Tour.run(tourDescription, globalOptions); + }); + }); +``` + +## 5. Events example + +There are four events that can be used by developers: + + - **onstart()** - Triggered when new tour starts ( `Tour.run()` ); + - **onfinish()** - Triggered when Finish button is clicked; + - **onclose()** - Triggered when Close button is pressed ( `Tour.close()` ); + - **onstep( currentStep )** - Triggered on every step shown ( `Tour.next()` or `Tour.prev()` ); + - **onresize()** - By default this one is set. + +```javascript + $(function(){ + $('#eventsBtn').click(function(){ + Tour.onstart = function(){ + console.log('We started!'); + }; + + Tour.onfinish = function(){ + console.log('The End'); + }; + + Tour.onclose = function(){ + console.log('Tour interupted'); + }; + + Tour.onstep = function(currentStep){ + console.log('"That\'s one small step for a man ..."'); + console.log(currentStep); + }; + + Tour.run([ + { + element: $('#eventBtn1').add('#eventBtn3'), + content: 'You prefer photos?', + position: 'top' + }, + { + element: $('#eventBtn3').add('#eventBtn4'), + content: 'or videos?', + onstep: function(currentStep) { + console.log('Events defined in step, overwrites global definition'); + } + } + ]); + }); + }); +``` + +## 6. Tour interface + +#### Methods + +Method | Description +------ | ----------- +**Tour.run( tourDescription, globlOptions )** | Function for running Tour. +**Tour.next()** | Goes to next tour step. +**Tour.prev()** | Goes to previous tour step. +**Tour.close()** | Interrupts tour and closes it. +**Tour.current()** | Returns current step description. + +#### Events + +By default all except `onresize` are set to null. + +Event | Description +----- | ----------- +**Tour.onstart()** | Triggered when new tour starts ( Tour.run() ). +**Tour.onfinish()** | Triggered when Finish button is clicked. +**Tour.onclose()** | Triggered when Close button is pressed ( Tour.close() ). +**Tour.onstep( currentEvent )** | Triggered on every step shown ( Tour.next() or Tour.prev() ). +**Tour.onresize()** | By default this one is set. + +## 7. Contact + +Jan Doleczek diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js new file mode 100755 index 00000000..d1d25fd5 --- /dev/null +++ b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.js @@ -0,0 +1,391 @@ +/*! + * DK Notus Tour JavaScript Library v1.2 + * https://github.com/DKNotusIT/DKNotus-Tour/ + * + * Copyright DK Notus and other contributors + * Released under the MIT license + * https://github.com/DKNotusIT/DKNotus-Tour/blob/master/LICENSE + * + * Date: 2018-03-17 + */ + +var Tour = (function() { + var t = [], + o, cur + T = { + step: { + pl: "krok", + en: "step", + be: "крок", + ca: "pas", + cs: "krok", + da: "trin", + de: "Schritt", + el: "βήμα", + es: "paso", + et: "samm", + fi: "vaihe", + fr: "étape", + hu: "lépés", + it: "passo", + lt: "žingsnis", + lv: "solis", + mk: "чекор", + nl: "stap", + no: "trinn", + pt: "passo", + ru: "шаг", + sk: "krok", + sl: "korak", + sq: "hapi", + sv: "steg", + tr: "adım", + uk: "крок" + }, + Next: { + pl: "Następny", + en: "Next", + be: "Далей", + ca: "Següent", + cs: "Další", + da: "Næste", + de: "Weiter", + el: "Την επόμενη", + es: "Siguiente", + et: "Järgmine", + fi: "Seuraava", + fr: "Prochaine", + hu: "Következő", + it: "Accanto", + lt: "Kitas", + lv: "Nākamā", + mk: "Следна", + nl: "Volgende", + no: "Neste", + pt: "Próximo", + ru: "Далее", + sk: "Ďalej", + sl: "Naprej", + sq: "Tjetër", + sv: "Nästa", + tr: "Gelecek", + uk: "Далі" + }, + Previous: { + pl: "Poprzedni", + en: "Previous", + be: "Папярэдні", + ca: "Anteriors", + cs: "Předchozí", + da: "Tidligere", + de: "Vorherige", + el: "Προηγούμενο", + es: "Anterior", + et: "Eelmine", + fi: "Edellinen", + fr: "Précédente", + hu: "Előző", + it: "Precedente", + lt: "Ankstesnis", + lv: "Iepriekšējā", + mk: "Претходна", + nl: "Vorige", + no: "Tidligere", + pt: "Anterior", + ru: "Предыдущий", + sk: "Predchádzajúce", + sl: "Prejšnji", + sq: "E mëparshme", + sv: "Föregående", + tr: "Önceki", + uk: "Попередній" + }, + Finish: { + pl: "Zakończ", + en: "Finish", + be: "Аздабленне", + ca: "Acabat", + cs: "Dokončit", + da: "Finish", + de: "Finish", + el: "Τελειώνει", + es: "Acabado", + et: "Lõpeta", + fi: "Loppuun", + fr: "Finition", + hu: "Befejezés", + it: "Finitura", + lt: "Apdaila", + lv: "Apdare", + mk: "Заврши", + nl: "Afwerking", + no: "Ferdig", + pt: "Acabamento", + ru: "Отделка", + sk: "Povrch", + sl: "Zaključek", + sq: "Finish", + sv: "Avsluta", + tr: "Bitir", + uk: "Оздоблення" + } + }; + + function _t(s) { + return T[s][t[cur].language] || T[s]['en']; + } + + function step(n) { + cur = n; + $('.tourStep, .tourBg').remove(); + + if (!t[n]) { + return; + } + + $('body').append([ + '

    ', + '
    ', + '
    ', + !t[n].close ? '' : '', + '
    ', + t[n].content, + '
    ', + '', + '
    ', + '
    ' + ].join('')); + + var el = $('.tourStep') + .addClass(t[n].position) + .css({ + minWidth: 250 + }), + x = 0, + y = 0; + + if (t[n].element && !!t[n].element.length) { + var x1 = 1e6, + y1 = 1e6, + x2 = 0, + y2 = 0; + + t[n].element.each(function(k, v) { + var ofs = $(v).offset(); + x1 = Math.min(x1, ofs.left + t[n].forceCorrectionLeft); + y1 = Math.min(y1, ofs.top + t[n].forceCorrectionTop); + + x2 = Math.max(x2, ofs.left + t[n].forceCorrectionLeft + t[n].forceCorrectionWidth + + parseInt($(v).css('border-left-width')) + + parseInt($(v).css('padding-left')) + + $(v).width() + + parseInt($(v).css('padding-right')) + + parseInt($(v).css('border-right-width')) + ); + + y2 = Math.max(y2, ofs.top + t[n].forceCorrectionTop + t[n].forceCorrectionHeight + + parseInt($(v).css('border-top-width')) + + parseInt($(v).css('padding-top')) + + $(v).height() + + parseInt($(v).css('padding-bottom')) + + parseInt($(v).css('border-bottom-width')) + ); + }); + + switch (t[n].position) { + case 'top': + y = y1 - el.height(); + x = ((x1 + x2) >> 1) - (el.width() >> 1); + break; + + case 'right': + y = ((y1 + y2) >> 1) - (el.height()>> 1); + x = x2; + break; + + case 'left': + y = ((y1 + y2) >> 1) - (el.height()>> 1); + x = x1 - el.width(); + break; + + case 'bottom': + y = y2; + x = ((x1 + x2) >> 1) - (el.width() >> 1); + break; + }; + }; + + el + .css({ + position: 'absolute', + left: x, + top: y + }) + .show(); + + if (t[n].spotlight) { + var p = t[n].padding; + $('body').append(Array(5).join('
    ')); + + var pos = [ + { + bottom: 'auto', + height: y1 - p + }, + { + top: y2 + p, + height: $(document).height() - y2 - p + }, + { + right: 'auto', + bottom: 'auto', + top: y1 - p, + width: x1 - p, + height: 2 * p + y2 - y1 + }, + { + left: x2 + p, + bottom: 'auto', + top: y1 - p, + height: 2 * p + y2 - y1 + } + ]; + + $('.tourBg') + .css({ + position: 'absolute', + zIndex: 1000, + top: 0, + bottom: 0, + right: 0, + left: 0, + background: '#000', + opacity: 0.3 + }).each(function(k, v){ + $(v).css(pos[k]); + }); + } + + if (!!t[n].scroll) { + var my = ((Math.min(y, y1) + Math.max(y + el.height(), y2)) >> 1) - ($(window).height() >> 1), + mx = ((Math.min(x, x1) + Math.max(x + el.width(), x2)) >> 1) - ($(window).width() >> 1); + + $('html, body').animate({ + scrollTop: Math.max(0, Math.min(y, y1, my)), + scrollLeft: Math.max(0, Math.min(x, x1, mx)) + }); + } + + if (!n) { + $('.tourPrev').remove(); + } + + if (n > t.length - 2) { + $('.tourNext').text(_t('Finish')); + } + + $('.tourStep') + .on('click', '.tourNext:not([disabled])', Tour.next) + .on('click', '.tourPrev:not([disabled])', Tour.prev) + .on('click', '.tourClose:not([disabled])', Tour.close); + + (t[n].onstep || Tour.onstep || function(){})(t[n]); + } + + $(window).on('resize', function() { + if (!!Tour.onresize) { + Tour.onresize(); + } + }); + + return { + run: function(tour, options) { + try { + t = []; + cur = 0; + + o = { + close: true, + content: '', + language: 'en', + padding: 5, + position: 'right', + scroll: true, + spotlight: true, + forceCorrectionLeft: 0, + forceCorrectionTop: 0, + forceCorrectionWidth: 0, + forceCorrectionHeight: 0, + onstep: null, + }; + + for (var k in options) { + o[k] = options[k]; + } + + $(tour).each(function(k, v) { + for (var kk in o) { + v[kk] = v[kk] || o[kk]; + }; + + if (v.element && !!v.element.length) { + t.push(v); + } + }); + + step(cur); + + if (!!Tour.onstart) { + Tour.onstart(); + } + } catch(e) {} + }, + + next: function() { + step(cur + 1); + + if (cur == t.length) { + if (!!Tour.onfinish) { + Tour.onfinish(); + } + } + }, + + prev: function(){ + step(cur - 1); + }, + + current: function(){ + return cur; + }, + + close: function(){ + step(-1); + + if (!!Tour.onclose) { + Tour.onclose(); + } + }, + + onstart: null, + onfinish: null, + onclose: null, + onstep: null, + + onresize: function() { + var n = cur - 1; + step(-1); + cur = n; + + setTimeout(function() { + Tour.next(); + }, 20); + } + }; +})(); diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js new file mode 100755 index 00000000..38939c05 --- /dev/null +++ b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/dknotus-tour.min.js @@ -0,0 +1,12 @@ +/*! + * DK Notus Tour JavaScript Library v1.2 + * https://github.com/DKNotusIT/DKNotus-Tour/ + * + * Copyright DK Notus and other contributors + * Released under the MIT license + * https://github.com/DKNotusIT/DKNotus-Tour/blob/master/LICENSE + * + * Date: 2018-03-17 + */ + + var Tour=function(){function _t(s){return T[s][t[cur].language]||T[s].en}function step(n){if(cur=n,$(".tourStep, .tourBg").remove(),t[n]){$("body").append(['
    ','
    ','
    ',t[n].close?'':"",'
    ',t[n].content,"
    ",'","
    ","
    "].join(""));var el=$(".tourStep").addClass(t[n].position).css({minWidth:250}),x=0,y=0;if(t[n].element&&t[n].element.length){var x1=1e6,y1=1e6,x2=0,y2=0;switch(t[n].element.each(function(k,v){var ofs=$(v).offset();x1=Math.min(x1,ofs.left+t[n].forceCorrectionLeft),y1=Math.min(y1,ofs.top+t[n].forceCorrectionTop),x2=Math.max(x2,ofs.left+t[n].forceCorrectionLeft+t[n].forceCorrectionWidth+parseInt($(v).css("border-left-width"))+parseInt($(v).css("padding-left"))+$(v).width()+parseInt($(v).css("padding-right"))+parseInt($(v).css("border-right-width"))),y2=Math.max(y2,ofs.top+t[n].forceCorrectionTop+t[n].forceCorrectionHeight+parseInt($(v).css("border-top-width"))+parseInt($(v).css("padding-top"))+$(v).height()+parseInt($(v).css("padding-bottom"))+parseInt($(v).css("border-bottom-width")))}),t[n].position){case"top":y=y1-el.height(),x=(x1+x2>>1)-(el.width()>>1);break;case"right":y=(y1+y2>>1)-(el.height()>>1),x=x2;break;case"left":y=(y1+y2>>1)-(el.height()>>1),x=x1-el.width();break;case"bottom":y=y2,x=(x1+x2>>1)-(el.width()>>1)}}if(el.css({position:"absolute",left:x,top:y}).show(),t[n].spotlight){var p=t[n].padding;$("body").append(Array(5).join('
    '));var pos=[{bottom:"auto",height:y1-p},{top:y2+p,height:$(document).height()-y2-p},{right:"auto",bottom:"auto",top:y1-p,width:x1-p,height:2*p+y2-y1},{left:x2+p,bottom:"auto",top:y1-p,height:2*p+y2-y1}];$(".tourBg").css({position:"absolute",zIndex:1e3,top:0,bottom:0,right:0,left:0,background:"#000",opacity:.3}).each(function(k,v){$(v).css(pos[k])})}if(t[n].scroll){var my=(Math.min(y,y1)+Math.max(y+el.height(),y2)>>1)-($(window).height()>>1),mx=(Math.min(x,x1)+Math.max(x+el.width(),x2)>>1)-($(window).width()>>1);$("html, body").animate({scrollTop:Math.max(0,Math.min(y,y1,my)),scrollLeft:Math.max(0,Math.min(x,x1,mx))})}n||$(".tourPrev").remove(),n>t.length-2&&$(".tourNext").text(_t("Finish")),$(".tourStep").on("click",".tourNext:not([disabled])",Tour.next).on("click",".tourPrev:not([disabled])",Tour.prev).on("click",".tourClose:not([disabled])",Tour.close),(t[n].onstep||Tour.onstep||function(){})(t[n])}}var o,cur,t=[];return T={step:{pl:"krok",en:"step",be:"крок",ca:"pas",cs:"krok",da:"trin",de:"Schritt",el:"βήμα",es:"paso",et:"samm",fi:"vaihe",fr:"étape",hu:"lépés",it:"passo",lt:"žingsnis",lv:"solis",mk:"чекор",nl:"stap",no:"trinn",pt:"passo",ru:"шаг",sk:"krok",sl:"korak",sq:"hapi",sv:"steg",tr:"adım",uk:"крок"},Next:{pl:"Następny",en:"Next",be:"Далей",ca:"Següent",cs:"Další",da:"Næste",de:"Weiter",el:"Την επόμενη",es:"Siguiente",et:"Järgmine",fi:"Seuraava",fr:"Prochaine",hu:"Következő",it:"Accanto",lt:"Kitas",lv:"Nākamā",mk:"Следна",nl:"Volgende",no:"Neste",pt:"Próximo",ru:"Далее",sk:"Ďalej",sl:"Naprej",sq:"Tjetër",sv:"Nästa",tr:"Gelecek",uk:"Далі"},Previous:{pl:"Poprzedni",en:"Previous",be:"Папярэдні",ca:"Anteriors",cs:"Předchozí",da:"Tidligere",de:"Vorherige",el:"Προηγούμενο",es:"Anterior",et:"Eelmine",fi:"Edellinen",fr:"Précédente",hu:"Előző",it:"Precedente",lt:"Ankstesnis",lv:"Iepriekšējā",mk:"Претходна",nl:"Vorige",no:"Tidligere",pt:"Anterior",ru:"Предыдущий",sk:"Predchádzajúce",sl:"Prejšnji",sq:"E mëparshme",sv:"Föregående",tr:"Önceki",uk:"Попередній"},Finish:{pl:"Zakończ",en:"Finish",be:"Аздабленне",ca:"Acabat",cs:"Dokončit",da:"Finish",de:"Finish",el:"Τελειώνει",es:"Acabado",et:"Lõpeta",fi:"Loppuun",fr:"Finition",hu:"Befejezés",it:"Finitura",lt:"Apdaila",lv:"Apdare",mk:"Заврши",nl:"Afwerking",no:"Ferdig",pt:"Acabamento",ru:"Отделка",sk:"Povrch",sl:"Zaključek",sq:"Finish",sv:"Avsluta",tr:"Bitir",uk:"Оздоблення"}},$(window).on("resize",function(){Tour.onresize&&Tour.onresize()}),{run:function(tour,options){try{t=[],cur=0,o={close:!0,content:"",language:"en",padding:5,position:"right",scroll:!0,spotlight:!0,forceCorrectionLeft:0,forceCorrectionTop:0,forceCorrectionWidth:0,forceCorrectionHeight:0,onstep:null};for(var k in options)o[k]=options[k];$(tour).each(function(k,v){for(var kk in o)v[kk]=v[kk]||o[kk];v.element&&v.element.length&&t.push(v)}),step(cur),Tour.onstart&&Tour.onstart()}catch(e){}},next:function(){step(cur+1),cur==t.length&&Tour.onfinish&&Tour.onfinish()},prev:function(){step(cur-1)},current:function(){return cur},close:function(){step(-1),Tour.onclose&&Tour.onclose()},onstart:null,onfinish:null,onclose:null,onstep:null,onresize:function(){var n=cur-1;step(-1),cur=n,setTimeout(function(){Tour.next()},20)}}}(); \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/DKNotus-Tour-master/examples.html b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/examples.html new file mode 100755 index 00000000..52867654 --- /dev/null +++ b/ComSemApp/static/ComSemApp/DKNotus-Tour-master/examples.html @@ -0,0 +1,768 @@ + + + + + + DK Notus Tour - Examples + + + + + + +
    + + + + +
    +
    +

    + This compact solution for guided tours has + 27 languages support. + It requires only two very common dependencies: + jQuery and Bootstrap. + Also has useful features like auto scroll + and "spotlight". + We hope you enjoy it. +

    + +
    + DK Notus Tour +
    + +

    + We tried to keep all data regarding usage as short as possible. +

    + +

    1. Features

    + +

    + Features that we considerble important: +

    + +
    +
    small requirements
    +
    only jQuery and Bootstrap;
    + +
    simple usage
    +
    one function for common usage - yes, it's that simple;
    + +
    events
    +
    for advanced programmers usage;
    + +
    scroll
    +
    and some more useful features;
    + +
    multi elem. selection
    +
    you can point more then one element for one tour step;
    + +
    translations
    +
    languages support.
    +
    + +

    2. Simple use case

    + +

    Lets start with two step tour for elements below:

    + + + + + +

    + First of all we need to include two common libraries + jQuery and Bootstrap. + You ca use some CDN for that. +

    + +
    +
      <link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
    +  <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
    +
    + +

    + Then it's time tour library dknotus-tour.js + or dknotus-tour.min.js. +

    + +
    +
      <script src="dknotus-tour.js"></script>
    +
    + +

    + Finally we can define our own tour and run it with + Tour.run(). Yes, it's that simple. +

    + + + +
    +
    +  $(function(){
    +    $('#simpleBtn').click(function(){
    +      Tour.run([
    +        {
    +          element: $('#btn1'),
    +          content: 'first btn'
    +        },
    +        {
    +          element: $('#btn2'),
    +          content: 'and the second one<br>description might be <strong>HTML</strong>'
    +        },
    +      ]);
    +    });
    +  });
    +            
    +
    + +

    3. Different tour positions

    + + + + + + + +
    +
    +  $(function(){
    +    $('#positionsBtn').click(function(){
    +      Tour.run([
    +        {
    +          element: $('#posBtn'),
    +          content: 'by default tour is on the right'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'but it can be on top',
    +          position: 'top'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'bottom',
    +          position: 'bottom'
    +        },
    +        {
    +          element: $('#posBtn'),
    +          content: 'and finally on the left',
    +          position: 'left'
    +        }
    +      ]);
    +    });
    +  });
    +
    + +

    4. Global and local parameters

    + +

    + Tour may be run with two parameters: tour description (mandatory) + and global options (optional) Tour.run(tourDescription, + options). If for some tour hint some parameter is not set, + then if it's possible it's taken from options. +

    + +

    + Possible parameters for hints descriptions and for global options +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ParameterDefault valueDescription
    elementnone + jQuery element (might be more then one), + if it's not set then hint is skipped. +
    contentempty stringIt's for contents of particular hints.
    closetrueDefines if close button should be shown.
    languageen + Defines interface language. Available languages: +
    +
    en
    +
    English (default)
    + +
    pl
    +
    Polish
    + +
    be
    +
    Belarusian
    + +
    ca
    +
    Catalan
    + +
    cs
    +
    Czech
    + +
    da
    +
    Danish
    + +
    de
    +
    German
    + +
    el
    +
    Greek
    + +
    es
    +
    Spanish
    + +
    et
    +
    Estonian
    + +
    fi
    +
    Finnish
    + +
    fr
    +
    French
    + +
    hu
    +
    Hungarian
    + +
    it
    +
    Italian
    + +
    lt
    +
    Lithuanian
    + +
    lv
    +
    Latvian
    + +
    mk
    +
    Macedonian
    + +
    nl
    +
    Dutch
    + +
    no
    +
    Norwegian
    + +
    pt
    +
    Portuguese
    + +
    ru
    +
    Russian
    + +
    sk
    +
    Slovak
    + +
    sl
    +
    Slovenian
    + +
    sq
    +
    Albanian
    + +
    sv
    +
    Swedish
    + +
    tr
    +
    Turkish
    + +
    uk
    +
    Ukrainian
    +
    +
    padding5 + Extra space around tour exposed elements. + (Has only sense when spotlight option is true). +
    positionright + Determines where hint should be shown relativly to element + it describes.
    + Possible values: right, left, top and bottom. +
    scrolltrue + If true then scrolls window so selected element + and hint would be as close as possible to the view center. +
    spotlighttrue + If true then covers everything except selected element + and hint with shadow. +
    forceCorrectionLeft0 + Useful if for some reason left offset needs to be modified. +
    forceCorrectionTop0 + Useful if for some reason top offset needs to be modified. +
    forceCorrectionWidth0 + Useful if for some reason width needs to be modified. +
    forceCorrectionHeight0 + Useful if for some reason height needs to be modified. +
    + +

    + All above options can be used for both: single hint description + and for global options. With global options previous example + can be writen like: +

    + +
    +
    +  $(function(){
    +    $('#positionsShorterBtn').click(function(){
    +      var globalOptions = {
    +        element: $('#posBtn')
    +      };
    +
    +      var tourDescription = [
    +        {
    +          content: 'by default tour is on the right'
    +        },
    +        {
    +          content: 'but it can be on top',
    +          position: 'top'
    +        },
    +        {
    +          content: 'bottom',
    +          position: 'bottom'
    +        },
    +        {
    +          content: 'and finally on the left',
    +          position: 'left'
    +        }
    +      ];
    +
    +      Tour.run(tourDescription, globalOptions);
    +    });
    +  });
    +
    + + + + + +

    5. Events example

    + +

    + There are four events that can be used by developers: +

    + +
    +
    onstart()
    +
    Triggered when new tour starts ( Tour.run() ).
    + +
    onfinish()
    +
    Triggered when Finish button is clicked.
    + +
    onclose()
    +
    + Triggered when Close button is pressed + ( Tour.close() ). +
    + +
    onstep( currentStep )
    +
    + Triggered on every step shown + ( Tour.next() or Tour.prev() ). +
    + +
    onresize
    +
    By default this one is set.
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    +
    + + + + + +
    +
    +  $(function(){
    +    $('#eventsBtn').click(function(){
    +      Tour.onstart = function(){
    +        console.log('We started!');
    +      };
    +
    +      Tour.onfinish = function(){
    +        console.log('The End');
    +      };
    +
    +      Tour.onclose = function(){
    +        console.log('Tour interupted');
    +      };
    +
    +      Tour.onstep = function(currentStep){
    +        console.log('"That\'s one small step for a man ..."');
    +        console.log(currentStep);
    +      };
    +
    +      Tour.run([
    +        {
    +          element: $('#eventBtn1').add('#eventBtn3'),
    +          content: 'You prefer photos?',
    +          position: 'top'
    +        },
    +        {
    +          element: $('#eventBtn3').add('#eventBtn4'),
    +          content: 'or videos?',
    +          onstep: function(currentStep) {
    +            console.log('Events defined in step, overwrites global definition');
    +          }
    +        }
    +      ]);
    +    });
    +  });
    +
    + +

    6. Tour interface

    + +

    Methods

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MethodDescription
    Tour.run( tourDescription, globlOptions )Function for running Tour;
    Tour.next()Goes to next tour step;
    Tour.prev()Goes to previous tour step;
    Tour.close()Interrupts tour and closes it;
    Tour.current()Returns current step description.
    + +

    Events

    + +

    + By default all except onresize are set to null. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EventDescription
    Tour.onstart() + Triggered when new tour starts ( Tour.run() ); +
    Tour.onfinish()Triggered when Finish button is clicked;
    Tour.onclose() + Triggered when Close button is pressed + ( Tour.close() ); +
    Tour.onstep( currentStep ) + Triggered on every step shown + ( Tour.next() or Tour.prev() ); +
    Tour.onresize()By default this one is set.
    + +

    7. Contact

    + + Jan Doleczek + +
    + + No animals were harmed during development. + + + + DK Notus 2016 + + +
    + + +
    +
    + + diff --git a/ComSemApp/templates/ComSemApp/base.html b/ComSemApp/templates/ComSemApp/base.html index 01d06a97..e0969d7c 100644 --- a/ComSemApp/templates/ComSemApp/base.html +++ b/ComSemApp/templates/ComSemApp/base.html @@ -33,6 +33,7 @@ + diff --git a/ComSemApp/templates/registration/login.html b/ComSemApp/templates/registration/login.html index d7c17bd3..37863dbf 100644 --- a/ComSemApp/templates/registration/login.html +++ b/ComSemApp/templates/registration/login.html @@ -60,12 +60,22 @@ Forgot your password?
    -
    -
    + +
    @@ -115,6 +116,7 @@ } catch(e) { console.error(e); + $("#SpeechTranscription").hide(); alert("No browser support for audio transcription."); } @@ -126,9 +128,9 @@ if(!mobileRepeatBug) { noteContent += transcript; alert(noteContent); - $('#transcribeTestResult').val(noteContent); + $('#transcribeTestResult').html("

    " + noteContent + "

    "); + noteContent = ''; } - alert("Done with onresult function"); } var recording = false; @@ -136,26 +138,14 @@ $("#transcribeTest").click(function(e) { if (speechSupport === true) { if (recording === false) { - alert("Recording"); + $(this).css('color', 'red'); recording = true; recognition.start(); } else { recording = false; - alert("Done recording"); recognition.stop(); - if(!noteContent.length) { - alert('Could not save empty note. Please add a message to your note.'); - } - else { - // Save note to localStorage. - // The key is the dateTime with seconds, the value is the content of the note. - saveNote(new Date().toLocaleString(), noteContent); - - // Reset variables and update UI. - noteContent = ''; - instructions.text('Note saved successfully.'); - } + $(this).css('color', 'black'); } } }); From e1e5abc054c4495a518b7e8ebf50ff1971b24199 Mon Sep 17 00:00:00 2001 From: tmgreenside Date: Wed, 10 Apr 2019 22:20:57 -0700 Subject: [PATCH 472/540] Holdover approved by Dr Hunter --- .../templates/ComSemApp/student/attempt_form.html | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index 32918d1b..9a1a3543 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -71,7 +71,7 @@
    -

    Transcription will appear here.

    +


    @@ -117,7 +117,7 @@ catch(e) { console.error(e); $("#SpeechTranscription").hide(); - alert("No browser support for audio transcription."); + alert("No browser support for audio transcription. Please sign in with Google Chrome to use this feature."); } recognition.continuous = true; @@ -127,9 +127,14 @@ var mobileRepeatBug = (current == 1 && transcript == event.results[0][0].transcript); if(!mobileRepeatBug) { noteContent += transcript; - alert(noteContent); - $('#transcribeTestResult').html("

    " + noteContent + "

    "); - noteContent = ''; + if (noteContent === '') { + $('#transcribeTestResult').html("

    Please try again.

    "); + } + else { + $('#CorrectedExpr').val(noteContent); + $('#transcribeTestResult').html(""); + noteContent = ''; + } } } From 65274480cc1b7b8ce4fe954e8f9932ec10d56de4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 11:56:34 -0700 Subject: [PATCH 473/540] update --- ComSemApp/teacher/views.py | 53 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 569b3857..68110695 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -23,6 +23,7 @@ import json, math, datetime, os from ComSemApp.models import * +from django.template.defaulttags import register class TeacherViewMixin(RoleViewMixin): @@ -70,7 +71,59 @@ def get_context_data(self, **kwargs): class CourseDetailView(TeacherCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/teacher/course.html" + + @register.filter('get_item') + def get_item(dictionary, key): + return dictionary.get(key) + def get_context_data(self, **kwargs): + data = super().get_context_data(**kwargs) + + worksheets = Worksheet.objects.filter(course=self.course) + worksheetsdict = {} + ungradedcountdict = {} + attemptsdict = {} + for student in self.course.students.all(): + worksheetcount = 0 + ungradedcount = 0 + attemptcount = 0 + submissions = StudentSubmission.objects.filter(student=student) + for submission in submissions : + if submission.worksheet.course == self.course: + if submission.status == 'ungraded': + ungradedcount = ungradedcount + 1 + for worksheet in self.course.worksheets.all(): + if worksheet.last_submission(student): + attemptcount = attemptcount + worksheet.last_submission(student).get_number() + worksheetcount = worksheetcount + 1 + + worksheetsdict[student.user.username] = worksheetcount + ungradedcountdict[student.user.username] = ungradedcount + attemptsdict[student.user.username] = attemptcount + + ungraded = 0 + complete = 0 + incomplete = 0 + submissions = StudentSubmission.objects.all() + for submission in submissions : + if submission.worksheet.course == self.course: + if submission.status == "ungraded": + ungraded = ungraded + 1 + if submission.status == "complete": + complete = complete + 1 + if submission.status == "incomplete": + incomplete = incomplete + 1 + + + data['classungraded'] = ungraded + data['classincomplete'] = incomplete + data['classcomplete'] = complete + data['ungradedSubmissions'] = len(self.course.worksheets.all()) + data['worksheets'] = worksheetsdict + data['ungraded'] = ungradedcountdict + data['attempts'] = attemptsdict + + return data def get_object(self): return self.course From 9eb9319a326ba6ac2b75e45c0b90df9c9531d113 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:03:33 -0700 Subject: [PATCH 474/540] update --- .../templates/ComSemApp/teacher/course.html | 70 ++++++++++++++++++- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index e2544458..024335aa 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -16,7 +16,23 @@

    Course Information

    - {% include 'ComSemApp/course_details.html' %} +
    + {% include 'ComSemApp/course_details.html' %} +
    + +
    +
    + +

    Submission Status

    + +
    + + +
    +
    +
    +
    +
    @@ -38,13 +54,63 @@

    Students

    - {% include 'ComSemApp/teacher/course_students.html' %} + {% include 'ComSemApp/teacher/course_students_detail.html' %}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    From 68ac6e37b2af339f7bc29577dfb1b599658011bb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:04:49 -0700 Subject: [PATCH 475/540] update --- CommunicationSeminar/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..184b87cf 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -33,6 +33,7 @@ 'comsempython.us-east-2.elasticbeanstalk.com', 'localhost', '.comsem.net', + 'comsem.localhost.run' ] # Application definition From 9e6e2ca98635b0a3a8fb86159402f51b3954adc1 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:06:39 -0700 Subject: [PATCH 476/540] updagte --- .../teacher/course_students_detail.html | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 ComSemApp/templates/ComSemApp/teacher/course_students_detail.html diff --git a/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html new file mode 100644 index 00000000..12d1fb8f --- /dev/null +++ b/ComSemApp/templates/ComSemApp/teacher/course_students_detail.html @@ -0,0 +1,32 @@ +{% load static %} +{% if course.students.all %} + + + Name + Worksheets Assigned + Ungraded Submissions + Number of Attempts + + + + + + {% for student in course.students.all %} + + {{student}} + + {{ worksheets|get_item:student.user.username }} + + + {{ ungraded|get_item:student.user.username }} + + + {{ attempts|get_item:student.user.username }} + + Email + + {% endfor %} + +{% else %} +

    No Enrolled Students

    +{% endif %} \ No newline at end of file From eecd45224e21be0177caf9a42cf98df695bed898 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:47:35 -0700 Subject: [PATCH 477/540] udpate --- .../templates/ComSemApp/student/course.html | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/student/course.html b/ComSemApp/templates/ComSemApp/student/course.html index 7a0b8849..0c31464a 100644 --- a/ComSemApp/templates/ComSemApp/student/course.html +++ b/ComSemApp/templates/ComSemApp/student/course.html @@ -3,6 +3,94 @@ {% block content %}
    +
    +
    + +
    +
    + +

    Stats

    +
    +
    +
    +
    +
    +

    {{ expressionCount }}

    +
    +
    +

    Expressions Completed

    +
    +
    +
    +
    +
    +
    +

    {{ complete }}

    +
    +
    +

    Worksheets Completed

    +
    +
    +
    +
    +
    +
    +
    +
    +

    {{ incomplete }}

    +
    +
    +

    Worksheets Incomplete

    +
    +
    +
    +
    +
    +
    +

    {{ ungraded }}

    +
    +
    +

    Worksheets to Grade

    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +

    Worksheet Status

    + +
    +
    +
    + +
    +
    +
    +

    Assigned Expressions

    + +
    + + + + + + {% for expression in expressions %} + + + + {% endfor %} + +
    {{ expression }}
    +
    +
    +
    +
    +
    +
    {% include 'ComSemApp/course_details.html' %} @@ -50,4 +138,44 @@

    Worksheets

    + +
    + + +
    + {% endblock %} From 5107140d9ee392c3597d0a04c9783d53e8050278 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:48:41 -0700 Subject: [PATCH 478/540] udpate --- ComSemApp/student/views.py | 40 +++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 58085058..10314af4 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -71,11 +71,47 @@ def get_object(self): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) + submissions = StudentSubmission.objects.filter(student=self.student) + expressionList = [] - # TODO should this logic be in the worksheet model ? + + + + context['complete'] = 0 + context['incomplete'] = 0 + context['ungraded']= 0 + context['expressionCount']= 0 + + # TODO should this logic be in the worksheet model ? -Zeke for worksheet in worksheets: + expression_filters = Q(worksheet=worksheet) + if not worksheet.display_all_expressions: + expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True | worksheet=worksheet)) + expressions = Expression.objects.filter(expression_filters) + last_submission = worksheet.last_submission(self.student) last_submission_status = last_submission.status if last_submission else "none" + if last_submission_status == "incomplete" or last_submission_status == "none": + context['incomplete'] += 1 + for expression in expressions: + if expression.worksheet == worksheet: + expressionList.append(expression.expression) + if last_submission_status == "complete": + context['complete'] += 1 + for expression in expressions: + print('COMPLETE') + print(expression.expression) + if expression.worksheet == worksheet: + context['expressionCount'] += 1 + if last_submission_status == "ungraded": + context['ungraded'] += 1 + for expression in expressions: + if expression.worksheet == worksheet: + expressionList.append(expression.expression) + + + + last_submission_id = last_submission.id if last_submission else 0 status_colors = { "complete": "success", @@ -109,7 +145,9 @@ def get_context_data(self, **kwargs): worksheet.button_text = button_texts[last_submission_status] worksheet.link_url = link_urls[last_submission_status] + context['expressions'] = expressionList context['worksheets'] = worksheets + return context From 55ecb22d811a5bea6dca8e168d6a52034f23e8f3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:49:06 -0700 Subject: [PATCH 479/540] udpate --- CommunicationSeminar/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..184b87cf 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -33,6 +33,7 @@ 'comsempython.us-east-2.elasticbeanstalk.com', 'localhost', '.comsem.net', + 'comsem.localhost.run' ] # Application definition From eb1f50be00cfddc50a6a3b7d3cdc1f4d821c2dae Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:51:54 -0700 Subject: [PATCH 480/540] udpate --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 10314af4..20aed291 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -86,7 +86,7 @@ def get_context_data(self, **kwargs): for worksheet in worksheets: expression_filters = Q(worksheet=worksheet) if not worksheet.display_all_expressions: - expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True | worksheet=worksheet)) + expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True | Q(worksheet=worksheet)) expressions = Expression.objects.filter(expression_filters) last_submission = worksheet.last_submission(self.student) From 19fa9a7a771753bf22c997a16531acb0f69b05d0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:52:37 -0700 Subject: [PATCH 481/540] udpate --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 20aed291..a3b84713 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -86,7 +86,7 @@ def get_context_data(self, **kwargs): for worksheet in worksheets: expression_filters = Q(worksheet=worksheet) if not worksheet.display_all_expressions: - expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True | Q(worksheet=worksheet)) + expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True) | Q(worksheet=worksheet)) expressions = Expression.objects.filter(expression_filters) last_submission = worksheet.last_submission(self.student) From 7852da9e4494d1029b7564156d2702a96c911413 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 12:54:44 -0700 Subject: [PATCH 482/540] udpate --- ComSemApp/student/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index a3b84713..82166a64 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -91,6 +91,8 @@ def get_context_data(self, **kwargs): last_submission = worksheet.last_submission(self.student) last_submission_status = last_submission.status if last_submission else "none" + + # Loop through and count status of worksheets/expressions if last_submission_status == "incomplete" or last_submission_status == "none": context['incomplete'] += 1 for expression in expressions: @@ -145,7 +147,7 @@ def get_context_data(self, **kwargs): worksheet.button_text = button_texts[last_submission_status] worksheet.link_url = link_urls[last_submission_status] - context['expressions'] = expressionList + context['expressions'] = expressionList #list of expressions context['worksheets'] = worksheets return context From e73c6289b6dae19bb362c748d4eff00620105bf4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 13:07:23 -0700 Subject: [PATCH 483/540] update --- ComSemApp/administrator/views.py | 129 ++++++++++++++++++++++++++++++- 1 file changed, 128 insertions(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 57de0666..06c52be1 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -13,13 +13,20 @@ from django.views import View from django.core.mail import send_mail +from django.core.validators import validate_email from django.contrib import messages +import csv +import io +import re + from ComSemApp.models import * from django.contrib.auth.models import User from ComSemApp.administrator.forms import CourseForm, CourseTypeForm, SessionForm, SessionTypeForm, TeacherForm, StudentForm, UserForm from ComSemApp.libs.mixins import RoleViewMixin +from django.core.exceptions import ValidationError + class AdminViewMixin(RoleViewMixin): @@ -53,10 +60,130 @@ def get_queryset(self): class StudentListView(AdminViewMixin, ListView): model = Student template_name = 'ComSemApp/admin/student_list.html' + success_url = reverse_lazy("administrator:students") + + def _send_email(self, user, password): + link = "https://www.comsem.net" + message = ("You have been invited to join Communication Seminar by an administrator for " + self.institution.name + ".\n" + "In order to log in, go to " + link + " and use \n" + "\tusername: " + user.username + "\n\tpassword: " + password + "\n" + "from there you can change your password.") + + send_mail( + 'Invitation to Communication Seminar', + message, + 'signup@comsem.net', + [user.email], + fail_silently=False, + ) + + + def db_create_user(self, **kwargs): + user = User.objects.create(**kwargs) + password = User.objects.make_random_password() + user.set_password(password) + user.save() + self._send_email(user, password) + return user + + def db_create_student(self, **kwargs): + institution = self.insititution + user = self.db_create_user(**kwargs) + return Student.objects.create(user=user, institution=institution) + + #handle CSV upload + def post(self, request, *args, **kwargs): + if (len(request.FILES) > 0): #check to make sure file was uploaded + csv_file = request.FILES['file'] + file_data = csv_file.read().decode("utf-8") + lines = file_data.split("\n") + rejectedLines = [] + message_content = [""] + linecount = 0 + rejectcount = 0 + for line in lines: + if len(line): #make sure line isnt empty + fields = line.split(",") + okToCreate = True + rejected = False + linecount += 1 + if (fields[0] == "" or fields[0] == ""): + #end of file + break + if (len(fields) < 4): + message = "!!! Missing columns, please make sure you have columns as follows: firstname,lastname,email,username" + message_content.append(message) + rejected = True + rejectcount += 1 + break + if (fields[0].isalpha() == False or fields[1].isalpha() == False): + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") + message_content.append(message) + rejectcount += 1 + rejected = True + okToCreate = False + for user in Student.objects.filter(institution=self.institution): + if(user.user.email== fields[2]): + okToCreate = False + if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error + rejectcount += 1 + rejected = True + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Email Address \n") + message_content.append(message) + + if(user.user.username== fields[3]): + okToCreate = False + if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error + rejectcount += 1 + rejected = True + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Username \n") + message_content.append(message) + if(okToCreate == False): + break + + # Check if a valid email address + match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2].lower()) + + if (match == None): + if(rejected == False): + rejectcount += 1 + rejected = True + okToCreate = False + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Email Address \n") + message_content.append(message) + + # Check for valid username + usernameCheck = re.match('^[\w.@+-]+$', fields[3]) + if (usernameCheck == None): + if(rejected == False): + rejectcount += 1 + rejected = True + okToCreate = False + message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Username \n") + message_content.append(message) + + if (okToCreate == True): + user = { + "first_name": fields[0], + "last_name": fields[1], + "email": fields[2], + "username": fields[3] + } + self.db_create_student(**user) + print("student made") + message_content.insert(0, ("" + str((linecount - rejectcount)) + "/" + str(linecount)+ " Accounts created sucessfully\n" + "The below users were not added, Their line numbers are listed to the left,\nLines with multiple errors will be listed multiple times \n \n")) + message_disp = "".join(message_content) + messages.add_message(request, messages.ERROR, message_disp) + request.FILES.pop('file', None) #delete the csv file from memory + return HttpResponseRedirect(self.success_url) + def get_queryset(self): + return Student.objects.filter(institution=self.institution) + + class CourseListView(AdminViewMixin, ListView): model = Course @@ -106,6 +233,7 @@ def form_invalid(self, user_form, obj_form, **kwargs): return self.render_to_response(self.get_context_data(form=user_form, obj_form=obj_form)) def _send_email(self, user, password): + print("EMAIL SENT") link = "https://www.comsem.net" message = ("You have been invited to join Communication Seminar by an administrator for " + self.institution.name + ".\n" "In order to log in, go to " + link + " and use \n" @@ -133,7 +261,6 @@ def get(self, request, *args, **kwargs): def post(self, request, *args, **kwargs): user_form = UserForm(self.request.POST, prefix='user_form') obj_form = self.get_obj_form() - if user_form.is_valid() and obj_form.is_valid(): # create the user object with random password user = user_form.save() From 6f47374e123f37708ccc49aafacf9db78b74f184 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 13:08:09 -0700 Subject: [PATCH 484/540] update --- .../ComSemApp/admin/student_list.html | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/admin/student_list.html b/ComSemApp/templates/ComSemApp/admin/student_list.html index 17506d0e..17eb610e 100644 --- a/ComSemApp/templates/ComSemApp/admin/student_list.html +++ b/ComSemApp/templates/ComSemApp/admin/student_list.html @@ -8,12 +8,41 @@

    All Students

    - + + + {% csrf_token %} + +
    + + +
    +
    +
    +

    Uploader only allows CSV Files. +

    +

    + Please order students in the following way: firstname, lastname, email, username. + Below is an example of how the first line would look, a comma indicates a new column. Names must contain letters only. +

    +

    + John,Doe,johndoe@gmail.com,johnsusername +

    +
    + +
    + {% if messages %} + {% for message in messages %} +
    {{ message }}
    + {% endfor %} + {% endif %}
    {% if student_list %} From 982d4133062865cccc0f3a156dfedd5e3e1ead59 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 14 Apr 2019 13:08:33 -0700 Subject: [PATCH 485/540] update --- CommunicationSeminar/settings.py | 1 + 1 file changed, 1 insertion(+) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..184b87cf 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -33,6 +33,7 @@ 'comsempython.us-east-2.elasticbeanstalk.com', 'localhost', '.comsem.net', + 'comsem.localhost.run' ] # Application definition From 8c17c01ba156072c9850b1392000e60feb98c42b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 15 Apr 2019 10:04:49 -0700 Subject: [PATCH 486/540] update --- ComSemApp/teacher/views.py | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 68110695..18c7d2bd 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -80,6 +80,7 @@ def get_context_data(self, **kwargs): data = super().get_context_data(**kwargs) worksheets = Worksheet.objects.filter(course=self.course) + worksheetsdict = {} ungradedcountdict = {} attemptsdict = {} @@ -92,27 +93,28 @@ def get_context_data(self, **kwargs): if submission.worksheet.course == self.course: if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for worksheet in self.course.worksheets.all(): + for worksheet in worksheets: if worksheet.last_submission(student): attemptcount = attemptcount + worksheet.last_submission(student).get_number() worksheetcount = worksheetcount + 1 + print('NEW UNGRADED COunt') + print(submissions.objects.filter(status='ungraded').count()) + print('OLD ungraded count') + print(ungradedcount) + print('OLD attemptcount') + print(attemptcount) + + worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount attemptsdict[student.user.username] = attemptcount - ungraded = 0 - complete = 0 - incomplete = 0 + submissions = StudentSubmission.objects.filter(worksheet__course=self.course) + ungraded = submissions.filter(status="ungraded").count() + complete = submissions.filter(status="complete").count() + incomplete = submissions.filter(status="incomplete").count() submissions = StudentSubmission.objects.all() - for submission in submissions : - if submission.worksheet.course == self.course: - if submission.status == "ungraded": - ungraded = ungraded + 1 - if submission.status == "complete": - complete = complete + 1 - if submission.status == "incomplete": - incomplete = incomplete + 1 data['classungraded'] = ungraded From 5ad05e0c23140d18521ce7aca97b9ed3ffa23563 Mon Sep 17 00:00:00 2001 From: tmgreenside Date: Tue, 16 Apr 2019 23:20:23 -0700 Subject: [PATCH 487/540] Web speech works for teacher creating worksheet as well as student --- .../ComSemApp/student/attempt_form.html | 98 ++++++----- .../ComSemApp/teacher/expression_form.html | 153 ++++++++++++------ 2 files changed, 155 insertions(+), 96 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index 9a1a3543..cc3ad759 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -101,61 +101,59 @@ - + +
    +
    + +

    +
    +
    +
    {% include 'ComSemApp/audio_recording.html' %}
    @@ -107,54 +113,109 @@

    From e0f0b15f9be4f5bdec4de8ebb3702f0c75a1a162 Mon Sep 17 00:00:00 2001 From: tmgreenside Date: Tue, 16 Apr 2019 23:43:32 -0700 Subject: [PATCH 488/540] Fixed a jQuery typo in expression_form.html --- ComSemApp/templates/ComSemApp/teacher/expression_form.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/expression_form.html b/ComSemApp/templates/ComSemApp/teacher/expression_form.html index 82159b3d..36972439 100644 --- a/ComSemApp/templates/ComSemApp/teacher/expression_form.html +++ b/ComSemApp/templates/ComSemApp/teacher/expression_form.html @@ -114,8 +114,6 @@

    diff --git a/ComSemApp/templates/ComSemApp/student/course.html b/ComSemApp/templates/ComSemApp/student/course.html index 7a0b8849..61ea8b5d 100644 --- a/ComSemApp/templates/ComSemApp/student/course.html +++ b/ComSemApp/templates/ComSemApp/student/course.html @@ -36,13 +36,14 @@

    Worksheets

    {{ worksheet.last_submission_status }} - {{ worksheet.button_text }} + {{ worksheet.button_text }} {% endfor %} {% include 'ComSemApp/tablesorter_footer.html'%} + {% else %}

    No worksheets available

    {% endif %} @@ -50,4 +51,14 @@

    Worksheets

    + + {% endblock %} + diff --git a/ComSemApp/templates/ComSemApp/student/create_submission.html b/ComSemApp/templates/ComSemApp/student/create_submission.html index 2c9412ac..25ef9077 100644 --- a/ComSemApp/templates/ComSemApp/student/create_submission.html +++ b/ComSemApp/templates/ComSemApp/student/create_submission.html @@ -16,7 +16,7 @@

    {% csrf_token %} - +

    @@ -94,7 +94,6 @@

    - + {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/student/expression_list.html b/ComSemApp/templates/ComSemApp/student/expression_list.html index ada528b9..0922cbdd 100644 --- a/ComSemApp/templates/ComSemApp/student/expression_list.html +++ b/ComSemApp/templates/ComSemApp/student/expression_list.html @@ -33,7 +33,7 @@ {% if expression.attempt %} - + {% else %} {% endif %} @@ -58,11 +58,15 @@

    This worksheet has no expressions.
    {% endif %} - \ No newline at end of file + \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 358be581..878bf3de 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -145,4 +145,13 @@

    Worksheets

    + + {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html index eae95713..4c9c79ae 100644 --- a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html +++ b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html @@ -44,7 +44,7 @@

    Worksheet Info

    -
    +
    @@ -83,12 +83,6 @@

    Worksheet Info

    -Tour.run([ - { - element: $('#test'), - content: 'last tour step' - }, - ]);
    + {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/teacher/expression_form.html b/ComSemApp/templates/ComSemApp/teacher/expression_form.html index d8e268a6..fdb50680 100644 --- a/ComSemApp/templates/ComSemApp/teacher/expression_form.html +++ b/ComSemApp/templates/ComSemApp/teacher/expression_form.html @@ -99,9 +99,9 @@

    - +
    -
    +
    expression

    @@ -158,3 +158,20 @@

    $("#ExpressionEditor").slideUp(); }); + + \ No newline at end of file diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 3154163e..bb6bc8c8 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -33,6 +33,9 @@ 'comsempython.us-east-2.elasticbeanstalk.com', 'localhost', '.comsem.net', + 'comsem.localhost.run', + 'group08.localhost.run', + 'group081.localhost.run', ] # Application definition From 281d453bd7254c8f9701b7176e4d163ec4bfe74b Mon Sep 17 00:00:00 2001 From: = Date: Wed, 24 Apr 2019 11:19:46 -0700 Subject: [PATCH 490/540] finished all help walkthrough, only a couple bugs issues --- .../ComSemApp/teacher/edit_worksheet.html | 5 ++++ .../ComSemApp/teacher/expression_form.html | 24 ++++++++++++------- .../ComSemApp/teacher/expressions.html | 17 +++++++++++-- 3 files changed, 36 insertions(+), 10 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html index 4c9c79ae..78ba39aa 100644 --- a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html +++ b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html @@ -170,6 +170,11 @@

    Expression Editor

    element: $('#newExpressionButton'), content: 'Click HERE to add an Expression (sentence) to the worksheet.' }, + { + + element: $('#SaveWorksheet'), + content: 'When you are finished entering Expressions, be sure to SAVE the worksheet.' + }, ]); diff --git a/ComSemApp/templates/ComSemApp/teacher/expression_form.html b/ComSemApp/templates/ComSemApp/teacher/expression_form.html index fdb50680..c20f5947 100644 --- a/ComSemApp/templates/ComSemApp/teacher/expression_form.html +++ b/ComSemApp/templates/ComSemApp/teacher/expression_form.html @@ -117,7 +117,7 @@

    return; } - // because of audio, we must send a formdata object + // because of audio, we must send a forexpressionmdata object var worksheetFormData = new FormData(); student_id = $("#studentID").val() if (student_id != "0"){ @@ -151,7 +151,7 @@

    }, error: function(jqXHR, textStatus, errorThrown){ cs_ajax_error(jqXHR, textStatus, errorThrown) - }, + },expression }); // clear editor @@ -161,17 +161,25 @@

    \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/teacher/expressions.html b/ComSemApp/templates/ComSemApp/teacher/expressions.html index 32e5d75f..4f03cd78 100644 --- a/ComSemApp/templates/ComSemApp/teacher/expressions.html +++ b/ComSemApp/templates/ComSemApp/teacher/expressions.html @@ -29,10 +29,10 @@ {{ expression.expression }} - - @@ -66,3 +66,16 @@ {% else %}

    No expressions have been created for this worksheet yet.

    {% endif %} + + \ No newline at end of file From 86b191f3e8b50738cefc446be0bfdf065374c772 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 14:06:27 -0700 Subject: [PATCH 491/540] update --- ComSemApp/templates/ComSemApp/course_table.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/course_table.html b/ComSemApp/templates/ComSemApp/course_table.html index 8e5716bc..75f45198 100644 --- a/ComSemApp/templates/ComSemApp/course_table.html +++ b/ComSemApp/templates/ComSemApp/course_table.html @@ -6,6 +6,9 @@

    My Courses

    +
    + +
    @@ -61,6 +64,7 @@

    No available courses.

    {% endif %} + +

    From 237d9ac5f89fc09c84c6e2daf1519f1c5f325cd5 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 14:57:36 -0700 Subject: [PATCH 492/540] update --- ComSemApp/templates/ComSemApp/course_table.html | 8 ++++++-- ComSemApp/templates/ComSemApp/student/course.html | 4 ++-- .../templates/ComSemApp/teacher/expression_form.html | 8 ++++++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/course_table.html b/ComSemApp/templates/ComSemApp/course_table.html index 75f45198..55ab1ac8 100644 --- a/ComSemApp/templates/ComSemApp/course_table.html +++ b/ComSemApp/templates/ComSemApp/course_table.html @@ -7,7 +7,7 @@

    - +
    @@ -43,7 +43,9 @@

    Course Page - +
    + +
    {% else %} {{ course.teachers.all|join:", " }} @@ -66,6 +68,7 @@

    diff --git a/ComSemApp/templates/ComSemApp/student/course.html b/ComSemApp/templates/ComSemApp/student/course.html index 61ea8b5d..ed84997f 100644 --- a/ComSemApp/templates/ComSemApp/student/course.html +++ b/ComSemApp/templates/ComSemApp/student/course.html @@ -36,7 +36,7 @@

    Worksheets

    {{ worksheet.last_submission_status }} - {{ worksheet.button_text }} + {{ worksheet.button_text }} {% endfor %} @@ -54,7 +54,7 @@

    Worksheets

    @@ -160,6 +162,7 @@

    \ No newline at end of file From b81de6685bb1bc1599a7c89af85b8ae78fa249b4 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 16:59:48 -0700 Subject: [PATCH 493/540] update --- ComSemApp/student/views.py | 131 +++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 58085058..cae8e3ba 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -65,9 +65,140 @@ class CourseDetailView(StudentCourseViewMixin, DetailView): context_object_name = 'course' template_name = "ComSemApp/student/course.html" + def post(self, request, *args, **kwargs): #create Worksheets + self.generate_worksheet() + + + return HttpResponseRedirect(reverse("student:course", kwargs={"course_id": self.course.id})) + + + def db_create_expression(self, worksheet, student, expression): + + defaults = { + "worksheet": worksheet, + "expression": expression.expression, + "student": student, + "all_do": False, + "pronunciation": expression.pronunciation, + "context_vocabulary": expression.context_vocabulary, + "reformulation_text": expression.reformulation_text, + "audio": expression.audio, + } + return Expression.objects.create(**defaults) + + def create_worksheet(self, **kwargs): + course = kwargs.get("course") + if not course: + course = self.db_create_course() + + defaults = { + "course": course, + "topic": kwargs.get("topic", "TOPIC"), + "status": kwargs.get("status", WORKSHEET_STATUS_UNRELEASED), + "display_original": kwargs.get("display_original", True), + "display_reformulation_text": kwargs.get("display_reformulation_text", True), + "display_reformulation_audio": kwargs.get("display_reformulation_audio", True), + "display_all_expressions": kwargs.get("display_all_expressions", True), + "autogen": True, + "auto_student": self.student + } + + return Worksheet.objects.create(**defaults) + def get_object(self): return self.course + # Generates a practice worksheet for a student + def generate_worksheet(self, **kwargs): + + worksheets = self.course.worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) + + expressions = "" + expressionList = [] + get_top = [] # Most attempted worksheets and attempts tuple + top_worksheets = [] # Most attempted worksheets + top_expressions = [] # Expressions from most attempted worksheets + + + + # make a list of worksheets with most attempts + for worksheet in worksheets: + # get the last submission on the worksheet + # assign that submission to a variable, then run .get_number() on that + # keep track of the highest 3 worksheets + last_sub = worksheet.last_submission(self.student) + attempts = 0 + if last_sub: + attempts = last_sub.get_number() + + get_top.append((str(worksheet), attempts)) #str worksheet is the ID + + + + + + + # # Sort and keep top 3 most attempted worksheets + top_worksheets = sorted(get_top, key=lambda tup: tup[1], reverse=True)[:3] + top_worksheets = [i[0] for i in top_worksheets] + + + # Get expressions from top worksheets + for worksheet in top_worksheets: + print("HERHHERHEHEHR") + print(worksheet) + + # change current worksheet to a string to compare to the list + expression_filters = Q(Q(student=self.student) | Q(student=None) | Q(all_do=True) | Q(worksheet=worksheet)) + expressions = Expression.objects.filter(expression_filters) + + + + + # If current worksheet is in top list add it's expressions to top_expressions + for expression in expressions: + if expression.worksheet in top_worksheets: + top_expressions.append(expression) + + # create worksheet with unique name based on current time + + print("TOP EXPRESSIONS") + print(top_expressions) + + + + + current_time = datetime.datetime.now() + new_topic = str("Practice Worksheet " + current_time.strftime("%Y-%m-%d %H:%M:%S") + " for " + self.student.user.first_name + " " + self.student.user.last_name) + defaults = { + "course": self.course, + "topic": new_topic, + "status": kwargs.get("status", WORKSHEET_STATUS_UNRELEASED), + "display_original": kwargs.get("display_original", True), + "display_reformulation_text": kwargs.get("display_reformulation_text", True), + "display_reformulation_audio": kwargs.get("display_reformulation_audio", True), + "display_all_expressions": kwargs.get("display_all_expressions", True), + "auto_student": self.student, + "autogen": True + } + + #self.create_worksheet(**defaults) + + # assign newly created worksheet to autogen_worksheet variable + for worksheet in self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_UNRELEASED).all(): + topic_check = str(worksheet.topic) + if topic_check == new_topic: + autogen_worksheet = worksheet # New worksheet assigned to this variable + + for expression in top_expressions: + self.db_create_expression(autogen_worksheet, self.student, expression) + + # release the worksheet after giving it the new expressions + #autogen_worksheet.release() + + return + + def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) From d0e68812230c4d305a06d1f99eafd5a03575a6bc Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:01:21 -0700 Subject: [PATCH 494/540] update --- ComSemApp/templates/ComSemApp/student/course.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/student/course.html b/ComSemApp/templates/ComSemApp/student/course.html index 7a0b8849..616f8018 100644 --- a/ComSemApp/templates/ComSemApp/student/course.html +++ b/ComSemApp/templates/ComSemApp/student/course.html @@ -13,6 +13,11 @@

    Worksheets

    +
    +
    {% csrf_token %} + +
    +
    {% if worksheets %} From 8760b761507e7bc49c2755e75b13dbf6ef332e57 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:02:54 -0700 Subject: [PATCH 495/540] update --- ComSemApp/models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/models.py b/ComSemApp/models.py index 0fe7674a..c2d5aa0c 100644 --- a/ComSemApp/models.py +++ b/ComSemApp/models.py @@ -163,13 +163,13 @@ class Worksheet(models.Model): course = models.ForeignKey('Course', on_delete=models.CASCADE, related_name='worksheets') created_by = models.ForeignKey('Teacher', null=True, on_delete=models.SET_NULL) topic = models.CharField(max_length=255, blank=True, null=True) - status = models.CharField(max_length=10, - choices=teacher_constants.WORKSHEET_STATUS_CHOICES, default=teacher_constants.WORKSHEET_STATUS_PENDING) + status = models.CharField(max_length=10, choices=teacher_constants.WORKSHEET_STATUS_CHOICES, default=teacher_constants.WORKSHEET_STATUS_PENDING) display_original = models.BooleanField(default=True) display_reformulation_text = models.BooleanField(default=True) display_reformulation_audio = models.BooleanField(default=True) display_all_expressions = models.BooleanField(default=False) - + autogen = models.NullBooleanField(default=False, null=True) + auto_student = models.ForeignKey('Student', null=True, on_delete=models.SET_NULL) objects = WorksheetManager() def __str__(self): From b319099db07dececebc3573bc56311fa231cdefd Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:04:32 -0700 Subject: [PATCH 496/540] update --- ComSemApp/student/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index cae8e3ba..fb0efd3e 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -12,12 +12,13 @@ from django.urls import reverse from django.contrib import messages -from ComSemApp.teacher import constants as teacher_constants + +from ComSemApp.teacher.constants import WORKSHEET_STATUS_PENDING, WORKSHEET_STATUS_UNRELEASED, WORKSHEET_STATUS_RELEASED + from ComSemApp.models import * from ComSemApp.libs.mixins import RoleViewMixin, CourseViewMixin, WorksheetViewMixin, SubmissionViewMixin - class StudentViewMixin(RoleViewMixin): role_class = Student From 343459d9501a1b7dca6de9156d468507307c6036 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:06:00 -0700 Subject: [PATCH 497/540] update --- ComSemApp/student/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index fb0efd3e..3b3dea33 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -11,10 +11,11 @@ from django.http import JsonResponse, HttpResponseRedirect from django.urls import reverse from django.contrib import messages - - +from django.test import Client from ComSemApp.teacher.constants import WORKSHEET_STATUS_PENDING, WORKSHEET_STATUS_UNRELEASED, WORKSHEET_STATUS_RELEASED +import datetime +from ComSemApp.teacher import constants as teacher_constants from ComSemApp.models import * from ComSemApp.libs.mixins import RoleViewMixin, CourseViewMixin, WorksheetViewMixin, SubmissionViewMixin From b24bfa6e168b6cfef57e93b92742bdc8c35e7dcb Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:07:42 -0700 Subject: [PATCH 498/540] update --- ComSemApp/student/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 3b3dea33..ce22e91f 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -205,6 +205,7 @@ def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) + # TODO should this logic be in the worksheet model ? for worksheet in worksheets: last_submission = worksheet.last_submission(self.student) From 77f879c0d5a7c75524f956a9ac2b8926209a2d67 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:08:26 -0700 Subject: [PATCH 499/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index ce22e91f..2848f3c1 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -204,7 +204,7 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - + expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True)) # TODO should this logic be in the worksheet model ? for worksheet in worksheets: From 594cc0d9cef723500b14a6a36140cf0ebc954586 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 17:26:53 -0700 Subject: [PATCH 500/540] update --- ComSemApp/student/views.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 2848f3c1..3ce51127 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -113,7 +113,8 @@ def get_object(self): # Generates a practice worksheet for a student def generate_worksheet(self, **kwargs): - worksheets = self.course.worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) + worksheets = self.course.worksheets + worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) expressions = "" expressionList = [] @@ -124,7 +125,7 @@ def generate_worksheet(self, **kwargs): # make a list of worksheets with most attempts - for worksheet in worksheets: + for worksheet in worksheets.all(): # get the last submission on the worksheet # assign that submission to a variable, then run .get_number() on that # keep track of the highest 3 worksheets @@ -133,7 +134,7 @@ def generate_worksheet(self, **kwargs): if last_sub: attempts = last_sub.get_number() - get_top.append((str(worksheet), attempts)) #str worksheet is the ID + get_top.append((worksheet, attempts)) #str worksheet is the ID @@ -184,10 +185,11 @@ def generate_worksheet(self, **kwargs): "autogen": True } - #self.create_worksheet(**defaults) + self.create_worksheet(**defaults) # assign newly created worksheet to autogen_worksheet variable for worksheet in self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_UNRELEASED).all(): + print(worksheets) topic_check = str(worksheet.topic) if topic_check == new_topic: autogen_worksheet = worksheet # New worksheet assigned to this variable @@ -196,15 +198,15 @@ def generate_worksheet(self, **kwargs): self.db_create_expression(autogen_worksheet, self.student, expression) # release the worksheet after giving it the new expressions - #autogen_worksheet.release() + autogen_worksheet.release() return def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) - worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True)) + worksheets = self.course.worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) + # TODO should this logic be in the worksheet model ? for worksheet in worksheets: From 96207637f50b9aa00634d48d9cb3a1077d92f896 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 20:30:23 -0700 Subject: [PATCH 501/540] finished all student guides --- .../templates/ComSemApp/course_table.html | 5 +--- .../ComSemApp/student/attempt_form.html | 25 ++++++++++++++++++- .../templates/ComSemApp/student/course.html | 12 +-------- .../ComSemApp/student/create_submission.html | 4 ++- .../ComSemApp/student/expression_list.html | 19 +++----------- 5 files changed, 32 insertions(+), 33 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/course_table.html b/ComSemApp/templates/ComSemApp/course_table.html index 55ab1ac8..9fb87900 100644 --- a/ComSemApp/templates/ComSemApp/course_table.html +++ b/ComSemApp/templates/ComSemApp/course_table.html @@ -38,14 +38,11 @@

    - {% if teacher_view %}
    - -
    + {% else %} @@ -56,17 +56,4 @@ {% else %}
    This worksheet has no expressions.
    -{% endif %} - - \ No newline at end of file +{% endif %} \ No newline at end of file From 4656607a8a6615bb55fbcdf5428f0848d3dbab88 Mon Sep 17 00:00:00 2001 From: = Date: Thu, 25 Apr 2019 22:24:53 -0700 Subject: [PATCH 502/540] completed all teacher guides --- .../templates/ComSemApp/teacher/course.html | 3 +++ .../ComSemApp/teacher/edit_worksheet.html | 8 ++++++-- .../ComSemApp/teacher/expression_form.html | 16 ++++++++++++---- .../templates/ComSemApp/teacher/expressions.html | 4 ++++ .../ComSemApp/teacher/worksheet_list.html | 2 +- 5 files changed, 26 insertions(+), 7 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/teacher/course.html b/ComSemApp/templates/ComSemApp/teacher/course.html index 878bf3de..b994b115 100644 --- a/ComSemApp/templates/ComSemApp/teacher/course.html +++ b/ComSemApp/templates/ComSemApp/teacher/course.html @@ -5,6 +5,7 @@
    +

    Course Information

    @@ -146,12 +147,14 @@

    Worksheets

    {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html index 78ba39aa..5158346f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html +++ b/ComSemApp/templates/ComSemApp/teacher/edit_worksheet.html @@ -4,8 +4,11 @@ {% block content %} + + + {% csrf_token %} @@ -32,8 +35,8 @@

    -

    Worksheet Info

    +

    Worksheet Info

    @@ -73,7 +76,6 @@

    Worksheet Info

    -
    @@ -157,6 +159,7 @@

    Expression Editor

    {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/teacher/expression_form.html b/ComSemApp/templates/ComSemApp/teacher/expression_form.html index 9b6ed104..7576e060 100644 --- a/ComSemApp/templates/ComSemApp/teacher/expression_form.html +++ b/ComSemApp/templates/ComSemApp/teacher/expression_form.html @@ -4,10 +4,9 @@ + +
    @@ -162,7 +162,7 @@

    \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/teacher/worksheet_list.html b/ComSemApp/templates/ComSemApp/teacher/worksheet_list.html index 90f40a2e..2caba98f 100644 --- a/ComSemApp/templates/ComSemApp/teacher/worksheet_list.html +++ b/ComSemApp/templates/ComSemApp/teacher/worksheet_list.html @@ -42,4 +42,4 @@

    {{ course.session.start_date.year }} {{ course.course_type.name }} {{ course.section }} Course Page - {{ course.teachers.all|join:", " }} diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index a4134b19..e156fa0c 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -11,6 +11,7 @@
    +

    {{ expression.expression }}

    @@ -69,7 +70,6 @@ -
    {% include 'ComSemApp/audio_recording.html' %} @@ -134,3 +134,26 @@ clearEditor() }); + + \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/student/course.html b/ComSemApp/templates/ComSemApp/student/course.html index ed84997f..add266da 100644 --- a/ComSemApp/templates/ComSemApp/student/course.html +++ b/ComSemApp/templates/ComSemApp/student/course.html @@ -51,14 +51,4 @@

    Worksheets

    - - -{% endblock %} - +{% endblock %} \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/student/create_submission.html b/ComSemApp/templates/ComSemApp/student/create_submission.html index 25ef9077..8b874abe 100644 --- a/ComSemApp/templates/ComSemApp/student/create_submission.html +++ b/ComSemApp/templates/ComSemApp/student/create_submission.html @@ -13,7 +13,7 @@

    Create Submission

    - +
    {% csrf_token %} @@ -120,12 +120,14 @@

    {% endblock %} diff --git a/ComSemApp/templates/ComSemApp/student/expression_list.html b/ComSemApp/templates/ComSemApp/student/expression_list.html index 0922cbdd..766ff784 100644 --- a/ComSemApp/templates/ComSemApp/student/expression_list.html +++ b/ComSemApp/templates/ComSemApp/student/expression_list.html @@ -33,9 +33,9 @@

    {% if expression.attempt %} - + {% else %} - + {% endif %}
    {% else %}

    No worksheets have been created yet. Click here to create one.

    -{% endif %} +{% endif %} \ No newline at end of file From 244941578d99d697afe8373125a57201e053e0bd Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 11:58:05 -0700 Subject: [PATCH 503/540] update --- CommunicationSeminar/settings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings.py index 2d794468..73a0a1f6 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings.py @@ -106,7 +106,7 @@ 'PORT': '3306', 'NAME': 'CommunicationSeminarDjango', 'USER': 'root', - 'PASSWORD': 'tempcbsql', + 'PASSWORD': '2017%ComSem', } } From 6bf44f8b9b6b6b1eed469372bb7f6043ae2187b4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:45:24 -0700 Subject: [PATCH 504/540] update --- ComSemApp/teacher/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 87d5562a..e75b0ecf 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -116,6 +116,8 @@ def get_context_data(self, **kwargs): data['worksheets'] = worksheetsdict data['ungraded'] = ungradedcountdict data['attempts'] = attemptsdict + print("data worksheets") + print(data['worksheets']) return data def get_object(self): From d64d09185a83f9b65c8a8108702a05ba3e7a3974 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:48:51 -0700 Subject: [PATCH 505/540] update --- ComSemApp/teacher/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index e75b0ecf..c1e19ee8 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -96,7 +96,8 @@ def get_context_data(self, **kwargs): for worksheet in worksheets: if worksheet.last_submission(student): attemptcount = attemptcount + worksheet.last_submission(student).get_number() - worksheetcount = worksheetcount + 1 + if worksheet.auto_student == self.student or worksheet.auto_student == None: + worksheetcount = worksheetcount + 1 worksheetsdict[student.user.username] = worksheetcount ungradedcountdict[student.user.username] = ungradedcount From 64837250134c791d284af351afaef1df60880c70 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:55:29 -0700 Subject: [PATCH 506/540] update --- ComSemApp/student/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index a103e518..d3128542 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -206,6 +206,7 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) + worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) submissions = StudentSubmission.objects.filter(student=self.student) expressionList = [] From 929321daa7f89e849263ba4e84033a670b537cb0 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:57:11 -0700 Subject: [PATCH 507/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index d3128542..54bf544b 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -206,7 +206,7 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) + worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None)) submissions = StudentSubmission.objects.filter(student=self.student) expressionList = [] From c1758e002c4aea72158b80ecdf1102f29be794bb Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:58:00 -0700 Subject: [PATCH 508/540] update --- ComSemApp/student/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 54bf544b..65c75c3d 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -206,8 +206,7 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None)) - submissions = StudentSubmission.objects.filter(student=self.student) + worksheets.filter(auto_student=self.student) expressionList = [] From d52294d44b34a573f8ccbe33472488741c4dc786 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 12:59:12 -0700 Subject: [PATCH 509/540] update --- ComSemApp/student/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 65c75c3d..2ae9e849 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -219,6 +219,7 @@ def get_context_data(self, **kwargs): # TODO should this logic be in the worksheet model ? -Zeke for worksheet in worksheets: + print(worksheet.auto_student) expression_filters = Q(worksheet=worksheet) if not worksheet.display_all_expressions: expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True) | Q(worksheet=worksheet)) From c6753def611d017d7ff88130f85f3e6ac32309b4 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:03:23 -0700 Subject: [PATCH 510/540] update --- ComSemApp/student/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 2ae9e849..96e131af 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -115,7 +115,8 @@ def generate_worksheet(self, **kwargs): worksheets = self.course.worksheets worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) - + for worksheet in worksheets: + print(worksheet.auto_student) expressions = "" expressionList = [] get_top = [] # Most attempted worksheets and attempts tuple @@ -219,7 +220,7 @@ def get_context_data(self, **kwargs): # TODO should this logic be in the worksheet model ? -Zeke for worksheet in worksheets: - print(worksheet.auto_student) + if expression_filters = Q(worksheet=worksheet) if not worksheet.display_all_expressions: expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True) | Q(worksheet=worksheet)) From 41d3d1439ea4cb68d63f3474a530d2f9fc6a02d8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:04:01 -0700 Subject: [PATCH 511/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 96e131af..771db457 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -220,7 +220,7 @@ def get_context_data(self, **kwargs): # TODO should this logic be in the worksheet model ? -Zeke for worksheet in worksheets: - if + expression_filters = Q(worksheet=worksheet) if not worksheet.display_all_expressions: expression_filters &= (Q(student=self.student) | Q(student=None) | Q(all_do=True) | Q(worksheet=worksheet)) From 2da1adb3da7b047bdab6aa09ed15ff5cde739fb8 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:04:34 -0700 Subject: [PATCH 512/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 771db457..770ef017 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -115,7 +115,7 @@ def generate_worksheet(self, **kwargs): worksheets = self.course.worksheets worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) - for worksheet in worksheets: + for worksheet in worksheets.all(): print(worksheet.auto_student) expressions = "" expressionList = [] From 9e2db701445b58684a2014e223612bcb0405b505 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:06:51 -0700 Subject: [PATCH 513/540] update --- ComSemApp/student/views.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 770ef017..2446e6f9 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -115,8 +115,6 @@ def generate_worksheet(self, **kwargs): worksheets = self.course.worksheets worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) - for worksheet in worksheets.all(): - print(worksheet.auto_student) expressions = "" expressionList = [] get_top = [] # Most attempted worksheets and attempts tuple @@ -127,15 +125,16 @@ def generate_worksheet(self, **kwargs): # make a list of worksheets with most attempts for worksheet in worksheets.all(): - # get the last submission on the worksheet - # assign that submission to a variable, then run .get_number() on that - # keep track of the highest 3 worksheets - last_sub = worksheet.last_submission(self.student) - attempts = 0 - if last_sub: - attempts = last_sub.get_number() - - get_top.append((worksheet, attempts)) #str worksheet is the ID + if worksheet.auto_student == self.student or worksheet.auto_student == None: + # get the last submission on the worksheet + # assign that submission to a variable, then run .get_number() on that + # keep track of the highest 3 worksheets + last_sub = worksheet.last_submission(self.student) + attempts = 0 + if last_sub: + attempts = last_sub.get_number() + + get_top.append((worksheet, attempts)) #str worksheet is the ID From 80c3e102b1069b2318ab9bc626fd8f8e54c58d79 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:09:56 -0700 Subject: [PATCH 514/540] update --- ComSemApp/student/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 2446e6f9..b6e0b0fb 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -126,6 +126,8 @@ def generate_worksheet(self, **kwargs): # make a list of worksheets with most attempts for worksheet in worksheets.all(): if worksheet.auto_student == self.student or worksheet.auto_student == None: + print('fklnjsdfsdklj') + print(worksheet) # get the last submission on the worksheet # assign that submission to a variable, then run .get_number() on that # keep track of the highest 3 worksheets From 78f4d50874f90d5add234fc334ded6cb8c79b820 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:11:11 -0700 Subject: [PATCH 515/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index b6e0b0fb..79220b8f 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -127,7 +127,7 @@ def generate_worksheet(self, **kwargs): for worksheet in worksheets.all(): if worksheet.auto_student == self.student or worksheet.auto_student == None: print('fklnjsdfsdklj') - print(worksheet) + print(worksheet.auto_student) # get the last submission on the worksheet # assign that submission to a variable, then run .get_number() on that # keep track of the highest 3 worksheets From d1ab284e716d0836a344cbe9883196004ddbd76f Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:12:46 -0700 Subject: [PATCH 516/540] update --- ComSemApp/student/views.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 79220b8f..5bd5ebe3 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -126,8 +126,6 @@ def generate_worksheet(self, **kwargs): # make a list of worksheets with most attempts for worksheet in worksheets.all(): if worksheet.auto_student == self.student or worksheet.auto_student == None: - print('fklnjsdfsdklj') - print(worksheet.auto_student) # get the last submission on the worksheet # assign that submission to a variable, then run .get_number() on that # keep track of the highest 3 worksheets @@ -209,6 +207,9 @@ def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) worksheets.filter(auto_student=self.student) + for worksheet in worksheets: + print("auto student") + print(worksheet.auto_student) expressionList = [] From dad2b99f040615efad08f075ce72918c232346e6 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:16:00 -0700 Subject: [PATCH 517/540] update --- ComSemApp/student/views.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 5bd5ebe3..cf3dd20d 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -206,10 +206,13 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - worksheets.filter(auto_student=self.student) - for worksheet in worksheets: - print("auto student") - print(worksheet.auto_student) + worksheet_filters = (Q(auto_student=self.student) | Q(auto_student=None)) + worksheets.objects.filter(worksheet_filters) + + + + + expressionList = [] From c1496966358970d1d2659defb7abfa5c32eb2234 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:16:26 -0700 Subject: [PATCH 518/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index cf3dd20d..0f43dea1 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -207,7 +207,7 @@ def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) worksheet_filters = (Q(auto_student=self.student) | Q(auto_student=None)) - worksheets.objects.filter(worksheet_filters) + worksheets.filter(worksheet_filters) From 7bb7bb9671e83156aa1ccf7ed6fcc9c3de7e04fe Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:17:59 -0700 Subject: [PATCH 519/540] update --- ComSemApp/student/views.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 0f43dea1..47141485 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -205,8 +205,7 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) - worksheets = self.course.worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) - worksheet_filters = (Q(auto_student=self.student) | Q(auto_student=None)) + worksheets = self.course.worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED ) worksheets.filter(worksheet_filters) From f0edd5cbff11ed395c0017a691aeae7be3cf5dda Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:18:31 -0700 Subject: [PATCH 520/540] update --- ComSemApp/student/views.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 47141485..32c9ac10 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -206,7 +206,6 @@ def generate_worksheet(self, **kwargs): def get_context_data(self, **kwargs): context = super(CourseDetailView, self).get_context_data(**kwargs) worksheets = self.course.worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED ) - worksheets.filter(worksheet_filters) From a277c1d98d114368f3adda9ae225bd53a08649d9 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:22:17 -0700 Subject: [PATCH 521/540] update --- ComSemApp/student/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/student/views.py b/ComSemApp/student/views.py index 32c9ac10..18e1192a 100644 --- a/ComSemApp/student/views.py +++ b/ComSemApp/student/views.py @@ -114,7 +114,7 @@ def get_object(self): def generate_worksheet(self, **kwargs): worksheets = self.course.worksheets - worksheets.filter(Q(auto_student=self.student) | Q(auto_student=None), status=teacher_constants.WORKSHEET_STATUS_RELEASED) + worksheets.filter(status=teacher_constants.WORKSHEET_STATUS_RELEASED) expressions = "" expressionList = [] get_top = [] # Most attempted worksheets and attempts tuple From 87e86143c2862e6d09181a0068ab33ec4d94bf7a Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:31:41 -0700 Subject: [PATCH 522/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index c1e19ee8..5473054b 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -93,7 +93,7 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for worksheet in worksheets: + for worksheet in worksheets.all(): if worksheet.last_submission(student): attemptcount = attemptcount + worksheet.last_submission(student).get_number() if worksheet.auto_student == self.student or worksheet.auto_student == None: From b537f2beecfc85c0d1decba0d41500500c4dc638 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:32:15 -0700 Subject: [PATCH 523/540] update --- ComSemApp/teacher/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 5473054b..803e167c 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -93,8 +93,8 @@ def get_context_data(self, **kwargs): if submission.status == 'ungraded': ungradedcount = ungradedcount + 1 - for worksheet in worksheets.all(): - if worksheet.last_submission(student): + for worksheet in worksheets: + if worksheet.last_submission(self.student): attemptcount = attemptcount + worksheet.last_submission(student).get_number() if worksheet.auto_student == self.student or worksheet.auto_student == None: worksheetcount = worksheetcount + 1 From 3b36608691fb458a26db81d74a0728d46eba7952 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:33:04 -0700 Subject: [PATCH 524/540] update --- ComSemApp/teacher/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index 803e167c..b446f188 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -95,7 +95,7 @@ def get_context_data(self, **kwargs): for worksheet in worksheets: if worksheet.last_submission(self.student): - attemptcount = attemptcount + worksheet.last_submission(student).get_number() + attemptcount = attemptcount + worksheet.last_submission(self.student).get_number() if worksheet.auto_student == self.student or worksheet.auto_student == None: worksheetcount = worksheetcount + 1 From c64271fb89e83a5b9a9172cfce26a9b31b1fa317 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Sun, 28 Apr 2019 13:34:57 -0700 Subject: [PATCH 525/540] update --- ComSemApp/teacher/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ComSemApp/teacher/views.py b/ComSemApp/teacher/views.py index b446f188..6e9ccd90 100644 --- a/ComSemApp/teacher/views.py +++ b/ComSemApp/teacher/views.py @@ -94,9 +94,9 @@ def get_context_data(self, **kwargs): ungradedcount = ungradedcount + 1 for worksheet in worksheets: - if worksheet.last_submission(self.student): - attemptcount = attemptcount + worksheet.last_submission(self.student).get_number() - if worksheet.auto_student == self.student or worksheet.auto_student == None: + if worksheet.last_submission(student): + attemptcount = attemptcount + worksheet.last_submission(student).get_number() + if worksheet.auto_student == student or worksheet.auto_student == None: worksheetcount = worksheetcount + 1 worksheetsdict[student.user.username] = worksheetcount From b943cd6664e702d1fa6d86423722387f00b18e0b Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 29 Apr 2019 12:42:43 -0700 Subject: [PATCH 526/540] fixed urls --- ComSemApp/administrator/urls.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ComSemApp/administrator/urls.py b/ComSemApp/administrator/urls.py index 7e1730d4..38b357cd 100644 --- a/ComSemApp/administrator/urls.py +++ b/ComSemApp/administrator/urls.py @@ -2,6 +2,8 @@ from ComSemApp.administrator import views from ComSemApp.corpus import views as corpus_views +from ComSemApp.discussionBoard import view as discussion_views + app_name = 'admin' urlpatterns = [ url(r'^$', views.TeacherListView.as_view(), name='home'), @@ -37,5 +39,8 @@ url(r'^session_type/(?P[0-9]+)/delete/$', views.SessionTypeDeleteView.as_view(), name='delete_session_type'), url(r'^corpus/search$', corpus_views.corpus_search, name='corpus_search'), + url(r'^discussion_board$', discussion_views.TopicListView.as_view(), name='admin_discussion_board'), + url(r'^topic/(?P[0-9]+)/$', discussion_views.ReplyView.as_view(), name='admin_topic'), + url(r'^newtopic/$', discussion_views.CreateThreadView.as_view(),name='admin_create_topic') ] From c7889e19572a861e93dca75647578e05141fa698 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 29 Apr 2019 12:49:22 -0700 Subject: [PATCH 527/540] f f --- .gitignore | 2 + ComSemApp/administrator/forms.py | 15 +- ComSemApp/administrator/urls.py | 5 + ComSemApp/administrator/views.py | 2 +- ComSemApp/discussionBoard/test/__init__.py | 1 + ComSemApp/discussionBoard/test/test_views.py | 32 ++++ ComSemApp/discussionBoard/urls.py | 9 + ComSemApp/discussionBoard/view.py | 171 ++++++++++++++++++ ComSemApp/models.py | 19 ++ ComSemApp/student/urls.py | 4 + ComSemApp/teacher/urls.py | 4 + .../ComSemApp/discussionBoard/add_reply.html | 32 ++++ .../discussionBoard/create_reply.html | 44 +++++ .../discussionBoard/create_topic.html | 44 +++++ .../ComSemApp/discussionBoard/reply_page.html | 61 +++++++ .../ComSemApp/discussionBoard/topic_list.html | 65 +++++++ ComSemApp/templates/ComSemApp/sidebar.html | 32 +++- .../{settings.py => settings/production.py} | 10 +- manage.py | 5 +- 19 files changed, 544 insertions(+), 13 deletions(-) create mode 100644 ComSemApp/discussionBoard/test/__init__.py create mode 100644 ComSemApp/discussionBoard/test/test_views.py create mode 100644 ComSemApp/discussionBoard/urls.py create mode 100644 ComSemApp/discussionBoard/view.py create mode 100644 ComSemApp/templates/ComSemApp/discussionBoard/add_reply.html create mode 100644 ComSemApp/templates/ComSemApp/discussionBoard/create_reply.html create mode 100644 ComSemApp/templates/ComSemApp/discussionBoard/create_topic.html create mode 100644 ComSemApp/templates/ComSemApp/discussionBoard/reply_page.html create mode 100644 ComSemApp/templates/ComSemApp/discussionBoard/topic_list.html rename CommunicationSeminar/{settings.py => settings/production.py} (98%) diff --git a/.gitignore b/.gitignore index 2fe7a41e..db1a933b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ efs/* app-messages/* CommunicationSeminar-7d* +# local dev settings module +local_dev.py diff --git a/ComSemApp/administrator/forms.py b/ComSemApp/administrator/forms.py index 720ce6c2..2212d0be 100644 --- a/ComSemApp/administrator/forms.py +++ b/ComSemApp/administrator/forms.py @@ -6,7 +6,7 @@ from django_select2.forms import Select2MultipleWidget from django.contrib.auth.models import User -from ComSemApp.models import Course, CourseType, Session, SessionType, Teacher, Student, Institution +from ComSemApp.models import * @@ -86,3 +86,16 @@ class StudentForm(ModelForm): class Meta: model = Student fields = ['country', 'language'] + +class ReplyForm(ModelForm): + message = forms.CharField( widget=forms.Textarea(attrs={'style': "width:100%", 'placeholder': 'Enter reply here.'})) + class Meta: + model = Reply + fields = ["message"] + +class TopicForm(ModelForm): + message = forms.CharField( widget=forms.Textarea(attrs={'style': "width:100%"})) + title = forms.CharField(widget=forms.TextInput(attrs={'style': "width:100%"})) + class Meta: + model = Reply + fields = ["title", "message"] \ No newline at end of file diff --git a/ComSemApp/administrator/urls.py b/ComSemApp/administrator/urls.py index 7e1730d4..38b357cd 100644 --- a/ComSemApp/administrator/urls.py +++ b/ComSemApp/administrator/urls.py @@ -2,6 +2,8 @@ from ComSemApp.administrator import views from ComSemApp.corpus import views as corpus_views +from ComSemApp.discussionBoard import view as discussion_views + app_name = 'admin' urlpatterns = [ url(r'^$', views.TeacherListView.as_view(), name='home'), @@ -37,5 +39,8 @@ url(r'^session_type/(?P[0-9]+)/delete/$', views.SessionTypeDeleteView.as_view(), name='delete_session_type'), url(r'^corpus/search$', corpus_views.corpus_search, name='corpus_search'), + url(r'^discussion_board$', discussion_views.TopicListView.as_view(), name='admin_discussion_board'), + url(r'^topic/(?P[0-9]+)/$', discussion_views.ReplyView.as_view(), name='admin_topic'), + url(r'^newtopic/$', discussion_views.CreateThreadView.as_view(),name='admin_create_topic') ] diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 06c52be1..4fd57e7b 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -95,7 +95,7 @@ def db_create_student(self, **kwargs): def post(self, request, *args, **kwargs): if (len(request.FILES) > 0): #check to make sure file was uploaded csv_file = request.FILES['file'] - file_data = csv_file.read().decode("utf-8") + file_data = csv_file.read().decode("utf-8") lines = file_data.split("\n") rejectedLines = [] message_content = [""] diff --git a/ComSemApp/discussionBoard/test/__init__.py b/ComSemApp/discussionBoard/test/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ComSemApp/discussionBoard/test/__init__.py @@ -0,0 +1 @@ + diff --git a/ComSemApp/discussionBoard/test/test_views.py b/ComSemApp/discussionBoard/test/test_views.py new file mode 100644 index 00000000..f458ea21 --- /dev/null +++ b/ComSemApp/discussionBoard/test/test_views.py @@ -0,0 +1,32 @@ +from django.urls import reverse +from django.core import mail + +from ComSemApp.libs.factories import BaseTestCase +from ComSemApp.models import * + +class TestCredentials(BaseTestCase): + + # only students and teachers should be able to access students views. + + discussion_board_url = reverse("discussion_board:topics") + loggin_url = reverse("login") + + def setUp(self): + super(TestCredentials, self).setUp() + self.password = "password123" + self.teacher = self.db_create_teacher(password=self.password) + self.student = self.db_create_student(password=self.password) + + def test_not_logged_in_fail(self): + response = self.client.get(self.discussion_board_url) + self.assertRedirects(response, '%s?next=%s' % (self.login_url, self.discussion_board_url)) + + def test_logged_in_teacher_success(self): + self.client.login(username=self.teacher.user.username, password=self.password) + response = self.client.get(self.discussion_board_url) + self.assertEqual(response.status_code, 200) + + def test_logged_in_student_success(self): + self.client.login(username=self.student.user.username, password=self.password) + response = self.client.get(self.discussion_board_url) + self.assertEqual(response.status_code, 200) diff --git a/ComSemApp/discussionBoard/urls.py b/ComSemApp/discussionBoard/urls.py new file mode 100644 index 00000000..0d267c8e --- /dev/null +++ b/ComSemApp/discussionBoard/urls.py @@ -0,0 +1,9 @@ +from django.conf.urls import url +from ComSemApp.discussionBoard import view + +app_name = 'discussion_board' +urlpatterns = [ + url(r'^$', view.TopicListView.as_view(), name='topics'), + url(r'^topic/(?P[0-9]+)/$', view.ReplyView.as_view(), name='topic'), + url(r'^newtopic/$', view.CreateThreadView.as_view(),name='create_topic') +] \ No newline at end of file diff --git a/ComSemApp/discussionBoard/view.py b/ComSemApp/discussionBoard/view.py new file mode 100644 index 00000000..3652101f --- /dev/null +++ b/ComSemApp/discussionBoard/view.py @@ -0,0 +1,171 @@ +import json + +from django.shortcuts import render +from django.http import HttpResponse +from django.template import loader +from django.shortcuts import get_object_or_404 +from django.contrib.auth.decorators import login_required +from django.contrib.auth.decorators import user_passes_test +from django.db.models import Q +from django.views.generic import ListView, DetailView, CreateView, UpdateView, FormView +from django.http import JsonResponse, HttpResponseRedirect +from django.urls import reverse +from django.contrib import messages +from django.urls import reverse_lazy +from django import forms +from django.urls import resolve +from django.contrib.auth.mixins import LoginRequiredMixin, UserPassesTestMixin + +from ComSemApp.teacher import constants as teacher_constants + +from ComSemApp.models import * +from ComSemApp.libs.mixins import RoleViewMixin, CourseViewMixin, WorksheetViewMixin, SubmissionViewMixin +from ComSemApp.administrator.forms import ReplyForm, TopicForm + + +#This class deals with listing out all the topics within database +#brings back the Topic model and displays it using Django Listview +#This page requires you to be logged in to use +class TopicListView(LoginRequiredMixin,ListView): + model = Topic + template_name = 'ComSemApp/discussionBoard/topic_list.html' + context_object_name = 'topics' + + def get_queryset(self): + return Topic.objects.filter().order_by("-id") + +class ReplyMixin(LoginRequiredMixin, ListView, object): + context_object_name = 'replies' + template_name = 'ComSemApp/discussionBoard/add_reply.html' + fields = ["message", "personPosted", "topic", "hasMark"] + success_url = reverse_lazy("discussionBoard:topic") + + def get_form_kwargs(self): + kwargs = super(ReplyMixin, self).get_form_kwargs() + return kwargs + + def dispatch(self, request, *args, **kwargs): + topic_id = kwargs.get('topic_id', None) + topics = Topic.objects.filter(id = topic_id) + if not topics.exists(): + return HttpResponseRedirect(reverse("discussion_board:topics")) + self.topic = topics.first() + return super(ReplyMixin, self).dispatch(request, *args, **kwargs) + + + +class ReplyView(ReplyMixin, FormView): + model = Reply + template_name = 'ComSemApp/discussionBoard/reply_page.html' + context_object_name = 'replies' + fields = ["message", "personPosted", "topic", "hasMark"] + + def get_queryset(self): + return Reply.objects.filter(topic = self.topic) + + def get_context_data(self ,**kwargs): + self.object_list = self.get_queryset() + context = super(ReplyView, self).get_context_data(**kwargs) + context['topic_description'] = self.topic.topic + context['discussion_board'] = True + return context + + def form_invalid(self, reply_form, **kwargs): + response = super().form_invalid(reply_form) + return JsonResponse(reply_form.errors, status=400) + + def get(self, request, *args, **kwargs): + allow_empty = True + reply_form = ReplyForm() + reply_form.prefix = 'reply_form' + return self.render_to_response(self.get_context_data(form=reply_form)) + + def post(self, request, *args, **kwargs): + current_url = resolve(request.path_info).url_name + reply_form = ReplyForm(self.request.POST, prefix = 'reply_form') + likeButton = request.POST.get("like") + dislikeButton = request.POST.get("dislike") + if likeButton: + print(likeButton) + reply = Reply.objects.get(id = int(likeButton)) + reply.hasMark = 1 + reply.save() + if current_url == "admin_topic": + return HttpResponseRedirect(reverse("administrator:admin_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "teacher_topic": + return HttpResponseRedirect(reverse("teacher:teacher_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "student_topic": + return HttpResponseRedirect(reverse("student:student_topic", kwargs={'topic_id': self.topic.id })) + else: + return HttpResponseRedirect(reverse("discussion_board:topic", kwargs={'topic_id': self.topic.id })) + elif dislikeButton: + print(dislikeButton) + reply = Reply.objects.get(id = int(dislikeButton)) + reply.hasMark = 0 + reply.save() + if current_url == "admin_topic": + return HttpResponseRedirect(reverse("administrator:admin_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "teacher_topic": + return HttpResponseRedirect(reverse("teacher:teacher_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "student_topic": + return HttpResponseRedirect(reverse("student:student_topic", kwargs={'topic_id': self.topic.id })) + else: + return HttpResponseRedirect(reverse("discussion_board:topic", kwargs={'topic_id': self.topic.id })) + elif reply_form.is_valid(): + print("it is giving this if statement a thing") + reply = reply_form.save(commit=False) + reply.personPosted = request.user + reply.topic = self.topic + reply.hasMark = 0 + reply.save() + + if current_url == "admin_topic": + return HttpResponseRedirect(reverse("administrator:admin_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "teacher_topic": + return HttpResponseRedirect(reverse("teacher:teacher_topic", kwargs={'topic_id': self.topic.id })) + elif current_url == "student_topic": + return HttpResponseRedirect(reverse("student:student_topic", kwargs={'topic_id': self.topic.id })) + else: + return HttpResponseRedirect(reverse("discussion_board:topic", kwargs={'topic_id': self.topic.id })) + else: + return self.form_invalid(reply_form, **kwargs) + + + +class CreateThreadView(LoginRequiredMixin,FormView): + model = Reply + template_name = 'ComSemApp/discussionBoard/create_topic.html' + context_object_name = 'replies' + fields = ["message", "personPosted", "topic", "hasMark"] + + def form_invalid(self, topic_form, **kwargs): + response = super().form_invalid(form) + return JsonResponse(form.errors, status=400) + + def get(self, request, *args, **kwargs): + allow_empty = True + topic_form = TopicForm() + topic_form.prefix = "topic_form" + return self.render_to_response(self.get_context_data(form=topic_form)) + + def post(self, request, *args, **kwargs): + topic_form = TopicForm(self.request.POST, prefix = 'topic_form') + current_url = resolve(request.path_info).url_name + if topic_form.is_valid(): + topic = Topic(personPosted = request.user, topic = topic_form.cleaned_data["title"]) + topic.save() + reply = topic_form.save(commit=False) + reply.personPosted = request.user + reply.topic = topic + reply.hasMark = 0 + reply.save() + if current_url == "admin_create_topic": + return HttpResponseRedirect(reverse("administrator:admin_topic", kwargs={'topic_id': topic.id })) + elif current_url == "teacher_create_topic": + return HttpResponseRedirect(reverse("teacher:teacher_topic", kwargs={'topic_id': topic.id })) + elif current_url == "student_create_topic": + return HttpResponseRedirect(reverse("student:student_topic", kwargs={'topic_id': topic.id })) + else: + return HttpResponseRedirect(reverse("discussion_board:topic", kwargs={'topic_id': topic.id })) + else: + return self.form_invalid(topic_form, **kwargs) \ No newline at end of file diff --git a/ComSemApp/models.py b/ComSemApp/models.py index c2d5aa0c..bd4fb206 100644 --- a/ComSemApp/models.py +++ b/ComSemApp/models.py @@ -309,3 +309,22 @@ def __str__(self): def frequency(self): words = Word.objects.filter(tag=self).all() return SequentialWords.objects.filter(word__in=words).count() + + +# Discussion Board + +#Topic model stores the person that posted it (which is a refrence to a user) +#and a string that is the topic title +class Topic(models.Model): + personPosted = models.ForeignKey(User, on_delete=models.CASCADE) + topic = models.CharField(max_length=255) + +#Each reply has a topic which is a reference to a topic object +#the personPosted which is a reference to a user +#the message is a string associated with a reply +#and hasMark is an integer associated with a mark (like a facebook like or dislike) +class Reply(models.Model): + topic = models.ForeignKey(Topic, on_delete=models.CASCADE) + personPosted = models.ForeignKey(User, on_delete=models.CASCADE) + message = models.CharField(max_length=1023) + hasMark = models.IntegerField() \ No newline at end of file diff --git a/ComSemApp/student/urls.py b/ComSemApp/student/urls.py index 564c77ce..9dc26cf6 100644 --- a/ComSemApp/student/urls.py +++ b/ComSemApp/student/urls.py @@ -1,5 +1,6 @@ from django.conf.urls import url from ComSemApp.student import views +from ComSemApp.discussionBoard import view as discussion_views app_name = 'student' urlpatterns = [ @@ -14,4 +15,7 @@ url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/expressions/$', views.ExpressionListView.as_view(), name='worksheet_expression_list'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/expression/(?P[0-9]+)/create/$', views.AttemptCreateView.as_view(), name='create_attempt'), url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/attempt/(?P[0-9]+)/update/$', views.AttemptUpdateView.as_view(), name='update_attempt'), + url(r'^discussion_board$', discussion_views.TopicListView.as_view(), name='student_discussion_board'), + url(r'^topic/(?P[0-9]+)/$', discussion_views.ReplyView.as_view(), name='student_topic'), + url(r'^newtopic/$', discussion_views.CreateThreadView.as_view(),name='student_create_topic') ] diff --git a/ComSemApp/teacher/urls.py b/ComSemApp/teacher/urls.py index 70cb2d59..bb448a29 100644 --- a/ComSemApp/teacher/urls.py +++ b/ComSemApp/teacher/urls.py @@ -1,6 +1,7 @@ from django.conf.urls import url from ComSemApp.teacher import views from ComSemApp.corpus import views as corpus_views +from ComSemApp.discussionBoard import view as discussion_views app_name = 'teacher' urlpatterns = [ @@ -19,4 +20,7 @@ url(r'^course/(?P[0-9]+)/worksheet/(?P[0-9]+)/submission/(?P[0-9]+)/$', views.SubmissionView.as_view(), name='submission'), url(r'^corpus/search$', corpus_views.corpus_search, name='corpus_search'), + url(r'^discussion_board$', discussion_views.TopicListView.as_view(), name='teacher_discussion_board'), + url(r'^topic/(?P[0-9]+)/$', discussion_views.ReplyView.as_view(), name='teacher_topic'), + url(r'^newtopic/$', discussion_views.CreateThreadView.as_view(),name='teacher_create_topic') ] \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/discussionBoard/add_reply.html b/ComSemApp/templates/ComSemApp/discussionBoard/add_reply.html new file mode 100644 index 00000000..5e7ec5cd --- /dev/null +++ b/ComSemApp/templates/ComSemApp/discussionBoard/add_reply.html @@ -0,0 +1,32 @@ + + +
    +
    + {% csrf_token %} + + {% for field in form %} +

    + {{ field }} + + {% if field.errors %} + {% for error in field.errors %} +

    + {% endfor %} + {% elif field.help_text %} + {{ field.help_text|safe }} + {% endif %} +

    + {% endfor %} +
    +
    + +
    + +
    +
    + +
    +
    + \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/discussionBoard/create_reply.html b/ComSemApp/templates/ComSemApp/discussionBoard/create_reply.html new file mode 100644 index 00000000..5c237b2e --- /dev/null +++ b/ComSemApp/templates/ComSemApp/discussionBoard/create_reply.html @@ -0,0 +1,44 @@ + +{% block content %} + + +
    + {% csrf_token %} + + +
    + +{% endblock %} \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/discussionBoard/create_topic.html b/ComSemApp/templates/ComSemApp/discussionBoard/create_topic.html new file mode 100644 index 00000000..3ac391d9 --- /dev/null +++ b/ComSemApp/templates/ComSemApp/discussionBoard/create_topic.html @@ -0,0 +1,44 @@ +{% extends 'ComSemApp/sidebar.html' %} +{% block content %} +
    +
    +
    +

    + New Topic +

    +
    +
    +
    +
    +
    + {% csrf_token %} + + {% for field in form %} +

    + {{ field.label_tag }}
    + {{ field }} + + {% if field.errors %} + {% for error in field.errors %} +

    + {% endfor %} + {% elif field.help_text %} + {{ field.help_text|safe }} + {% endif %} +

    + {% endfor %} +
    +
    + +
    + +
    +
    + +
    +
    +
    +
    +{% endblock %} \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/discussionBoard/reply_page.html b/ComSemApp/templates/ComSemApp/discussionBoard/reply_page.html new file mode 100644 index 00000000..3aaec034 --- /dev/null +++ b/ComSemApp/templates/ComSemApp/discussionBoard/reply_page.html @@ -0,0 +1,61 @@ +{% extends 'ComSemApp/sidebar.html' %} +{% block content %} +
    +
    +
    +

    + {{topic_description}} +

    +
    +
    +
    + {% if replies %} + + + + + + + + + + {% for reply in replies %} + + + + + + {% endfor %} + {% include 'ComSemApp/tablesorter_footer.html' %} + +
    Person PostedMessageStarred
    {{reply.personPosted}}{{reply.message}} + {% if reply.hasMark == 1 %} + + {% else %} + + {% endif %} + + {% if current_role %} + {% if current_role == "teacher" or current_role == "admin" %} +
    + {% csrf_token %} + {% if reply.hasMark == 1%} + + {% else %} + + {% endif %} +
    + + {% endif %} + {% endif %} +
    + {% else %} +

    No available replies

    + {% endif %} +
    +
    + {% include 'ComSemApp/discussionBoard/add_reply.html' %} +
    +
    + +{% endblock %} diff --git a/ComSemApp/templates/ComSemApp/discussionBoard/topic_list.html b/ComSemApp/templates/ComSemApp/discussionBoard/topic_list.html new file mode 100644 index 00000000..81229e98 --- /dev/null +++ b/ComSemApp/templates/ComSemApp/discussionBoard/topic_list.html @@ -0,0 +1,65 @@ +{% extends 'ComSemApp/sidebar.html' %} +{% block content %} +
    +
    +
    +

    + Topic List +

    +
    +
    + {% if current_role %} + {% if current_role == "teacher" %} + + + + {% elif current_role == "admin" %} + + + + {% elif current_role == "student" %} + + + + {% endif %} + {% endif %} +
    +
    + +
    + {% if topics %} + + + + + + + + + + {% for topic in topics %} + + + + + + {% endfor %} + {% include 'ComSemApp/tablesorter_footer.html' %} + +
    Person PostedTopic
    {{topic.personPosted}}{{topic.topic}} + {% if current_role %} + {% if current_role == "teacher" %} + Go To Thread + {% elif current_role == "admin" %} + Go To Thread + {% elif current_role == "student" %} + Go To Thread + {% endif %} + {% endif %} +
    + {% else %} +

    No available topics.

    + {% endif %} +
    +
    +{% endblock %} \ No newline at end of file diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index dbc3ed8b..020f7855 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -1,7 +1,7 @@ {% extends 'ComSemApp/base.html' %} {% block body %} - +
    @@ -114,7 +114,6 @@
    Welcome, {{ user.username }}
    Logout -
    @@ -199,6 +198,14 @@
    Welcome, {{ user.username }}
    + {% elif current_role == "teacher" %}
    • @@ -219,6 +226,14 @@
      Welcome, {{ user.username }}
    + {% elif current_role == "student" %}
    • @@ -228,7 +243,15 @@
      Welcome, {{ user.username }}
    - {% endif %} + + {% endif %}

    @@ -238,7 +261,7 @@
    Welcome, {{ user.username }}
    -
    +
    j
    @@ -253,5 +276,4 @@
    Welcome, {{ user.username }}
    - {% endblock %} diff --git a/CommunicationSeminar/settings.py b/CommunicationSeminar/settings/production.py similarity index 98% rename from CommunicationSeminar/settings.py rename to CommunicationSeminar/settings/production.py index ffc17bb4..ae0c8318 100644 --- a/CommunicationSeminar/settings.py +++ b/CommunicationSeminar/settings/production.py @@ -195,9 +195,9 @@ }, }, 'handlers': { - 'null': { - 'level': 'DEBUG', - 'class': 'logging.NullHandler', - }, -} + 'null': { + 'level': 'DEBUG', + 'class': 'logging.NullHandler', + }, + } } diff --git a/manage.py b/manage.py index 68de7726..ce125801 100755 --- a/manage.py +++ b/manage.py @@ -3,7 +3,10 @@ import sys if __name__ == "__main__": - os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CommunicationSeminar.settings") + settings_module = "CommunicationSeminar.settings.production" + if os.path.exists("CommunicationSeminar/settings/local_dev.py"): + settings_module = "CommunicationSeminar.settings.local_dev" + os.environ.setdefault("DJANGO_SETTINGS_MODULE", settings_module) try: from django.core.management import execute_from_command_line except ImportError: From 4ba907e816a962adf0e3816ef7a17be779945536 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 29 Apr 2019 13:18:37 -0700 Subject: [PATCH 528/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 06c52be1..525371a3 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -87,7 +87,7 @@ def db_create_user(self, **kwargs): return user def db_create_student(self, **kwargs): - institution = self.insititution + institution = self.institution user = self.db_create_user(**kwargs) return Student.objects.create(user=user, institution=institution) From 389a1c1231a9501824b0f60421aeeee8a0368cc3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 29 Apr 2019 13:29:25 -0700 Subject: [PATCH 529/540] update --- ComSemApp/templates/ComSemApp/student/attempt_form.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index 1fe3a18c..24eaafdd 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -1,5 +1,5 @@ {% load static %} - +{% blockcontent %} @@ -217,4 +217,5 @@ }, ]); } - \ No newline at end of file + +{% endblock %} \ No newline at end of file From f54d5022174fbe6e02aa03d8e2abd2e768815ac3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Mon, 29 Apr 2019 13:30:06 -0700 Subject: [PATCH 530/540] update --- ComSemApp/templates/ComSemApp/student/attempt_form.html | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/student/attempt_form.html b/ComSemApp/templates/ComSemApp/student/attempt_form.html index 24eaafdd..1a6e15c5 100644 --- a/ComSemApp/templates/ComSemApp/student/attempt_form.html +++ b/ComSemApp/templates/ComSemApp/student/attempt_form.html @@ -1,5 +1,4 @@ {% load static %} -{% blockcontent %} @@ -217,5 +216,4 @@ }, ]); } - -{% endblock %} \ No newline at end of file + \ No newline at end of file From 66fab39163a3fafcac64a2ecb268dbb00697db63 Mon Sep 17 00:00:00 2001 From: Dominic Gianatassio Date: Tue, 30 Apr 2019 11:27:27 -0700 Subject: [PATCH 531/540] Upload fonts --- .../static/ComSemApp/Dyslexic/css/style.css | 39 ++ .../Dyslexic/fonts/OpenDyslexic-Bold.eot | Bin 0 -> 13722 bytes .../Dyslexic/fonts/OpenDyslexic-Bold.svg | 244 +++++++ .../Dyslexic/fonts/OpenDyslexic-Bold.ttf | Bin 0 -> 142508 bytes .../Dyslexic/fonts/OpenDyslexic-Bold.woff | Bin 0 -> 16592 bytes .../fonts/OpenDyslexic-BoldItalic.eot | Bin 0 -> 26904 bytes .../fonts/OpenDyslexic-BoldItalic.svg | 244 +++++++ .../fonts/OpenDyslexic-BoldItalic.ttf | Bin 0 -> 291756 bytes .../fonts/OpenDyslexic-BoldItalic.woff | Bin 0 -> 29888 bytes .../Dyslexic/fonts/OpenDyslexic-Italic.eot | Bin 0 -> 24028 bytes .../Dyslexic/fonts/OpenDyslexic-Italic.svg | 459 +++++++++++++ .../Dyslexic/fonts/OpenDyslexic-Italic.ttf | Bin 0 -> 269124 bytes .../Dyslexic/fonts/OpenDyslexic-Italic.woff | Bin 0 -> 26768 bytes .../Dyslexic/fonts/OpenDyslexic-Regular.eot | Bin 0 -> 13825 bytes .../Dyslexic/fonts/OpenDyslexic-Regular.svg | 616 ++++++++++++++++++ .../Dyslexic/fonts/OpenDyslexic-Regular.ttf | Bin 0 -> 138312 bytes .../Dyslexic/fonts/OpenDyslexic-Regular.woff | Bin 0 -> 16636 bytes .../Dyslexic/fonts/OpenDyslexic3-Bold.ttf | Bin 0 -> 239556 bytes .../Dyslexic/fonts/OpenDyslexic3-Regular.ttf | Bin 0 -> 237868 bytes .../Dyslexic/fonts/OpenDyslexicAlta-Bold.ttf | Bin 0 -> 142324 bytes .../fonts/OpenDyslexicAlta-BoldItalic.ttf | Bin 0 -> 289736 bytes .../fonts/OpenDyslexicAlta-Italic.ttf | Bin 0 -> 268968 bytes .../fonts/OpenDyslexicAlta-Regular.ttf | Bin 0 -> 137652 bytes .../fonts/OpenDyslexicMono-Regular.ttf | Bin 0 -> 157400 bytes 24 files changed, 1602 insertions(+) create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/css/style.css create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.eot create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.svg create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.woff create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.eot create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.svg create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.woff create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.eot create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.svg create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.woff create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.eot create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.svg create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.woff create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Bold.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Regular.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Bold.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-BoldItalic.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Italic.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Regular.ttf create mode 100644 ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicMono-Regular.ttf diff --git a/ComSemApp/static/ComSemApp/Dyslexic/css/style.css b/ComSemApp/static/ComSemApp/Dyslexic/css/style.css new file mode 100644 index 00000000..fbb3a603 --- /dev/null +++ b/ComSemApp/static/ComSemApp/Dyslexic/css/style.css @@ -0,0 +1,39 @@ +@font-face{ + font-family: "Open-Dyslexic"; + src:url('../fonts/OpenDyslexic-Regular.eot'); + src:url('../fonts/OpenDyslexic-Regular.woff') format('woff'), + url('../fonts/OpenDyslexic-Regular.ttf') format('truetype'), + url('../fonts/OpenDyslexic-Regular.svg') format('svg'); + font-weight: normal; + font-style: normal; +} + +@font-face{ + font-family: "Open-Dyslexic"; + src:url('../fonts/OpenDyslexic-Italic.eot'); + src:url('../fonts/OpenDyslexic-Italic.woff') format('woff'), + url('../fonts/OpenDyslexic-Italic.ttf') format('truetype'), + url('../fonts/OpenDyslexic-Italic.svg') format('svg'); + font-weight: normal; + font-style:italic; +} + +@font-face{ + font-family: "Open-Dyslexic"; + src:url('../fonts/OpenDyslexic-Bold.eot'); + src:url('../fonts/OpenDyslexic-Bold.woff') format('woff'), + url('../fonts/OpenDyslexic-Bold.ttf') format('truetype'), + url('../fonts/OpenDyslexic-Bold.svg') format('svg'); + font-weight: bold; + font-style: normal; +} + +@font-face{ + font-family: "Open-Dyslexic"; + src:url('../fonts/OpenDyslexic-BoldItalic.eot'); + src:url('../fonts/OpenDyslexic-BoldItalic.woff') format('woff'), + url('../fonts/OpenDyslexic-BoldItalic.ttf') format('truetype'), + url('../fonts/OpenDyslexic-BoldItalic.svg') format('svg'); + font-weight: bold; + font-style: italic; +} \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.eot b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.eot new file mode 100644 index 0000000000000000000000000000000000000000..03006b1b530a35981cf50701a50bea396081a597 GIT binary patch literal 13722 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 literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.svg b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.svg new file mode 100644 index 00000000..b9b84815 --- /dev/null +++ b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.svg @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7c97eb4329b60b5acfcf3b6f2dd13b5fcdad5f3f GIT binary patch literal 142508 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 Z;a^ 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

    2o!_za*kiYzcr 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 literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.woff b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..755476f6b4a8208d23a4d76e79e41e7d3f077cbf GIT binary patch literal 16592 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

    mJy!5CIAG4 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 I(gbOOU@2x!_W%F@ literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.svg b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.svg new file mode 100644 index 00000000..238cb343 --- /dev/null +++ b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.svg @@ -0,0 +1,244 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f949334dab9dae19d986fa893174a47b95cd3853 GIT binary patch literal 291756 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%0D^a6ZWrM` z5FCY8YH~C`q=C_JVeo1Y9G9u~kn;6!lJd(2FKXjh!fno2vkR+b%>*q0vpH%~BZ}Rj zcgFR>c}|ptM!ikrTx`_yv^z>M(gX{<&R!oz8ETp#eK%C_xU((+rIo8+ef^sy?G^g9 zHNhLc4@0sR&2&JdhF~I-B*^|Ju=-Mn=frNvast7F*qQaXlCneB>v6pvJ4!G&(O}oG zO&|_Ag^IQ>Q7(GnR3u8{tt~)5pp*F+D2+P@J2#qKl6N4HA*eHJ9GOm^uihoh`&`5p zbGwQOI|5`;#3}DcR6=T$XVb2ji_NDI)>ODd8jer{^xB!@XP)uTeEnvC!+caQ`H@r)_9>w)2?xQ(wXaiPI zDL0N2gb~D|;B{do#DD|M26M*Oc(p>#yb?3V?Hu5W_$3|E#och`*aJwd)0_Rn zDO+(gi}YSJoA8JRL&&Bxs*KLG18q#y4vWtcb$i;qsgq*XE0b)Uz`gRf?)vo z(nHnPU71u0g@BO{YZA3uhaPns5_oNXq$?1J`s^-~+ipQU{}rzrr677RzN*~=0VI#| zB{x86J54z)fC*uY*fcpRnP59M(~iv~*aes(_Xth^ru;I3Ir1=udKGytSH)MoGu*U; zCt?ws71LLkDswg4HF7XNS>vWVYfM(V2ODzvbernRtJQ*2m<`Odj-R925z4knA20nw@;<8;rV4Wz2OD?z1Ww+;XsJdK! z<@H;1ehw9!*F-c>z&&pp)_-T>)^M3w2!Op}p$?PrlWi;{p! z?VE+%+utTMJ&fiw!^s_;-P_aYTp}7>U0ixk{>MtSrX?0dTe8-=K!e@x@HidK!Rq60 zj4zDd)_r>)cKMsF+gh;^BGHQWZ_&GXC92UUKqr(35Mgu@!s`1$1AZu{6POD@vF6MV zoqf5a5~CXOE~)^8-x1De6_88M*&yEoItWp^5?<&y4EnNoLp9^E9o)f>cA1m}3puEW zS>m4BzePcaPgXzp3B5(5HEYCs2`vTq5kFY{+y@PMShW9&%7bZ@`~LgZTmN^TQjb)6 zrEtqHZ`EilT6bfhbw_b}%abD`_xJBhEJ>gIvGDYdUwWYTj-h`lY-vTwxmI*?Q-3lw zkv15_!F&7r?;X^+QGN$?4^-Yxk5asKzhKaX7pGE-!&)QSilKleUJ4?fOQ|g7w>M$~ zD0}7YLjKXW3iXft4)Uk9y6SD!e|@V`I3qmrO#$mFD85jAL4C9OImLdV8~NKfMkX*0 zU`e-PNw*@k6h1#{lcWLQ!AN72Fa|Kxl$82qEc(A-NbbQ2%um47F#&a80w>x8M9&GB zp(bF4ngHjVfEj86W~d36p(dCairSNPG6PrzGo8#pG7Q~rCRmq?p)$*zu_jT=Atm#< zpT_4B@VV&Ryb;esm$BdCvpomk2N>+L=>YgJvKVa`gBX(-*I^vQIF9is#uFINV36yw zgoTh@2cv+;uqb4fxfxObwW&P?%O8h0#&OK4DJ9(1F9mLq9#f-Oc4HWrMoQtVD8P$G zlrTI6U7r&s1h%bJ-wbAjNLsaCx%z86irb3C>5Ne9b~vqw1&jxU)MTNsvCz7wT;5rv z*idoD&-bD&kdEB=7Yj|XMXdb?3(11TYH|kxE4nMkhlU;*-21&X4)szfKu}R59p2UB zCablWEgkCZJ=&RGf_k?;A(Av0v|g`wQ9g;5?yC~H-d6N(%=<4E--2*q&rm79wOroU zIf9nl@9(9=KYL3zA}~au1$yTurg!e7%0?77K#6VCZ}vJCD?kO*Im9c6v3j>AU>^k} zny_E8U`4PMdq+KE33dQ>U>~VN4(%i3m@_BB#Z^!xTz|ZD3Ew&?b%G|brL4q&o8sVO zQV`w(7Sn;3C}x8l-3b2@Z@4lg^wEF)(T)Fg2O>0;H~-6y#kUNoQ2|#~+1bABC)-e| z4Y4bYtLv*@Lme*!GKf95b?^SkAsoTNAAY>=g}b}El~)tXHdMRU0b zQKTol{{2xtc)2jsv;Xz_wnmT0rAvjWzWjHuePg73(flWr$eR@J<`J$puzgWL$mEf% zh8k2aK|H2)KhKM3VLRl+t{6ZmlvzNqER7Ou!@NzJj{>GSSrR2Ug}IdUdKPdN)K-tY z4$8Bj&{qy&N6VMcNQqs)N`uwT#RiMx7uQK`=WDRPdVQO%dHRA{scp92`uuC(ZzZQg z&3DkxqaQWk5Fa}XO1xJ(DeqMbvn97+hC@9P#M}6w796!B;cg7xaYWu{ANEn!ItZ4v z4uXT&(;)Vj;1ziCV7khU+z9T%T$l8E58xi)!Z7%+kDt6CSh+70((fTy@gEYg z60MCwE3v#3I46vNc%7o?aKe%XO9w4}SpNQ;;Dz#yo-)e1TP%ntbh}Wx$lyQ~DnlG) z-7^S5)>j|%77!8dMb3Z9Saww<9JuH%KLxe1?J6z@l7!dHf1E={MEd=qIc9 zeeQGB6Q8X2xP)!uPlat*>zlCFZQ2RMkajDcqt&67N-QH#4|$r3@aQ48>LE|-;Z4?) zPXjWg9^Pa>k+|BX>5>bzXRYG7!<+WjHgkP#Z$00$xx>RLHGgbEv$KE z%Veo4&vI>c(ge!>Qh-_+w<=J0UUpk@mnF$hr|`J4R3NBXf^ceIok197f?l;5*Il`V zS9O66(NYQ0%Uf)3y5OdeJ}F#-efbsRk$sBKoWglYLL-Ho)+-EbMd#O`jvCY>L12kk zuztd08+aMv@qA3kywV2Pcm@M!9>H{;($$HpQ<@{5Nfm-g2@jAl( zLUuxrL?Od9XiS25m(g)7>NpmasD;IGw}2N8fq8slVF(_5-jsVf@gT)kfLP{dEteQKc)Y*v$l6#Xw$ETU%jHZ@b+V+zk*%`KJ{mD z{v8wyRF_N(kSym;?D;Y#!z{)OiH)#A(3Bse9;1RWgh4fch$0Txj=HPM`C$Plv+ekM znQ4|j1A5?sI}$3y@dmO;OR!9qUA1k*)&lN3Lp^IL^^Jm%RfwTkgBf~d1FjT&I}b4V zLN~#-vXR|EGh}Vqi|amISqVHC3n;vl8>!g8=VS_U!5IINElM(7A$=DHtWxWI{1yEz z8Xoc(IH|T3Hz6QGmBi|pmYjDS#=q24l6eD!rzbx$iH0ERk@t>_ys0zOY_%9QdX#na zFD~{!GB)ZY0c}Foe&-N)YXVHIIU)}@Hwb>xPRO)uvjbwQ6r>D`+t@J}!1(iCr z&}x1=+OgmljR~z>RJ%*pS1Nm2=jYU)g(C<7r*?aHIeSeJW{Tp?-QBl!cJ68@b=mD` z+9JX={wY+t(>hJ80-s5vp?a~fr3r5nvX8#>;pQU)18?Zej%CsV;Zy z$Ar4BaOeKcNLLhP0@MM&KLdPw96Ia!G~~y5BZAB&@7r2pg=@)+BTY=x#PqBQsXNll z9b4#*Ef;hA{3+Z$IPd4ebz=qZCTBV<(KY0Pc*MOv{9l7$N5V2k7c|b`020<}*n<1Z z5kcHF7Y>}g$TUV-vaz=gTKq1*P56~ZreDPjG_aZ@vEz6>X@`^`?&@Kig zVZ=zt60@UECybvXV+K!Q4Gg?j>%-Y52=A$W>H~Fcfz~a>KwBN!Y2}euLv~a8!9Uf< z&u*!HI=n1Qy?xc<2ZdE1?mpDnd9bVcvg)l-oa9SW2v;Kyy~gR$qx*amUui)kJmd?Y}i~X?XHad_0-e{`|lVWv^yN-OmTmA z&mEo71>tbP=BAzzb(zS9QfX&y;(Y_>>{$bR@<+i{NDx`VBs&re6gZZtvIfDjj7%_> zlSxKiB8eIEYS4NKx;kn3PqwMbc~>rSR}atq#$J)ce)jL@esd*yWU~GSR+y4DRk6v}VRL{KDOGZ#PmC%~1g9ATlkVt!uz@tot1it}(uFD2~R2aeE!?Im5GbT|2= zAox$C7lLohiDi_+p1B)J7At0J60bu{P-$MfO8K+7KV_~)A+0W(bCiMq`TdI9)mGJK zQH2>*==)$(3Nw+f4=BQHMHN;&m&ABPD2eHq^d|TY zdc4ZpMm{`>v^=w0=k%dv;N%mlH$S)4(d;loxw2Xc*Ect>E}$S%v9POvDg*6po5CpN zQVMPP_O|(g!DrT(GzO#imdVdf=-no>+u-oyNt2(NUi-|XyTfCra4TEmb!gR{M;K7mw)0BM4p!cq!ZtTXATU+kroL7iM=!Z?XsQ9tpky z@C~?of9-DiNN=ba7<_d4`)2V6DWPRXJq*zup;-##?7|CHe2;PDtg#4%aYQJL%Ml9W zc zniVR=tErx2ApQlbqDq1I8{#)iVUSoCyM@#QHD16EnHT1x#2cE1@xNyHSmZCFo?FK0 z^DXZt(mvi>-rZVUpKIKd59_RIr9tm92T?!SG+xZO{r<7eB5t~`Z}-<%z=z^$h#*4A zgXqwpMeFVKiG9;w+~_JL8g>?`R>^QA(`I+rN;&ahqQ&6|poqTG?Wq1dKi!OGW3Hw^ zVo4&sBAZzfd13PNTSiG6=xc?J;I`P%<+pHcKA^X#ReFOBNQ?^3YbO73+t|m)$KTyw z8iXRz)rZzTo_w7xX!4+jYtW<*bo<4dw|;9|tYUMx91dqGSwI)2+bV;{DuLuUI+Igh z5w*6iuDB*&{aW*uQfX_m*$H(~yo2bh3N}LAQGZ{gT>q=lC z#V&9Nk-NYyj&si_Rsv>T*f3C!whA^cuBS!6HInviu@y()5|FqA4PXxxfTgc z-V5tI4=Lj(49~iu9k2b6ddO-G)zF3qKrnOx29b&hgOm7`D^wjH^Pnq+%3~Fks4(X& z$6|})ar9^E^7)e{lbQOv=)Go>HM%^yw5eoQ+3faGwy>?O?FQ&}t*z@*;S|c{qJ@y} z@)~1xhf`xzK3zTWnZSI1=kCT}0zoP)I3_ld%dO7krwY@jr`JzlSGE6LZTm@Scd4|c zAz!vyje6A8$i$XpGs|^4T2Eo zY7Z|P4)KvW-ND)(GM(@?@|dr~9v)!yslas|+e4b+P`w24$hgBGyTc&6b=W*q+&+bP zL|%?3feBfgB$#AGx{@YISK0qVuuR7Ur=-_s;v`yGd1qe8XA-YYf*GyDyHL?*V8T`E zmg+f04Ds=+Qz-vxuCU~a^vJnI6eT~$B|YFF#Xp@!xSv7sfOL{SptzA?iUl(q>X9Ji zWMX3<#MV6sOt}&8TPV%~-Yi&!$PU}Mia_A@O3eEk_p4mpL7zC_U@pCxk;bD^A5yi)#uuU(yZdCqX`sx8%B@=scs1qL zLHyz}6>CT3hVPC^)n4}Rxk5Wr7x^wpb#35@!4ApAz|$GYqsMZ3NMsYP&#$d;KLysN zvbR0A62<=#i6&U(&360zTy9;Vu%WSQ`vR2#DX6HvCoYX6>dBS1cK4tcuu;a_;kA z83w z??-Ndb@+|_q5epu-iwwN9(&U6Oj)dsWX|6ijrPUtjTr>)7B{6E(gsb~TQ{6>q19~M z*0VCKn#`=oWcq`V6r^Fqf+vGrclLU79#s%+F3SD}ha+OfR-vtMxI3M>rYpNLo$mFx zd>S-B_c{apfxCkdt;tv)4>!AAajPYWOw35QC)s(p7)qHJ6cd@;u2&r9+(S~bK zPJ*DoV>4ytonTbymuOc?s+=jobu*omH_wWJI!F@-d3lHBz&c9b;}{j@oz=q#M-HR3 zXc(bSVU*Mg!=)ESXZ0{7!Z6|}!>IcohEq9=su*Dy4Z}Q0>$?E{9fN|j^gv&(ztv!kl$uZyUKGP_DxqW9m$U5@p3Hu0UgV)qBDT=!V(4&ie;LrNGfw?)EJ7P=*Cgt{{D2o64y54rjv6 z8m(5TR@*GejYS`N0;9u;jL+9={{b=a2Vph7g;#8+E)nePDl&ZbB8QCklg~&Hua*3s z8s^#wFYU7oOy@Zuqyj0-0kI62+sQDu6L{1E?CPO|?Q*g5%D*HMDGy&xz3lumV9+xZ zM0oLP(SLaA&yGPd4mmYr5LWgp-k~^j8t07xVFc2dxQ*eE78BdpnP{#-t{Rk*Af#LX zBX$5Ic7W{>{H_{~NnS4|$P5F6+8GA5H1UC16OYrx#jHSuo5jW0)R%ge;Ta+JJ~{K->;oJ8+d{Ia#@-qi!KaFT#|kYJWx6 z)EhB-BcU)D8)K8Kt2nz<8dl$8E1C34mJ@cd=b{w=1U z)$G#g%`j-|%}KKpOv`7FsC8(B1JPQkwd=g2xrX6zv(ax2))|R&Y1K#^&03IS?=&ML z)TA}3ED`jv&Q5mj{xgutH%v}Z=|rm^t6=oG@F6>lHnm9O|H@w&Ez99Fg3 zZbssRQ5&{~4MMUv5U5-5$AA2@Q;~|xq*BkzV<;H*i_c&#w)8f zu;kBx-Yy7*moG-};>N!i9zU-LK+iaiI(MjScnEmhC*$!UhR0=0P`5K+D6rvHU<1|e zCHN^aSyGoXL_{MRnyS%IoC`ducyT#yTux|no)*H@i!kanwlWfBvl-xQD3jhF0ds2Zx`0ueo3%F)&?H`PRV@vc8R`am~-(yP2kHS{inm>gx4j?mTEJ8Whwyec;N5^v0zLxx2tVCm)L~uU zRZ?a0 zuPj-R6wN|;P`-ou;Y!YRH3)~R@Z88$bGpLK`p@ZvN(qhg@2kiDUe%EBFGwVYlB=JY z7F6o?%xEUNqG8}fclULv6$d)*=pol>r>`!c(V<{Rb0#y<*tjmgz#6e#Cp7qk+|Avi zPpqaxN)RTWT3xxRR9aJ)zplOgKxe~vCe!CVd;gKMM}%M?xU|@Rw3KbPRNvftcefBo z8coKC&)X5kY%pyyS)eI>zkFA}zu6migHczm&G-{WlcA+(rj`n(NOo<>Z4DWXW*=$> zbna>kg%IK!^(WRB=4FID`gn~-LkV*7|ItGBsv zq1)xO*zLts^>+yV*BP7FCzJE?rR=)$ZqX1BOpU1TH+>Bt|)!@z9w0jR|wEl>+}L zhG4teRl9Sy1j(#GJ0HG-*#RV47f}EaUBXL9&KL&aJOEG4(t4rF7a$h;;nt~|iHphW zUaiUlV>JpN=my@{hXxnP9)BQdGFw$v9qh@41Kq+&Qy8s)DJwt_2H((Uxp={gK&!uW zO;QLY5mR7wI(mxv-R+f|D{s2Xu0kz1GYYW?or#puY_5-l2Q!(`RH@NhZ;g7?O4P1_ z2^`Iu76gJmF_XJsp^I=tWzg9xc_D_1f~)fF_xAPO+RS3$3r^DaA5|z->ojYTzkR3T zqyWD{J8*XkJN$0NMjQb|8H!sJx3aAXNDvq`wmzlMB6R9jY>k{ANU-d6Aovb!*&R3z z8*y!HVi?~JjBm%zwgcnaf${Ck^FeYY_a~l0P{R@F?e3Hy{w5FC4sxmFH*2PL7tUxh zP@KZYX;$2YkNJ$E8BgPH$>CPKeJef&&CBm{XYKC0Fw4(sN`#`$2_nbn6ToQvLR6*$ z;KRsbv|$WlOk!MzaS-D;#-kWdU_66C6fb{peO&##?dl+5B?TlGGQUra!znn1g#Xy zuQr?7YNpi=I}%)&ZB_Vw3>d6F^vWUFI|mL5ZPlz;;>( zU%&&x%F`%jsb`1WX>@VaF%J+~F}hd>Mmm^opVfvBgpG7G(qK?%-f@!=y z4fG?J=il-Ad7Cl6nN!6cJbVuxy9ZRU2UM|#QN2O_1YQB zZ%@?E+62NaRcjOY$4##hug#Yr72)USA-#0=tN$Nty@wU|3!6_v5|-tb{lNL#fKu$l zZUt_(0ykTMo2|gjRwkn;AVah=rr-d?tr0#6B5T95pd}&zvO6Sz0~9Stuv}!4VA(by zr?j?Wu7G>^j`L1^6_kM>7oanR#`FN2PO7DzE?`apPn zAiO>hULOdrk1>Tl+}w?ux+R6Ws7550Pe|7gE78n~@=4M}a@NF5wQb3} zeTeQj#JSIXpgius(cpWchA5Tn(*f{dWHH(>1~Di`-h$69hn&gbW&zB}#zHPTp2Bjq zEAC@NOoAa_5(Jq6?!w(v(1&1o6;9Odz7Mna;|}UraR?vhq)fyoLB#ll6Y)uWwv+g5 zC-K=%;zoFkG6!Qh`DeO6`HxvZEXF*(95LXt&l?8ESK}=alO<5S+v#5cS zMGc%RYT#s111F0bIFh&MI{A)F&U@*r^H&%GOU&mIQ68vuHdC&J6)~Eq=?51Ny{Lwg**;6iZ1(EQ zsm!8q(V`wnj1w4d!*~+oS&Zi}s4|NeR~`hBszD7B z#KR$4Yx~wf`_?dP-=v^OW<(@OVzxI#g*8`U&9(4(c=1N1r{B8kSJua?q6p9|AOL9T6a_yhiYxcm9H4uvr15X4a!Rp zU%Qst+Rb+J>%k^s;G#T{U5ka%Vxja{KnGyDa(+P0B3@4l%XPktG&>03{I$A_XZ|DS zFVv+S=@&#!(ieqptkZw0|BuNI-HP{9(`CL=v_28G?JYH^tp;^U5Zq$;#xoVNq`=x4 z%k=CDS+g;Wo4ZNk=)9!AjlW9vLk?YvZKZ0=DkC$nG8G#=m;Qx)7iKO`N=)TeiOGEW zyhT<68_(kiZkZ7vd5N=z>YfWCr4n9ygKA3sD|qscfjK`zS z&AY93@4YqXxCC)*u9+OQ@c)xR9zU}UH&i0P)gBbfMvuYZF(N?D3&aF_aF<8=ivxhEJU0Ectf3wT z%q=!RET9ELlsOADk>a}D4Buw#>GN5x9%Eey{$|)$CurRoH!O@eLx8w!jw3l_UyiPb z@P`*mynSxNM-V(G>dnTe(^>DXTNsVDd-EB!+GDds?TNueclQDnf;rLNI1jtw#3#08 zN0NzlXAo$m(OScclc~Y5vEC=BJ+CK1lPlVe)$m| zYpy|EpRC}gsB;9!Od9E5V`snBW-BH;4|Jl3%;d)=-~5D}TV5Lc9{ zgG_E6L7>x3r*VuM5Zc7fJUsvbVhmk78JbdK`?DP$KA)c(4&u z`ZE|nD}t?nDQkdW;>QlI=Ui4y1nQl0e4UE|WaWb;n;&##s7)~Op=2tKs+ss;b_?0K z#Ve98zt|i{?m$N&wWhiG+CuYY1?RLChDcAST6`d#g`;U||n6l#i z=I4G8wmCvxxK);iD%Tg93qqloo@{KKZkRU~V0-uu?BOG@DM!Ifc0$XLl;^7numy3~ z%%+U)uw1WBy_~x(P`+=*ENZK>mbhIs?9bQiqG#8>{`H?_|FqZHD$D>1x~LgI|L~(Z zT>rI9mK}mhu<5&we!RQ3A6Zh@va@Vg=cTN5&>bDK?&zY4u2~a3G|@9_LaMmK(%wj` zKk#pG!v6qKrN72tny3zdkA;~YfKBNDY)S`UQ#t^f(gE0%4nQP00GrYQ*pv?77&w4t zuLqbW>cM9{Abm9%x?P(4lQ8zVJ1oQx%`HQ(246qYzCL#T(#PlG;88K0-mM;Cy5S_Y z{{hPV<5BdaxHU`qVWI{#)}Sc~;`$-Vik5tRd0aLtAd7C1!e7Z(e4=jU5)q| zrAi1d31?7*WsB+!g0R??agDeVHbLlpxVO5Ua$|77EQogbs3NAn6b_gCRrg(x;GRA% z#fnjM2=@t6<%4GtY$~-LS_(7qQkaRCLV#NeGx1X9#~8(*jN(sbr?^<~s5@(nNbbu_ih)F5G`c7eUt8?BF&WFMrYsRV`p60qtySOk;6Ud+ix%C{N|L%Q zQwVr{S(nkSO{$DK^z`dOW7_WSHx72*)7N)LYjQp!L{fzTciCg8Go0NN?TXxhG~g5kDsxILUj0_<=m9&T;PUIShKd4-^QR{aMUE%z#ZdK%ba zV4)ZbDO`1{q@`_DES0o08KO81nmaclgF>5ctRc`SNg)W=t09n-YtJU;(qXXfA`XM4 zNbDz90>!m(h%t}L>x7;bN@%I0G;stUk#2`JQ-mYbqm>5#K`JugB0`_=JEh0WHi(rR zT>=7H#YI=*bohbVpg~H%);%Pe^n%$b_?PE8_vQ0V22;}MLpE}Uud_?Y2TB37*A>;O z?vG9fa-+#qr_*a!idLJT{^ezy6uV$g$AP2N96Wo-qE~A2QwS?fqzXdumL6g6ulG>1 zHMO$(tFu3>{)dtdJ0UV09h|V(ti@z$dkK|;>1^~Mk6pr}FufR?Ke25u^pYr-n6itz6FGUMjzFS?zM^>)pu9>6R}) zF?SnDHblV*`u{1@F?TAyaT-A@2CA&iGj2CZ8sqU&qsIyi5oZ^L2;tM>sX;mX`z~AW;EAWfD_HY#FuuAefW{ zy2=Uy!LoutFh>?{m~O$n)INz!&LzOqHiF=lfLF33XSpJYkH}8`t5F-~5IKZbu263{ z@p_Tuf}soNYYo-U&Ly&lihrz5tCwrmK}Xn*|9KPcRW%xyw~?sWgKhC(TfERQTnux@ zB#1Y)pTO(XL~|AH-2j-HJ`lVa@Ma0-d;=SLIm4oJwvfkLt!uR1uxOze18d06Rfg_! zd{WYpAyxG$kqc4$$>q-dZfCvM*OrL&C(xHn4PR0O<=ibs9T;iK=+L5>qY!BHT4Q!+ zFvl`XTxDnj?uM~!W+XfI)TFx->4>-v{dBu#IdYM6UU`$#|`E5<0aI1XwTN#CGFww;JDIr16D4MVz>uYDbiKIM}!d8>=q;j5^ zK!Hsz5y@T`io#$H7P+)0N#6@7ESwxKl54TZ(uX7m&a7kz7Dle*lDhb-{6spvz-^7% zbBm)ozjw(hv%zCF`z>ubte#S(C zm5gLfCcP(Y$+fmeMs}x?X(jx2ZRw-c-yTuwq2GzZFO^>reu7=Zk6xV~i1!`ojSr;b zm8@rYp#QzAyYK4lJzN@0Ih|r2UA4P!Xvnq9FJw>_=$d@{?m{r-H7==C?kD}4(TEhQ zw;%DK`~aj-z1MmGovSaY6xgw@3JPltA&m~QL0kunSM(xrDX!E0|5twN}C_MRO^|<1i@f}&4WIE3Qw8`3mWzfmJNP#%|6*!s)e*MTrnXPMJ|kmJ8MLAg)Mct*YkWs ztFq(DidrTS*Px{}=mrVmX3Tvgq(*=Ry!7x5u#B>OBb6Ua3>IjFy1+_6)&R79hXH`N znc7<;%{e1GbyITr0?RzqjWWUv)Hsk3Qi-9)g~HB>L(MvmPWbFxlA5M%YSI0xc;;W_ z`m)%VUtJJ2>p#$MiW#4uWBU3I=xaG_PZ4k?csFV9u3=}T3RijWWXM;W%hsTQ8nj!2 z_};;sKmlz#v16z3>?_+jX$P+&1M`yfHgK6;TQyhIraFA_9oslZgeD@mNT;5MT$}Zf zT~eS7D=0(3q!%mLlnFA139<*l&48Op`{uC}2)w zt<@xh8p^FvOom0-AZlczTCv8CAhZ`@DCSv(TpYw3uy_n5kMt3bBWgM7b1Ty6 z9*;1u4u;?b1)=i($?6|O(Gv`Bu5{m=52car>WSLswN}EF-RY)!)drW#)t(Oav;{k( zRLD4)nKC7TqiPdkPeSh^im8cSoE?w9X^`<&=9s#0fIobX2 zNcVjM{l_Z8;IgxSL>6P~=3KrZSBx#q^UB7LX`INqgpRoDq_QwytNI&z zG8#mpemPLunu|n@=r6A^Ycy&U!Z#W$wuvGNcB)i@s4W(}S*yL?ZdU2lPSe?U>y4sN z*PA$EvEEkw?LC8U85p>&IniXbnjL=M>P6*yhlbwLkBXk%H<$HFR1MXL8-I0kar^xF z8?uEir_-u27?2N6k$@WujkYtWJ*T%XFtUwT1!SM^(O9qqEa-Gk+ZE#=bQ%IK%pu6d%ji2D96gT>OA zm~VB@^E6neR++5U=2Y>}!i9HrW|pT?3;jYcrq^rnBse#GBI;+t2rURds=i5}ATXuk zebph=6)UV7v|ENsMPPp2MKr3_q?s(;!}hvJ%9d z9W(g_Qn1gAi!4vplsxyDQJ{{1zS1gSt(=qL$5|>cp*Ai-z-B@~;4kNi{3K(|-N7m6 zE9teFIC$30Tlk>c)8KY>VxL68-R(9-?C@yo2wjq(;8!>B)}~!>b*l<1ygK z;&{6H@r(4O6)5*b_@?Sw6yaP!vF>`ftQkilz>iUnQNb9(pzK2ft`z$&^CknWf?<~D z&_WXynjqqx{e{S+B&5%a*jKH*U?@K7oV-J!Q$44Kky!C%Ztd+$wb8_9&y!#h$|`gM+d-%k;Q1k7{r*wxDMkW z#&L{CF`mG92IET@gkKsQtlT8mCP7#e92q!I=wyN6j83dNl$)$^Pw-0$%U5|rf|qz3 z#YlM3Rj%&9Y@?2{@N9lpUhgo!S?4rRd;{Xs)9L>jUW$_gq3mFE_NW~{_X_rh zfDCW0{^xy@Uzl{oSX(166{T?)4d_GS(gxeYd+biN`WXm24^@Bj&<4~j55m!jHnd$G z?v6nW?aX)1U zvvruQ1Fs-Bjtr=J=~cGCIKPR;NNU9o)vc~0j(}z7Bqyyse_76VNT9DvS@;_Sm}FdC zE-V}lWmsUH8_Z69sBm4u9yU434o{DVT2E0DLd0SXnk{yH(4KJ(3-hc2lln(EDaFJ< zy#Jp5#6ZH_ABtES5=)|=sUCeAF9?}s=|_ei8Kp`4HV^z$^MmOG7|b~%vM*@X)T|wzVFi-SZg(+9;KZcRyRyMK89rhkE7K& zyA>}OwP1;VC0zS)QE#Z8J^SC)mq*_>GV)+ozTIxOIDEd<{bQe4zy9fo-w5CPpO>Dm z9PI4eQ^;4GP8aGzb{4an+uClb>}6>jYM{URli_F=j?TiGymy{=8U%nqez&pN>^GU* z`e-GzXLqPQENXTA502SQMnra(^4C@>H+3%k=)}akx_XBkcCE?w5tGH*oX$}#sfymI zA3k2pHp6Lf$M0_KI^4bB)*h0d-u=p1?QYZ%TaUeali=t5Fet_PK_Dnc;b&3$KnnCZ z3^F(jY5y>!{lk#<53{qCo^zO;R>vWwmvQqcWNsX1F~c*lSYQXoc=K0w3nw;YXNvMG8koy#Taz@ zEAT)nt%?XTyq_G%Uj$shds8KavDzJE&z{CC6(gZeU^l>DTxf<&egV;*p-C;L0|>_o z$!Ik$!qS9Xg9dmg2Y29Pl#`km%1NpNFFXbem83MFbV|m}bF@&_+zZCH#4mCoz13Q7 zj4r2Kq^|v?(nMW;Pj~m-J^Ar$rq@S>zAO}vq4_*<F&d>4IKm`HcgUr#5KRfAjRf z@dXQZW^>nebllS2i2C0BKJ_>BTCGDDUR&rr+8SxM?f>QemlsraCqr?)LE{RBHkNx2 z=YtuuF9gkCXZM?W9vSI;U~upal}s5Z?)CeJOU0#ufR7S4Qr_l3uq}e@Wx;{kV`Wk4 zF@>zL=vF7^3+RtNG2#5Y(I2vIU8v*~A@@HDztDB%So)Lo0uUH}BsJMhaOYqbVwwFX(MrQ|&W z7`Fk8+W^LGz|D+3s}0n}pv<2HbC8$dP?V^B7rAMd;v-)1rJwg8xi-|7~ zC~o}1#`gUcv7CohqYyyvua4mddoyK+-A?A%hT^VLaZ8K+qE*4HD?hjjda%Z%+VO+E z-FKC3F|*m;*V3{(7t4;O)BWLjaiq+(M>)SLo^|02aPdiiAT(c`8pfG&2 z$7A!NTCc`rtSY1LJ2_#qL^Q)3woq>cQh)Q?P z;(*T^)M<5In{8gCaA$9RO#{mOM$iUL7YLdJ!q)@U-zxt_wMKEA>d4p-zId3SLlYos zIz-kk z(PmK5W>C>)P!TtUA{SITyN?jQAK^7GdV%k449kx&ESLHzzD_Lf#fMsi548w1dk@}< zF#8nhR?84om$?wO%htS$V0z6pY{3x>wVPxwn0>hIkK?qYjI((rr~&t-HlPgCFM#vJ z8MI~Px8SCtaJSX(AInXoQU#Qu9FI9;2+wTyr@|I1x*%r9^R9ZAR(DZsSF1Ngf z5JSBBBdfhAyI41Xt|CbAV<)U5@AtQO(}=wcmppMF(o{S1LwEL0KDol?SN@kFWC@{- zPbOq_Iu|xKv^gAZjauh4nd831=H}Ee>Qj3B5uHjUx*EI}M0rclqV&5WL+SKjB;O>! zOjAfg;f?ETT0|`CjA|spq8z0=wxN(iBa#kB*kKFUDTNda`$^;`Kd1dSSj&$o#<&fh zLN`u9Z(CKf!OM`ZHkYkIYb1!H8;;l0c&-wKmsRAk1lzo%w*(^IECbvX9D6mx%T=6f z;)|ED#V2g~D?ay1yGr~1ec#m`ZqpaH(0@5$#Q1!!$Z_QtKUmWl5)Dx3_Wu*=FZsj?>%v1xfz1Ljz<5%0;Oxp?tOAyk%fk-<6YMaBR ziS;H}etih&xw8j9(a!MC z!|;bG^?F~QKfg0?u|{IUnatAIoi7|Z^qbo?2C9{F2z3m$u=8oHV#{d=MFu8wF{|7X zX%Cht($XHtkPkQUxwaa#T7r;yggro%8oBUQ3JN%;nwJTdxpoD+!I=v`{D=@_VkjZ2 z2y%n86{HZ>Om5Tykd8pH>(X0MZS+i^-mvTEx2tq&NTdO~;C&0pg5pdq7b;Z@W=@P8 zCk$HzjW*5oV0lTpWs?|17tNS#I5!|sP4dx7c@tWkNbm%=l94jSoodo6EoC_N*z&69 zInir_r6GumJ4#crc;4iJsUK#v>mIWXJ~(8H+6641L1&G5eG3aC|F9#zH0Q|JQn}UH z_LY%v)@BV^ECI_;Xek8&>;vD{hVVeg(sJpZ5iR=l88z-`Po4TpO5};VOaYTopU=kP zQ^lnY*uV#~M$2Owqk8!MVQ1Qv&UD>|LLbc|OH9_{jm4V+k(OL;Q&H&N-_db%w?peT z!J}bT+vZv9p-@|4T|pSQXa4+!(C@VdET14`Ro_$cnnaD~S0v&F$!JYXp9z-7s!Qkc zg#*|x7j%A^ka2u8e73`?AF3jZ_BK-8c@?vx+HvKb-YK~cpN(<=1tKNr#WW@RBnakO zI-fV6LCp|I|90Fv^8m^cbd%rh($b)~_R^GdDePz8Wv|+;e4hCm@m+!}XpS3|P{r&t zG$a8bT=Wh6_|y)3CI_@}g8Ap;Fl92*oSd;pFtw3800xsl@@Pg`}Z{wy9OehxYHkCLWCC-{Xe*hP&I@}>2BsS#dZ!^BaincFcSAVTM^&qZ^x~*m)Ft|(*^tL(OWQnx zw*}SU-JzJp<%QQrXF;EN^aj+`X?23Aw|EvM;{A1zR^G2bXjZF~zt`j-8sBvahGY-h zRWd-VB3kdkcXKgXcVUX3N<62?c7|6nqIp`n9$aNFAHj0lEP}a3oZlnIy3l;@8UC#0 zxUx1bP;j{DHlJNszVYj7lqIg5+u8)`L$9Yy5Ohc(qxz02rcl&TR!2!V3pNal5 z37F~w5S#;?qobt-)x;o7U@KUx4v7~j31?-YB?nO@P9bM_O}VwLBB;%}_G{j-zz{KP zUzr|msD3GD^qHIM4SthfV^Ak13tEQ}@t3}Nma!cTnw8+~TRw{(oX3Q&gC&h%Njg(# z!cn@d0>l=DEuWbrex!Khl`pDqQ8l1z>U^9oH^78Q@rW*5Z(!dticcNJrw)T-7Nyx! z&vkTP$(Z*T;|3)8Lsb z`J$!0y|#pFIRx0nrM30-LrI-RsdWX>;>0L+BE&$eu^0>?SFk-2=?M4U)jRZ#<;x!% zj>E64JOV*)->>!wZHa+cxB(GU#(*W<5k^LfT9=B))|K-U`TXjfKpnAHHbOo5UUm7m zDSrticlLgF=gx2J5IjQI<;vSIAw+|vKp^jMyVYvkiasy~&9EoyVzLfwyZ^3wUc48l z+S{p?lmUUEOw-fg7t-|Xn4k_Gyxv5L4iYp6!89ST5u2sJW)a6ASVmxi)tFaH^OU@( z18m2>7-q7# ze+R%XFvwm`f@*?zJbx?~y5;Shi3kAAk?Dl#bs!K*7L({iCOWO~zj}v0nOong(j$aZ z)GV;qd)zrk!&CuP2Av5j;`NjdKv3{iBJk$7?uZPgk^^uDYZ^Bfi(8NxRA6Vr&y0Er1}kPsPI+C96)2?%C%T-Uw+a zmRnP)(Xrcoy(3|_pz$H1!OT%_$r`m;Bj|?+gSGmf(IUg>F$Y=$X0I`kIvuG{>t3a( zORZ{XSe0I|0=96-Cjb3PSQr<4uwNl_jAYFq(Go?SUP#six@ob&bPxZQ@|Pl)uPnh3 z%ny2^f>(V(d{eo*a&1qJAezD-8!h0AVJEQg4bzP$S(?rUQSp7{Ce=~(*FYOxsH;dmawMqY!zS^eWIQ2Q zmXipUH6J%%xv~wxa>gUwBa2=H$If72C+VJg!1WS55AZw*mVMquyuTY~5%!vjnx@HC zCk6Mg^hH_^@;*~1Ec~z_MzXuMc);prN~UO)-x$esM65n48xSgP?Y0*J%_g_5b2x+( z{p?HO-bA7=k}#Kd7VM37ID*YugSrmUC>C3t!(dllM<+>Pe<8p6$<=h?3c{YxuW!l+ zngb3pBq_ziTi1SRn!vSYpJ`rkQ*pyaww^y$9#@U2zY4@&j4(M8THD!rYVh6V^(0tE zgm%Dk6gk0i900-cdJ@c!RN9~RS+YX>3?g>0g7ic=Qkh_RmFX{KEso&w84M;XNYUxE zhM;^FZcYVeYCmK>rDP9o{;=YBn2{WK_~v|+c~Gtmb;qLJLAzVmx;c+X@3hMtFgans zK}Ampvl^4Gx(ES^hY*O1xX*ZgeWgg1L>xMMouPdZMdQM>`FUh>ieme=!sJsM@w+?k zZCcmpo#)O^HlkA^)*ew=m61o5Vzsg2*F8O9kJw#lmkXv5TJu-_=asnf1HzlZ#TF{w z#MZoW$u+NFCFC_HSYC62ome3!R+L~jV7IioQNUD{n^rdgn7U#RoCchhV0qQ)Z!fsg zB$u((K6jmgxcDJeLN+$V6Osf2t|z`dvM7;Q6mfXXk ziS(kJr5zR>#QUpS@*B!Vzoj@*SrVqzy9aBl6ub76Hvau)EZ{$&D2f-Z?Sj`y=xftz z#r$-B#nQ)yfz`Xdu+iTbD74VoAShmZWvl91^+(a+e$#2NB3=m#=N7&m=j011e!dwp z#JSy?=mwNXrrf^-+Xy`-WQ0!umKTlSn)pg5UpwSBB4X(W*eIqjOnMvt*U=ka;<9*9=--9%x{F}eQWkg7s*CZIUz~?64JR5Q)sxP1Y-|EYFU7$!%y`a-LE3QGk zUa;3Y9!W1@XQ`n0N_bEb!>PK99~wiFa(Hz?#n4EBvn4kGy{b(k$)cdo()1nY0hBH2AGW zys`4LuB6SHbcuS6fgLpd(BcqW#asVrtJ$s7q1E8*9UA`dFm2uSk+R?HF&fZWw#&6V}M(FO_!Za;ao2w!YGHcOjSV zi*D$)!*HrZ@gTj{CENwEp#qe67D7Z2pUBOG2oe@#QX*J`k3(%ViMPrqL$Hi81k3U) z-5)x`4N?Tx0j9W5f@MxZFmV$4y9Vjnh-;(t9z4s5zut;@s=q~l(+;>@x~B(l4{@1x z$`^#5Mau!%5@I}L8O}Y_HDO+u-x!WKvmP%P$5bjD3{;=7I|OC*qo{;%8!RqE@zUNBVSrHCRYx=PGW|0v_7L|51>xS>^wI-s|pPaKR`+pgd)jb{5+`rE8T$HHy*|s7Exgu(%P)R z70?6g@C%#gjJOWd>5+7LIJx&<_w4=tZhq9>{<~Xm z`JY>Ezw54B?(q2%i|WiObcm1j1%ojm8VK}6y-4g!_5}iwmwdqtI`p-6myQo+SJ&4M zM}t}B07?`hxn&9Y=mvLz#Vku6)sJKn%%F__hu&44kBF%U>-2q6ne zNJv7nH6gU2Y0@>*Hk~eM2<~*!nQ4>mOgi2BpSCm8&eGZXZ>G~GLHT~?-uGk^gl&RN zzwb+Y{SH@8&(gi;oO|}u@kC$g5`^Rwi!at?GRL~(YZA#7;et|2z+^Vf3s&CHSh2CP zVr^-r_JMe)Xh}&h?Q(fVu{0FyEom-y`Gug**HUaWsI^RyST^3!JT$?EDE-C2>z^I3#&}&3dM+4FgD%K^8ZvDL0ilI!|0CH^D&%rNms~)PZ-c&g*-2Nijg*Phi*4za>FR2(7ipF7yr@&b9QiO1&ud{Bwjbp$uz7V#XpYoqT2!EbAcz%NAjR<+Ge%S>LAYDLS{4IEx7`2V4$2 zYaO0F(cWl2X6H+H$ku+kyA|`T(tJDMcD$1!*7-Z>?<~RW65K)Xa=^=R$7<=0^N1pz zeD4rmA0jz`ksDKdG>D3$lZC01++TnVV=TQ2#ZA3Ug13$xKVD3OPcwTURWt=JB~KZP z@PUXxvMu>qm@R-5SLGhT;ImX$If5bz15!~OkKV7f=n6fldCH1y31r?GjtJVLx16(^ zkl5q3riK@IYrSfN*5o%iBH_{Cz=X0g7~sCW>RQA z@$!#STkM;EbpW{!5ks?DE!GGnO@)O`k^ViS*NjttanZ`I$`+Cr;cG zS`j+%y8|F}(A5g$lYdYBGOXf183)ej&{~RYLk29TEXongT?3FYzJVKlg2BRP^#J@B z^Dr7PdNI~x?8Z2PaT4PU#&Z}iVVH7h&+CaY*Yj{HCC|xHLiAA5a|8GkN|JDafD|69 zgf~-(&~7C{yOjv-R)PhvrjrQmR)QHQk&~qaiIUTZ+C8pkUER;4U<8Mtldxo~ORViu zyedv)ZjER3%gmdH?d|AL!9ow4_37#CUfkvM`=rQ|z-N zX`nBYxw)g`p6&(58XI;by5?(*#*#u;O`xzL(0O;q|IOT%FM+avc447{?v z@A2kv%4W6N?DkY~>JZ|K8u}h;ZrR|Eu8FLJ?4Z(X0_{<_4s1aSLR7(I()$;r_c!#O zS+eB5=IU;b+v)Onx>EhGjHY(h)s0kynuEbQpQwd_gDP?8m0wYtvDCwg#&IYDmvxk= z1$QN@8JEi$Gcm!PLT6$vt|o3!6BprkjF=7?#Af1zB#RM^a9;RzTBB)T>xSUcR zb+UYq+(t4AgaXNgs(Rsb9v_H8Y)T|HmaOOsXB zu(PzYK52Fr>y4&(s1RPylAc0cvE!Rc#M-AqJv*b(c{-&Jt+Kt{yGo*E8damxpwn6P z70phEt<+H$5!z1n^nH3@;Nv~Q)=Yh}HnFqe$f1UT-YJ@;h)aBt^{E{hfDX4JeP{O5mVZfI;cQ2XZRu>xm=)Ki;Y*!<0J zJcgES-N)XYAi#y3jjVk9oh@l+E(QFDG`m)n2k_!9jGHm;!*~+o6BzI+fu9%|KPkSzjchSG?O9}?L9jEdrNx5P$HJ5mSb{j= zUH^T{x~*tJK-|y!G4cL6lJAf|T;C@^;3vAHiDHs8Pca_C-k+66yPk zlfqMVG@;`YO+ORXkZJ;pP&b;3&bV?y|SPYEr5M(BdWEB*tN&aI#@axwB)g{yTjx`3Oq z97J#d(1twY1P1{JA#=cIm$NW{${;>~=t{W^5{ar2j7N;^S3sNESbs(NK*fen_f`4) zE<>>=`)3scPx{H)B_({ zLUPDY-_EMPr8x+key@zvlcjfNT8I)(M<>bmF`9_+i6Z)xT)tOAzE|P|QbN90;*?TC zzE?uNS5gE%>me?mn4+O0t7SOO4h*6cl;MwLDzeQAerBYF%5(jurG*cY-EOpl75SSRa zG24wxLNR2^4PW+4tT@ECSxE-cX}Ltfd1rZ!)W-p8$4<72ztOx`G4!a{A&J2{6HW!>y zJ5mMy-c)Ll&+oUR-cYQxCnoyhc6)(YNJa-!sWrvncx^?+f#$^4nwpIz(PTUvUXx0# zjYP^aYPHPjY@;RaWg9>(PpR1?L}iYnSNJV2B5)r|O$*0~fd7VVP8OW`!6@eg z<88E*xrYiHInw)!%nV>Ettc3SUT=48?L*rG)lMh;ZS%t!w2SZrjYcaKQvtOEi%bqv zp~usiu6+b|!BXS*xSJxWa-6^(z0RyQn~|lWRpIB>{~9xT%_fggi{b@V?Z97c9eTdA zW4Xm*EiYP7?(r{Z)L2AQ%T=b#AkqN_>LMXZ=Yu4}dN3o&v(QbDInBH)Y>BJH$&X+QjGMh_ zw^#j=*{e$em$s+dZp?@{4#oN#TM}!^%h#5HFAvc2=iW_%6O* z5F2i6ORgy^TN3r7Xp$f-{p_ZWQ_X%&=7wfGDZK+pp}Hgrt8Py>AFCG}%72cpOBH3v zWES!wx?AN>7I-{O5rhq)3<9L+f~JlheblSfxr@b+&(~C#Efc&Yez&VG7*x3sN2>J~ zqn|_DvZ&Xf^vw&ANv~yBA_T$Mr;8K_I-CukQ8cOFulf%1kN<{Oe?+4TUMplhWW)0? z`K)JUAR!BbQOGhd!Q2CS9;Y3@&6{wVI*2Y4Tyl^zwVkcDbR>~z3>(XP_} za-0}Da3)m_!RwH{U|Vt_*e6MLY7#)%b~AGvCh#M99$6+5O}7b1N#R8Ihx-NdgUb=; zRnmM@Tgn(Qn93~C{s^KG5S4EZ!*tw^+8?kfD9yv)9Y&K(1eAe%9uOiYsnpDU*?&6u z;m#)(2At(VgrksW6R#E{XrVm>k1s3}Ld|e(?QnX)>M>M3nEm zK~xSgl&mW?z{RFgg6xUrQHTpBKgS6Egar|PsRGo@5XJ6B2+V5rlBasywnWh4H{vj? zf(MyD(otQIMtui-*zGpIsZLZo=6O8x5REE=r|Hz+P<v-VCmGasXmD)(M42`(~Q%a66?ta-lQQg)U^S!ICv0$}zST>J}3bITb z1Tto_#fsv*h0PdC3pb3sjF_XJObMI>LJ6Uv@IS)OfBlA%mBbHxU-eRx;_U^&@`=CkNK@>Fg@iLQNd{ zcd=sGIE10gBp*Fw8xj{Ouw90VB?w|E)+mzGUG*fi>ZwvURt+jS1&JbkPK@IRmSQDV z0uZL?7!ZHD`GtXwlZzIe>P~G>Rc}t*B^V#5TYa{_p!= zF#8!;nFT}w=m8KnP2kGoVpI6sT$#m_>#Zs6EgX$drZ=L=>>$pW@?({_*f(hb!er z*BP`PCca8ReQ@ckRjxYch|-`^wO+{X`L?x)0(c`G;G#<6qQ4Pd{SE%mud?ZXMCby& zMHGJ{T=;jDsC816HCTRo!9indlgSmu(WJ$K2Fr-z^i;ZW+-hwavq9}J$2M0QMXOpP z+=cWkDB#3uxjGC%$QOfgb4d}v(J32Z23XI?4xN_NK+EQb;i z%uV>`6rF(g(osqJ8e%TE>xreQPdJnQj#QAf)S1s^H`-*9Yg-pm*4XsS0R$EMFN6C_SY+32yH{RROW>D*m zS~prq(;m>BLbz|+cL>m5a)R<%@-1WHY}Y(+9BQb>W-8#9lTU z{1yws|6mJoxLwu3V0{7V@Xa$CHF|UQ#fx`kUuF*#OmU+(<+VcHb6O$BVzY%+;^RWE zQc1F>Fkkg=%Fn9*2C7rHfb1$gQY@sJc?(c8ZvnS=(X1b19!3L3FUER|-55tOPGX$F zcn;$wjIU!*O*0FwoUN0_wJ683E;F|&iH9jCnVU2;p_w!xak+^E>QcI+bkZG{b=XYO z9Z7zN9_27llxI0G!O3|im}u)rBW)#@gq5naF~7x2o9D+PATmKe$)qh5Hj zSE>g8rWPeKN0Y@j9vL^mzGT+5fKD|a*tI8ii$8z&ncC{VWN0z7ylc>NiRxAHU)2AA zb^Ih@2Zb-UQ|z`LmLENAC3?uhdRTt+u(VKTF+F0p^@!cpBX(Pl*lj%|2R&l9_1q@% zeE`40AfG4UL4~5<^uk17bYq1>yB)>j}~u^88 zP}T91xPGqyxsu%ESW-nK*=BjIqHh0%b5AlMXYSg;IfCe(;gaLp)fFz88ot zHds_8I#dgEBWu=PfCEEs_Ae>5rI(i>YC^OWc|_!Y*wDVt=!`i~dP?oE_$w@v~Ld1*@p)e;By1 ziH<;^%Hsx-q*4~Iah|o<>8uLbeOi;o<|uc>+e6UxdP|lO8I>#ug&GSHci!ql3^dAx z3POBIOf4`!>(9i~%A3`HiHL`O;V!C)p(A4wNT3uSR{rt?a~EJcdFQL)ov$XE^MhQf zL37o>t!mI*HE6CHG*=Cps|L+ggXXG1bJd`^YS3IYE09)=r&V6y;gtl}0;Z74Qk=(~ ztfU)fX6JE)RI_p%{L`$OiL5{;hX`wpOvUn7Aj<8;AL_&((&DPcmF8$qr=s#g+#~NX z!Th7i!QeRgF((VL1k0XMf@NKX{*D|&LU7*&4E%i(ZkGe5xfQsw{8D~CrIBpQvO6Gg z!eT?kTykmC5I=J;BO0`%02RrW8K&Jq`w(&7HHqS>(k-Q4zX73SsBlANK47mWvA+=Y zKA_4Py|9Mp?1&IHdJ~AHCtXF^xb%5g@kJ_>^w-}h&{_=$0Nl~9cbjX{3H3{O_XB@8 z3M>-L?h;+lN|2D)8e>;W#N~=uVrmt-n=S(Hf_Krj?$ZNBtwqO%1<00bRsXDfS^Y~$ z2n~ulQf22eO7vq1nsWPFPEuO=Bsp%PF*@U^II{8;gXd=z{pJ+JISQ{K@71DG{Dmu4 zYA>3q!24FCUVULwG4-}9Rb20jB#8fZsQy)~Rlf=>e3Iu&`GJm*GV|w4@g%8G?#oNL z`4dvDl$$>>A?4;{;w2beBmve80oDuw){GT3Lx9B#kf&t!EwgUUx`-`vb1zqAxOe~$ z6Ax7u)?Tq_wEDAo3q<2|fv8UL1h;CRKs3QN5IhA)pl`0i>b5btx)58qMt zTM}g?rb&7>bU5s_mptSdA7y`d;ClxIp>`yl9;uzT zf_wmM-StJV9IZvwulK`a&-?OGcmpZiYRnQpB$-gouOgTu!+CfzW2{3TWERYpbDd7;F6}+fG&6biIwTTmN($u6L3qpcK)^*Is06sN4qM68LFBdnD3Pm{?Jk zJ$xMy0<;L6cv~@v7N1c(J`U5O9z{q=+}n;Te1$M2-YG$7oPe!Aae-g&!(z^+86ujbW5b)#s5Vb(^A($&G!uwFkG-m7jIzk@X|LdK+es;?<*gD8Y9EzLVtR zKNVM);D1xrB>7V^kL*8BT@U4YFqbzUo4V$T%zK6rGO->S{#nKCz!c~bINyo)ECla4 z!FUhp1A6Sb9vDEd6)u_CniN+PH zqDnK6spW$AI1+H2;M`OGsjyC2H-ir0kNpYR*D9E!OV%|MwnPM`Plh6qP~rSgsH+Ti zVo}V_yAJGYLXPND9929jynRmb7&f~X<1uVB57C|wz}qoLiWiyT2o3@cN-!79+bL10 z7ouh_)RbPxoxSY;_4vIT;|Rt{j58R|VZ4O#b&MZl{42&EF_5S<3lHHbQ`h)O4q_>w zC^aawsP3M@XKP^mw-;Z%8DG7beRVRpYEc_oj%}xf>B6hjHG2WzMS!V3HNERNVCtYl z_s{`wLV_OxO!q#D>!Z1<@XJXwUrwU=xZ+lv2-HBFO3A7eOBtOn#XDqcT`^!E!lg5K zjas~2+BbYFUfqdj--;_8GITwK>nZ$wg6Z!+L=??LIc6{+DGyo=8bVD=!CExeq3Z7l zgNq_`p5g})N)nA|$rv+Zk&;qwr9VF*T&Bg}#ugR6v-^&18nX4*73zzU9=oV))N1|6 z$%!UwUcMR`^R1j%8J{d|Y7VKr1(&qiv0g@`-k?tHDJm+mT9kUL#$`4+?RKZZQE>LE zM9;UD=7i2?Bq@~Se(4O*{S@&j_bFabd`t1lxZ+XR5jq$`Jc_OS4taQ8I0=-%m78!T zyue-}8PtqjHe<&LwgI+Du*~D%DX*TueLHa94%|oZF2K70?*P0T@NQ{-FW|k>{21Ud zX`Tm2@b})1`P-#??f`s;bkALY?~*W&X&ICe2(^;uZV(b?s%xW&9p~0kXzE2|=)*k! zA;p`l&6LBzglGPCq{eEe#akX-b_uq7S$N;IX+g@t*)1~l`)RN}e}}4BQL1!_YpHK_ z<7LEgS*xmR*2pGwVX8H|1R5~u!XaqLRD=i|jd%*Nq5OSCuZlzES9+Dosmm)mu7>ek zLAjl(KIw2}+}oi+ny9>+Zwv+Jdn27u%Y;_j8uAq{ibfnUkEbrYy*=JuWDf|jzUp>i_0{a! zm5z&=vW3OPO~D31%xR^XoYK0W*dJXI?I>APTH2Qo#p-R@sW-If^yf z3N2aXRbkF$oM1WybVB~nlMdQ}XxS6U$RuNj$OI5-%dUhCjORsc={rd(2j$%9YV`MA!Xp?>L{Yy6m*9y#~Op`T7)Tsf!6k&`{O#8VnUx3|Ie zz{3k!9{iO1pvEe(h^ax))gWk%V3OI zXP0x&ww#@sdm_Fzd3wnlQ}~1|y&pD>F_^3WMwSKJ$rRB}rik+hb)c@0;|N((!Ocb{ ziG2_ZRxvcw0HstwDZ1)#t-`ecS4y8Fm@GzgEyk6CInscmfGL=R;5cA%-UJS(1Ne)$-D{OXRTf`|Pia`X)Px8^--56`Y_k=by-vN;S6f(E>qDC) zd)#e;|HAI8_8mtU4;&drY9ote(H~!pWN{@)^dzEU5#qt!#|sOiVLyQyuTenqCA`Wa zs#b`~K$XiE7ZLREqpOl6^2?ymE66XR{tUd!ok+h}27W}YYxxR2|K|H7eUrt0ePnz`0EA!g6%=R z^#T{|z(qUol3*8L7PSi4518iUNL7Nlc^vx8q%y=jAOMkCmzE)(1rwB5`@nm_QCta6 zVr7ZjYq6v4EsD@BU7A>(aL4UQgYe#2Kx*wm76%uswizRgpEO3i&g_Y6!(`|Zk?cc^ zZ)}GB@@1;fuVYH3 z*8{j7z-t6^4H_Fh>G-JPaqx&}r$~3oOyWOz%lo&{>D0u^IOIY~nS@4WPB{)Eztux| z3Cl7#N~dZNU}aqdjK`)7y12r*@=mrTpa<$qdJUjd^;Cfuc@GqoBKWpS?LbYW1kRJq ziW9<7N>$L}pR{`>UUz&g~R56o3i^mT4Vt>guX2Sm7mkT1gEOy6)mbe;vS&F<8)_4uB7%3}Ze<55@q-E{vNo?!$Nz z;}aO?FsLhP4L)8aJ}T8zOadl1-UeI;a2>$hZongeDUp$2*?v#(e$3NVHUQlYn1ria zaWBEg0Uy6aH_sKz0ix$%hN#hq3Vr15$l-tt#j5Nx^Pilb9V4?KE0e$z^rB(1140A? zZ3tIxUeYq@+(yyOv7hemzO$vG-Q)HkD|=OasiBIB<-t&i!JxI+ghS#_h2hf&UONbJ%Tb7A z$AYw{zSrw@DBl_|A!)d}DD4&;Uadx*So6#}QDrH(_?-6gjw|+DYykMg1|0pb-2Ra#tmVq_!-)#RWxIp`J%LLLxpFKLP%;N*MQLv8`Ck(tngmvW(O zfc@BcYB@vmbh6QvpK9k374;t0ARg?Fq-t!SMVKVC|KFna9?ll6FmohIH+Bk+mU=7 za9Wj`j*h#VV~f#v)F&|X@Or&n6|C!IG|^G(^muwR6(jZa zhno97GcfSsj{3!3uf2v!{NafDKH~je(~^&4p<=J%@3@nV0yD<24IS8y4m4@r#9BBj zVT{|vm`Vp;TZq>d@@}>(!2VVMT~>hotpNL5!NL|-fb&$cH&VylO1$wrtA|VTjI7+;z#ES%L08`mmf=z%;5bABX*ULT^&2oW>>U;57 zpw5(@nkab#CjDGep^IaZ!(NB1Rqkv6+SJunN~dQ$LMezqB(yJKET~@mLdl9&OSuo} z%0|1ka$!^`jrLZy3#03fRO>vtr?U4C|K;|+4=?X~xVen#IN5x@4NJP8?C<~Z^7QUZ z{hsvQg7{_$^5l!mqM&ycd&`D1^*3bp@7JMI#%RW%wx%{$Rjp5G9_e~;HAVWOHtfE7 zv9e-KO4MxnNVh3$+-ow4Dzn|*mMPm@Tf48m@7(6i&$ne-?RGPYETY7*TKu?ps?Anp zdn@7Vh{aaKkw+F=*4r73*I2D)QS*!J(!WQ<8`Lny@!2hSb;~;rop+oybade7 zDo}s~GyF_)I88E7rG>HCL4a&_O1HsT^|xjh4K8k&%0)1lmylkw1PQ}$a8J(~Y}Y~T zfGpo~MZ4VyO??gc#v1UAHQ*a-z&F+~zOe?lkY>1G#B zCg%c~5bS_SDI=Kk7!J$I7|maWGNzowa;_QWMAtNG*%Pyabomvt56>>9Nw}2#S&rx2 zq<9s@Hn8?H;5mn}4Oh!^hI5?eh8%Yy4ujhEWP?;gFea=Sz|@)x82BUvZvebOf;R)E zxvjWv#T?lQM*)vY@C|@(m~~DwQ(<o#ccqS_{g=1E;F$p%@QJA?45>R%{nGMlgFY2Mk6YI z2>DmbS0U;odkqGYM}f&#nn?s2W4;n>CX@T$L$uCUU}0` z_AENOP>u3Cs)o_Voxj|PKE{IZsme9;vfox|)dr|83y!so{qhJ2eSi4Hq2C>EYg0}Y z8MHTKv##%rC|x$FMsi=Q z166jlj;O_AGZ~G3l<TQNU<6x(@xxNb!SKGI|{@XGm8Q^&K- z28KDs6En$-np5<;)?l`Gk6$_bk>c2HS8SrT)&?Zla0~jaiUkaR%$VVjD+e`75Kq>* zlcb$;R0}0(ryLm31dM0`rVzXU@B)%{rsf!#E5^lHXGKn$j!oo^jQifT@s8=3!xe(! z?s(TcBe$nI%8R)H6_0M9K3WFF=h>cmaD5Nk)4?1xl!JCk5X=bJwsXV@C~EFTM*kZz zCCdl|)0se5Zr?nQKXRjDBd6`_96vWZoZyqQo2fEQ1l={BNpl)JcP$)cLO&&+++M1@ zR{`uJw=c=xyBYf@CmDx$kTcBUC*L*O&@vSvD^-)(l#rgm!S z;H%fjKc;c5J@W1u1?jYqJDEK7|IRMO?L0nU2U}O8 zVuutTV9!BC62xNxP{yA}xluh6?!L8Sg|9BkjVd+An5!52GJU+;tneh^p6N`L*T|Ie z#=3p@-LoQCKYoZfH{wM{ggbd8(-AECIMf9l_Jp8joE~j#BbtHga<)CevPqoaI&2V? zBP5uo&alX*9f*9|AxA##fC~?MkI{h9i?JSKH^vc+lNe_(p2K(vgCd^};FUT?gY?{^ zIh)R9ooSAcP3H)=>GVKyB1;bMZ*+)3URZbH>`RES?wDljjtSNslWg6g2Dm0zcTBME zn4mG4VBIkRdrh$Jm|)#8!MbCDb;ktjj)_@!WbMm~59h)H$g!6NfXOHp$Gp5qHGr!y zUxj(H`p9N{f;VD*k}SmUmWNw{7JJlUb0>p^ovhDnY*DdV)J40C z%L+X2ski{@K!50#`QcmXOO4CJ2h z5N6&-m6haunYEnqS<%VFS(du9Ph1;oyEeJ{;`gtC2Pzd`RT$KN&ip#Jp+M3{$%Lmz zQ8THA+a}<}CY&Xkkej>-kw}{md2o43$~bb-)QV$_$J~a!j{q|wz>IeAn|_(!^n>5@ z%lxJv{H7oLrXT#KAN-~t*wYVw(+_^r4}Q}Re$x+r(~m#a&-l$TJogBmdxUt!)PYJ= zjv$SC=o%F-Fuy2tBv87!8{Xr0wv?nzqLuSQ^8b!qxYd;6Wu z@fD?|?S3H;*6S%v#b`44M0*J}7ZZe^XCD%jJl^1|7oS!Cx%%q}*50PLpYR3YNI((^ zUs?gS0$*BzFRj3r)=Bshp>rz2iI7w&P`f_+tDUny`c0(?PiF84mv0AFfke5nDx z)Bs;`G<`yxs+tDK?l-PofSg5P6On9sP{u)23TDlT0w1qK;tky!4SA`n; zf0!dQ$)*tx=W7gw8hlMfZNwyzft76%0Y&eC-B@{1osT1Qk-*-y~-cw^)lqF3?H3aq}4n0K$HUZuJHh`PW2NqIMNj;T%f)eJ!rg?!3ULMI=3{k!qqI@w#`C^Fj zz(K_P&&N&exTzf&LvR;hsz5a#*wfA2x|9L11hY#pOOG7RiS!fcFjD1@%Q6}+YX{Ix zM9@t{AibrFCb}j~^w2~PCzB;m0XDF2wHj&<%4p(SEx|`H;Nwu?b^2&T8dQ*|46sZF z1jjH>SD75>UJ?oEDvN{kEN*b;&s~AnDK>gF=4FpH!J9F^nHaLf5WyqU7SZF4;uR{>lQ2ckvFPFfwal%V31zF2S9 ztuQ*Zdi%y;P$~M`!uDdDEoc^Wy4bSVnGcjMO_+=91q&ib2W@KXw1iuOZa3Wi^*Cz1 z6+7x7fA@U&V;|{7JF|=bedG6U)Y=ReA5t51rDzbMei^kd!PAtPU3J>>+LYlJ+2udV z9Lu1nDen(*q;Bg;c$-a#<_Sa>04pObXyfdd42>@Qa(~Hm%FXDT>=*;Ow zuA~>95iia}FFJF2(QDF+&YWI!=Jd*)Ilbu2>BTvA9%-m?W-6lm01mP3OxM(7L-8XA zQc)wr$&GnQ%wYsdt$)~ddvOPT+@MrpKjg+lkFCgp9tsO<3%U{&DKJP z7E4uWG3xFtE3Gj{9eRhZNN3ehYwzLss*-40J8xx5J+9Uke?EKv%P(h7etw?ECF~Uc z0YlVVvLCoh*MyA>MwGVxJi8S(f}zWt_h zIn!}!@TJMrL%Fy_P$jrhI6S^Gu^wP?{yJ4wAoyh~B0M;CXxU47)?lh|v19qZG1Zzl ziqHQgR`a+Ku{ztZzf@tagi(75kU_Q(66^s*dO)3Y!gv8w2N#+T0}e}Y9I%|^FSBsE zrxo+`zBXLjh^linqGX|#68Pnwde~}O6)YHKoxLNsAJ{^f{AkOI0#O4Y|U188)k*gMU@qgqTeaGa?ec?IE)OUG3w^C}qV9{nkXOqV6_zxBYkPvGXm4qDOa7f9+Tk^AJKa*cRCT zegfd%FpxwTfFzLt7tcUwpi=Nu$dVc;W?=uzz;c&?{VxOiUk3KS4D5dyWFTf({~#l- zJkHOSg8~x7BmP>*hNEVlu1?R*8`3JFdDPDyYYaGLY? z%eGEAGmlqZR`BQ3@Zr3~|Hp4n7n(x+_3bysHO!|`rMUe(>SL74`%#YlD3|x69Q#p@ z{V2zNlw&{2u^;8wk81V0{1%T~0Z~Q81K=TEE%_wsAv{ROOck9fRg)S(*V06- zH1RVecVPcT;DVg^At!wpVehl!MxIJkl!N9;5H;nbq8|8RN-;@ym*v@`c-Un~^%v84 z5&k;QV&u=Zc=QTO0Ri~a**|AA+a~-a$@w~bXp;Diu=Z2iwRS3hYXO2-fFKqihy@5@ z0fJb7AQm8q1qfmRf>?kc79fZP2x5U^Xh98K3u@?E$E0%Z`^M5a0!Oa4DcxB31*)kLGX)2 zi<@Z)HcwiU?KH8SPmndMjEj6_SRhIcECV5zLF6lg$VWx~${_NULF6lg$X5oDuM8qz z8ALvG$>7b{%OLWVvEB6G@079KBt>pM=v$Ton(=R{s@#Gr+4f1PBdxZB+4uRoz}MuZ zo;ACEKG8t<$Jq^zc{UI0xJJ|a-&~2uh>GW7C;bxaq%Cmg{g$|l0ccAiryf@#rSpo? z98{Tux^vJ53F0Ez&MO-WoP;M%iMnh^yZRZ3_s2*Q{8tPne&_)BFv>9IWAtDQVC=%U z8RI^TCow*OaSr2E3~FDfhornl`lvEgnVW0OLERFB)Gpx4fTRy{)m_pJ=)%foK*Y}d zaAhCAp=R*A@w-3>%+#1Fj8*KaP#M%3v+nSJ9og)!^j2)F7|p)ca&yb?s0X=4yX0eQ z)_iQqeZM=@Fq}#a)oMLfOW5HkamIQ=%U5aNoT05${fb&A_MPhKIn}r4Z+EUlmpc(X zf3kn9+nxEo&Y{E4>T_GRe6inR6W4rjdEYYwAIZM(473>tkZ40H+$4Ta*ztyH24+$4 z2H2xiH!@kjNdbEl#W9gRs-61D&S(8(wYX9|>v=E&4slM&L_vCyi~w37f@}mJn48%7 zTeO_?F`EHFh7jDa`K$1lxho0PJL}^F(Asv`0y=@{c zlpuelMf#S`t_vpy8(>qy0^qmXz0VP~TYy+70A?=sW~{|<7@M8c|K{Qsue@NI=LC(; z=wWTFy~b$ic&H%&%|$8dN>?Y7t7EMz(Sr5cQ!W~)6?m47scr;+Du8^mf~vO|fKC#g zp~@20ErJOu<3hRUGE^l&hyuVOp^4Qvb#_ESE8=WkT-|sB4u~tSgiQYVBluz9xgx3v zYo`v0R)2k}Z~e!Aow9fzUz3Z^N^8jM!bnY9OPci%{CmUs+wF*lsMA1kbe>m1u<~_+o0sg~c# ztUFXQ#m%f;C|xlnB7VwS;qf)ZZN~1Tt094w(NnHyHVk@KFS%!dMycw#rGe4jZ*zFI zIq%v{&|b?WYd0mH$zgdj#km>k?^B@MJ=3W1Q?AP!%Bj_P$jJ(w=DpgVz{4_%Of?GS zZOXCj{D)f;QA3DsG>}hS~uN6`qshj$GQ`}(P&4cVbfpjE?yd6=8W1i zjT&{Zy9B3+J#108)@=UBO07+&w`n_3a54};8^q4mvh`^pQ5J;Bby0BjGVOPAMbPti z?h>>H<(^k|?D*#1vCj&lpA^*8OI^(V^x|vTe_Q!tzfuh+2ZbXDRpMeH{I%@iZwM%G zhr)J(ko~l<^;6j&U3?+?8j@Y<&V%BQgki>CKMr5pvyg3y6uX4laXOaqzoc(#p>J!! zDYQ6`w9vP;(6=dcTMK<#3w>J)eOn8CTMK<#3w>J)5myUlp@qJ!mG$jwd)fy(Ocm&1uX7G8FZ317h0%+uh-Dlg_iEi%F337S3cQWkoNm)3&l{OC2Y5s zIDm$I{RU5JaFYCodi<=19E|w|au2z;P6@(?vS0W}(foqi;dH_LBEctC2!(`ukdvrL zlmK_YaQ21ZvY<*!{RBTMtp2mMBhAe>w`6~D@#XCIC&chE@vFjSr$!4@1P^Ao$b14j z!40Ivm&{)iUe$V9{Q60|(MS_e;Buat7Mf_0wg=0Jh0pIo&_=bhwL9WtQ%4^?J3D(b zMUc@4=U`i~C)t?#S=iEhV9v#G~t^x5uk~{q=^tsgrq&0twkr97C-sr z*0fkWJ8Lf7J59Nw_s{;y|M81cmMp@)z?Q-H<-q^@_Qg3_Lz^P0!eW|6g@~a@x$U!{> z%SCwzUJpr!t~`?eO4UuV=d;F%XNWwrMe)MG)VQOb14{qnfhj}cXwLA?PiZu*={z+cXw+)4X(W3Mukxb|5pbFyk~@ z$j+wJYLr^_p~RMiNm~+_iR7q+L&YG~0bLG<3-vl9X|fb*3^07k7!oZv6;h2NSvsFw zh$>I4x;k%UI(su!)?pGoRoYRuPaTMIalHC)N5{RL9e201>?sSETPy~b&)46QMn%;7 zyE|@cZr&LWCoL9}-Rte|KswlmHdJmbFJD%am~XdRwFZ5-AiT6J-k<1yt|yhTTJ*)q zsp43&7cwZY>vVg)J(-HFnauwB)qg%P@R5a?#U78-ucYcQCyxeIhUO;J2Fl*x=H);+rrCPudItoF`M#X~~soZ?})ryj(3 z7_4V2SkP7;o%ta2$OoZEJ_tSXLFkbWvgphQ5rx^yY9&%3%wA^I)aD?)1mS^r7>}Ac z56dXt&rIbs8^oUo!g7$vy(^V_*H%3JJ$O2bHEIBOFk%=PjD;8!9$JsL*V8A)qm~0+ zjz{gvJ%G|zAIT|+6DRdcFnmaX$D`19N69eehhc0K^6w}NW1}#PjY3==g<)(I&l`nd zY!rsEQ5eQXVHg|5;Xev*E>M#p%heXu5#|hK#kzM_X(xMe_EGs=Ro}_}-K--yIEhN} zO7^SZFI1O@_{-A@h+ZLJ)p2HFza7^QL&@X7n7e^TbUlG9HL@l6KEU@;uecU)B`T@G z%Tpb}^by>0D{i?R@a<%dme^2!jb_eveukl*%HL0I?a#K&IwD+rCMOQ&J@BWgt8sDT zY-7Zms;Moc3}5Ixl4|iBQhY#BjlGvE>A)(E{hqph4)8!ejlA!+D$bnYit^C4SIU_K zM7hT5IkS%_#5b5+!h6GwDjq|04OORT=W%FLQuyM0e(uAp91>!3K+|$m6v1)~55aOA55c(@ z9>5g8GblabJj%B5XPt+gO@6lrV$L>*(sagzpqP$CKo2*Gp#qYB}BdoXzmhR9u#T~KPf zpwxCjsqKOy+Xd%n7tC{AaE^AtIobv1XcwHLU2u+e!8zImWw8s+(JnYgyU00e#vjc8 z5X}we@%ds3k?F*XB#3FUYjNnT#l%`@vTJeET4=JYAHgU-4jSEHG+^{%kcunf3!nh8 zWL-{^?Kn-gV@lSQl-R}iT#IETb}^LL#ZY1wLy27sC3Z15#bPM2i=o6Wh7!9NO6+1N zv5WD@#ZY4DbEXxG@i}oap_eULpp;qw6Ip_JY$(xp@D%!|SX);cpQ&+0v&n$|B0jUj zYBgx4Fq;UIc}Fp#LYxM>U2Dz0Fav9fx}&5hw4imq%V;wjG|kOZ*-Iw)MPgH0W7J!# zYAVb{p|8%wjKb|Gnw`uCKcaZAuyq{q-+C-8;Ub#QpcE`Y5n$yoAhz2NV7DK@Za;wC zegM1u0Ct;VF&>b5)p+ps2vbTcfdS<};c||`!$9F-8HI=Olwmw&7*83-Q-*=U!$9F- zpzttIco--=3=|#)3J(K?hk+`?K;dDa@UV=+`5!_kOiAMOAxNa*5JTa^K;gqc;ln`T z!+7B^!_){q=fgQnT}7C>ieu^?8B_P*&+m~jbq_Fg4={BPFm(?wbq_Fg4={BPFm(?w zbq_Fg4={BPFm(^Z)Db*z569H$T=v%wlU2v2aq0{IIrpeOox{KGI#B}U076EQ`Lp5) z;q(7L=g{XB_vHBeqY}iq_LDhUnBdyusOF;vZPL+{hJACkc{uD*pu)r87SynW;9CJx zmpg*VMn%`-xE{wGRTO#vW#Hv2Hpi z6_Yh_-V7^BASFCT=gm=^GN?y@QwGh8plT8n$9co6bsF$mobmAj3F3{3sZj+LVzp`$ofj^bE3DoaKWFW`*HhzoHzS%-t5PDvmfWpew;V^ao+4_ z=M6ak_Ve>57MEM}aYs?k+2kefR4js@=yfC;WuL`rwV3=CYl+WYS6G;F+j2I&COd+` z!Zv%*EdJx%pFG-s2}L5I!ug?4R~c(Bs6|3h$-0KZmI!NlA_x};uh-!t(FN1NP)A8b zrpG~0LkFV&AVnYss;17b}4}#zi$^?HeKF+=PIQQb?+>4KcGDJ{?Lihp?<_P|> zC=4%g055R>Nm*J>6U%AhJn}HqEXdi5Lw7`G4Q}sk=Nixn6z!4pZe9y`gBb=2E?1 z{EN9~0-Bf|rC|yZ@9bLsz3W5y65Z>lPWluwLv=|E& zrR@7H#QP|5i>?}6snsdL2EbI%h+u9^;lx;pdFsYYgvmt-4)X*!4rg#rM!H9~shPgl9p7XF-H#L4;>Pgl9p7XF-H#84;erS3Apz zkQvpJ08io2Ms$kc|8f@aN+!!B?kmFXe&tK02 zJ*3j>%_YcGGiiMG5E9tb6ppRb+I8OLiR6-Cwb5@46d9@4uU4&d8_O(egW72}qBN4$ zq_TuuuKKcp=E|H!UfDMHWUu{iqtAs;*<`e-(KcG^OxRPIaIn_o6t$V4)~Ht7%_#bW zq)}_oAe3|z6cn|l@uJdcHV3U2S6v_Okn;g)KaYf7iZ40I{JCbF)%BnNUVXa+cv=EH zH3OFufT@ND!MuhCbfTL2D9Tn+H)mF^(hVFcrOHg=L}kJR6(>acBK72*Gp~!PbAE%M zHtQOUjpg$*(b}qXQ|e!-yupzH&?do@Dm<$wstU2~^TP z58-b3OPd7Y9--ytj7C7cs8WMfn>p5iv`JJPdU4?5jtQIE?8YmxdK;?|htUH6hYtsP zg6*OYyCv7`Ay}@TOt759MR3st45sByTT26}x!@IZ;5rcxPE(QN>$AUQ`AU6X{Q0bJ z5|6iG@e@UeZ|*{l*;$-$R9h(u5o{diqZ(Qt(H&Jql6QAQ}h}qL4@MbLHATbB1a&3JLn{^+&cW|A&vB&X-<3RZ15dV)u zj6crAe@Y#oe!j#o_X6GvmU<%hV0zetm?fhx!4Cm`NP-^${0Q!TB6l}^j8EoN2`R7A zlT)#!Qdbi?w^VXyVqzlE64ZmwepsR8HGdC7?msNc{fBXmABNn27;^t%$o+>Q_aBDb ze;AZ~7;^t%$o+>Q_aBDbe;9KAWX^qsq)lEOj~(C>XE^>zmOBsrXW9Z)Abh8*lf6Kd zQ()Pv5@Kk=%7i&+1(yeotNHVrp>5QW4IoaH&+)^Jg#1NS=`;?ai<;`V)8|{kVlVIO zs2{6MZ%R~ds|f0>YNbK%G6!t7LetuG-0k=GH>VMFet+lKcUBr)23Im<4H!L?k!;a= zn|)&E=C5vbWunQ^bj3g-u_P1+GTAZ-@#bia!%<*Fg0kC@{ilk})hLkasw#*sj>cA& z#TSPrarJx&qyPKsfxjAFPT}UAwFp9YTWq%KXlh4Af!?B4=?yk>5TDRIIPkTd{m-vm z`*e2(HPM|dod%cDQ&D6Km^>P@Hek{hwE4xGMqb+)Zm>CA4u>;Sk~-AVa;%}}o`!;w zwN+J{Q=(R-))p0|2P?AQt{%>0MykyS))X`jt7Tpx_p>4{vk2I6Qt??~!8yg}fVt0O zd=7Ye7qIs(PL0ol8lML>J`ZYq9@O|eBaG*Pf1`{dO^Uk|qm0g;#~Zo4Pmz7kv)S{| z4`iq&2QA6H=Po?wj7)=PK!ayMgH&no3~2DoB{WEnzX6}?22j=gxd)75_VYQa+CmEY zmI(!Y6+5;_sg{cd5-f`~TkywE$;$I75YZ`_h)#isPJxI{frw6lh)!XdPJxI{frw6l zh)#isPJxI{frw6VB4XG&mC8)H_Y*SGWy&%s%5t`J8%xw+Pn(CE>`k*TZs*sH-Ol3Bo?*`_|N&Bk-bHR!ZxMr`EfcF62!|r?ub~ru$<}u71qbU8mAp3F6z8*L7=uL{$tXJH{ z{?J{Ry#qJjaft?y{~SR%MLIDU_a|2mK^RGalzll{3w0*y_s z4i!*vMBoAN7vVP}6)h?YC|{fAg!rX9RZvjvD_%Bl-tyvbdroI4ol1( z=!{0Y0v!vE{QcO{$2(%RHk-vCC|uhTsdc*|Hgk4sayXf6fk8x!Ny>)IV5V7 zN}alJe&IB{{|_HZkJi_Zrc_!L3IS~R(k3yzEh_jO!uztXy$>}ks5bYA_(fse8k<=Z z1F?eklG47ih9eCP8+^|C;^KvoknmI}5LjBFQKH0>F+CUvg-9_F#g1EATaR`K;Oh(@ zwO@pNa!7Gpuo53Xrx?Sat>R)3bz>r7ip-Wr*f#31g?f&&V|c=tjI(3F*)ibk7;ttB zI6DTM9Rtpe;R$2F*)ibk7;ttBI6DTM#a{wXUB&RW49_eBueRZ@P%%GJM#mJZ7*r%d zbiZ6SksC#+QO|nm9sJduc+O7x4!CnS;N5_a0Osy^;3z~j92lgZWH8-`TN?3a*OMT} zzT9!l-i}$8QvzfGGF_=6Chrl^(p(hr1R7UJN)6 zj2>iMaT8{!u>2ri9R@rMG#kympJs2y?9G_H6SITtsWkflW*;DKx*eEGMa+=Hhv@*O z1Gu>nbKBX?+c7(Y*`WzNcTQ1JIm6Nfs*lbkN-mvY!2;pabB&*G9hgD+0@%8rgH0}> z?}kn8UfADAD_zB0qFU^q0{cgu4G1O=kPjG-+-6n6uQH zsCI>flCA0D1s00|JtN!<=bunMAlQdsr@FZL0QU!U!qX}MC>OLM!c7kAE( z($)9Q@%Fw^Is-z-{%3!i+y5;y-~W@-?f)+9KMCJ|3S6k?e83`1*#>&fQDJ{B7BFw5 z;M`+Ce7e+Cg(wUtqMBCbBU_Ft$xnN z`TCGxeq{k(J>#`eJ~2&6isq|YnyJc7?47{^3Bo}31x>5^JBmKR%X|Iu7*sE+DWK&b zf=gl$HN02^W?86#q%1Wb)C2Hi%)@BF=*3u%u^ZzE#z~Ab7|&t6gkj1x$h@pmZy#+( zA2**RAgdR%6N|d?8e}t>0cJ9TY$h`R*9|a}Q3+@R%wz_b$qX=)8DJ(ez)WU za80}mYtBZHk2ZvTdG^;G(`iGMdZV$(Q?a3R*`V5>)W$l3$l`HCEf$-}sB;)}`6z>W z=T0JmZ(e*n`z>X1YlFMe<0&z^3=Vg*r^;m((7Y?;bR|9ZVpO8MltLJdWS1};NP}aBVb$nbh-={$Rxdx>n5OPRzJpjykVNIG&1p*i?2v)w@UHy4AxHKK;^WU<&(M^T-I_#N;yF52dZK(zTWPKyzhie z?}U=)geA-g1Dq304xC8saiS)M6Iy{2etIWrI6BefzzNI;(S8lU4=_YnNyt4KW*}`b{D0e%+rz(_`5sEW$FM`v zrlx39QX0keV&S) z6)KNaRJw`;XMH%lC=%(3Mq7M-G~zR>)OxkvYc^SnR}?R;%GgylyFF8u+Btvz4XF23 zTf3<=2=!mDQo4Op33PWjHAdwZvnOAKwWE2gG7vQwv^t|P5(xJt5^E9_>ra9h#e3Lp3`BwQ8WTliv&VGHb2Jf(P% zvXBgj9iaWy;(C5N(zXV}T_;(fD)Ws@96dF@=;8TS9%IGY$b!E0I-4+=Hoh+v^obgHDx*|*a1x^P9AS+D(4KJJhKwQ#Y_!5quE7lNStpxRHNa(V zQswj9Yen!&(11wkmJbp??&Kkmysa!hOwNPAGzu$YW~6YGUcdm2SOLr7ko3-Zn5S?^ zf|G!$$u`|Dhpf^4Da_O7sl%1RA_>kNK@|B&{Z|mZj70u=@*-WLv$hEtYRJ+iL}9>1 zhhb_%StZ50MAg%A!IrC_i+b@*ZzhNwHUyP;oqA`b(QmPo`w-Aq0~R>2mw ziyB9Xowv0V5QSq38%L*Qp4~G>d$Q-se0CTyvD9DqX$3N>Zv&q_!*EZJ>urqB26NE- z9MqA67D*8JEB5>;?Eh2P|JwjRLzZ46B%5}Ix<*XNC`zyuw_0&4!4AOG^SB*w`~p`j z_`gc<3PsP;D?FNp!>yQaCDni(q0oD$sD?(}%4Xj7^eWJ4CP(!8T>7Lh+R3vg%ioz| z`S#3Orp_XxohJM-i>9hGX|y`4jCKMiwWnpA6e=d;q%nte_8e4{gRUAo&x1|I!C=qB zK)sepfW+ctOC`Z_q(8x=pwd;A#0f6KToJG{4p_!if@Mst11z&ig5^*vg6ChrklxF& znLmeuQ#$auc$aUwlPo{fn}T3&{Xs=%z_(!j7D%7B;nUZFR6z~X+e<+ze==ea2d2>o zl-HXOv`^$wFP@tj^1nG_b~_`v7jj1SocinPZ!4BT1Xwo?GmHVI6gu@6VY9ja{r@5F zO#thv&U@dz_Zcj48{Y-24V1sN6cU_7{Zi5NT5lY zq=|!(O55C~L(<&Fok+<|?rU#zo0s<9wt2a|F9CG&e&1SqZyjU#oFiK@^uEN4{nt9{ z>~qdu-?YBAZPs~*@>&7VS5OZymHTGr+fe0&Z#U)*D5vk8N`Dp*-aw^f zW=Fypw(|J5G8OZ|_sIIg!b2vKr+}-jm)-9)PG zCMVT)_?t+o?PmLfbrqMbZkTSP82^o7tAVS6-&e{AP5^dYdTXR(O;|^ZbhPLN#4HvN za>SqL1E=oRXj;*oVw>x#T>c3v88kUPH8noJEGdEqA$F4TC;Frkm%q-*;!LB+)?1%J>;TCY@{ga zC=_+np{S!!)KMtvC=_)RiaN@q9fhKfLQzMdsH0HSQ7Gyt6m=AeItoP{g`$o^QAZt$ z8vZ6iQIFam%z=dnmJ=>T4eean-p8Se1$M`Np%>1Qb}6b)I{LyomPyAlO;MYmsHvKw z+?eg*qguzD;==tF!ya{I{%FidGR!|QTr$I8(aoS(WhZD^hd<)pPrbD3$9d<7-cwgd zz$aXK9c>AC9ES($<4E)NXVHMB+aauLAG!zA(n={OM9aZoxAhIOoxj#XM_Z$oC!)G~WyHKxYM zRPeNY-0d-JWvL&Gne>icP%7ls^&CT!!=_!eW;kpW$lg^z%Jo6J!&Q=!`cVgYwX2LU zOAB-2|D5_!x2XD2{g@#R>a&qz%7ZZFL5C?1^2-lmNFBtGI*1{45JT!9OnDHdJP1!6 z6gLn|c@U;N2vZ(}DG$Pw2Vu&C4pR<)6Jg53_6O_IGDlseys8#dctn;lXSIalz;Zod zJb0gU+!xldPdfI6bqrZ&1IBu|R5FU3LQ?WH7CFaqM=1VOHP)KQ^U`o7pWYfX?z~o| zr>vV~Q_1=}geRr8(?vBw20bg3=OxialU?)`7k$k}iij^l#1|bR zz6cRtgorOf#1|prixBZei1;Ezd=VnP2oYa|h%Z9K7a`({5b;Hb_##An(IMjDZz4qe zw*A4nPSZOs5g!o(JQ7BLN2TLvSjSt^@m5&Jm!;#&VI9Y%T$ z3A@x00}mR#if@zY(J0?V4K~8?$Iw53p?`n{fE;shSUjo{_c@W<==e+>1){Oz@0YmE z2Hw`d+r&e!izM{(1tuDGd@S@i(h5(b>f`f{8*y2uld(H%B5#StP|YcnHOjs~WnU2+ zG><)`J;t*G#u6w&l1=*AjJ(HKq9`HFMI|;0Pd}h21{1kg{Im(=&r58O>{2=#?}Dw% zG-h0|5A3sX5FAu-LU$Mm>Z3}ygGNhiBsLQjtFB;)T5 z{jS<8dC>UL00vWlO%rWF2Nk<^<)OB-NCwX$P&|v=*DR7~vv8qi5ek-tjg>{=k}N`m zvWzd#zC}|}sec6c8=6IV#wpw>iz#&CJQj)yTo|SkhwM0e#dejY_n^Gx!LYY1m5!xa zjpia+bkLs!?~Q|SB+5dt4)B9auGBt6jp@KK*>cJ9XWIYdcvVS#sHsp1Y?8g!K1o5H zwyQeQM-(RE`))X2=QiiYr3F*7>Wd1y8)R>+dS0o|3RcW1tu4$>O-gIJqai$2EM`jb z{pTw}8Uk^i#N4F(=B&c9VSS~KkZO^HN9NZwM17lp(FBiwxBNMRzzek>G&j@5c8s9 z{OsVq(cO0Q?(sENS8txywyLD0qPDtvdw1)K($Y#w=5@7}v}I&u&1@}f%1F=k4c-&; zWJK9`3rv}|v7)l3tfXXB`?PzZrZ+u3{^K7n%n2<}xXW*Kb;h>k{phMu-M0U?4Pf?%6^~4RH#dU}~ z&D1jwW2wov%X*I7>a;UfovNTUqe~i|gHGuY>gQZf-A}4F5N_nw{T%$#Xi?CO9f>vg z?a?GE%e>vl3w~9_nC_y!n}n5aS9)IZlpQ@USO?fi&hmCUXSv2jlU+2=Mg$l0o`sib z5Tf8E;3YP`4SXB6LGKl#@1*xmdxYL5?#FknKTT}M_D(5!qiAlp9B4ZL%3a>H7Mmp| zC28|jEHQ;eS?|m+ThS!^(^{e0a&nzDCF{zB90koke`>U_(2vH|brlvgW_H}$o>7&V zS)K9qjJouiit4&M-aC;$J>QoQpe$>0L2&KU)245(FJD+wyRfWdMXe-Alfqm}+VQG} zs@v+u*Dea==j6_B4ck;1Ht6%C-+AO$2M>L4sP|jzOS{U;XO^_>ZQr$J+b+{*nIDiA zEegr}X6VADOQB~jNhFIhb!JK1c8(W_A%XD|jh*DRaN> ziqRYC-Dr>443-iK_u3tRd|($&ma`-S&vR;Ju7^*d76Gj4X^x z6Vhl23D5ri+539bNFFlTl4h< z^snR&8?G3wb%Y+Voe|p^ai2Xx(S>ys z;P(^DRIdz=7}Wuc-kz>h#E``Ra#Fsu1VGPw=R^_r-)`F4)VQLqZc*Ltf9R{et$OjS z!=0T6I>sktB_yN<^5^Hz&B_ZT`m_Csfk2|K_uYG=3G`BboOj(^!Znv$Jp7KbwE`k2)@AW#||F$<#)YGf5wGp0`JywhY?o>GT`A903vE~wT+VZrYc*FX{4B1!tHX1{87ijd8f!%4_K`kb z^B#8xe%Sqa-}guGd_Rbf9NB1@iq=&P0}u6xVxuyRYc@aty7y6kIADvWPh2JQ>tUi78>Tvubg>pW~uUHquV*?XsPgL13OP(2>E+WM8JCdj(6Pd!CJ*6dUO;Aswci z_hjgqV^<`Wgo7KLKkHYKm2K#bQJKBKtr695=)m<(9&;BO@coQjl1}FCz5zBv;?-V* z;=e{UcSUsg)r?JX(L5JzvXM^ZRC6~TvrEpt?&qc1cIL@!W~hsq>tf~v>r^E;>;@+w zRx@hVsLX>|7iLe ze`PDuslTnaG?aUgMT9ytBFCI=QHEZLzwjLoURQAx6Wb=S<0N|?C|O*IjMe|bH%3^K z>cT`)_CR|fJ)EIMPOv%+Tn;}{3f0~&k!0ZZHo1@apA+ipI;aHf@t9ViXmW0DO=8OU zv?OnwFFmn5t){4T|D^W2tE)@n{dgCvtt{l6KR({vYgVsmY1!V^eXyybI4dV-e*4lF z7VXKOMAc+7C%18T`|_`G#t^b~!|$%EUt3qVu(Y+(YbB?cW=2~;*G{UeGR^GF%r+@Iys&0|$%Mk}iiS1yIle@n z6%beC2lW}jpcNmio06WMQr=X(xxINuOUrHfHF*?y_W0rh$(8f-E6aQ}^`1DtFVW8- zU1^!)vWqGxpio;f?d<%*_WVbGb2PgvTh8a=5fsRmPW2`Pa(Zftn*D)*$LC8;uH4v~ z%SIUoc#+quXliHRJEV87q{jST8~p?5&UjqPw(Q=nsA|ZgJ|-PM&i&2J5Y`eDVuHLq7b_5=Icov2Yp13BmXm56?3FLt76&typNCG z&vm~9Tu0T^|M5uL^H4P7AhhvQOZ0(DkxP+=_J10g0-gwcGfd9@7vsyXX!@~*MjUO669WY))KkU%@!OtIJb%)F z29MY?pI&wHtH|eYg~ojv)k&D$zKHm-?^{O(*iH;8>K-8MB%n&3$bp0b+*iT{kHAi+ zK;q9oWjq4obV)wP0z6#{@N_L;=mPcsHT-uwt&et^_5$rK+B>xG(%z^2oc3!PsYau4 z6MY`|4So~O18?UWbtrkU-2RC$JHNipbKZ8o$n*e?Kp;;SGB71tF_zVyb*0;3>&wZ%V$qj!mCVX13i`53N=j0aJ#i`i z%%sGOG#Z95_s#%PHgUOuzA=*sbwwX^U*i<~mEU z@J<&!X(MH+nn7{IX2McZmh2*`{qst^;dC(mRB=Zp^qB-rCPANqQ^8W*Sg@n2)9900 z;L;~cz!O}zaNRNpA7q1S+yYX1QKva(V)HztJXGeEu;(tfs(@)S}^8@GTvlKIy#XtMmhpPxfTzYmXJQ;?65b5PTZ_y*gFX#S>o zX25s@yH#g8ZowdxJ=lJZINoh+QRd7v47fX#0VmmycPJu~%t(#mTvTVjqn}_6{i;5u zSl58m*jdfp0rhNx%;bn#5#^4!-wk#|x#0U4BiDUg_i01#4OG+{7>(34O8mTTzQTgb}LdkiXnR?+rK47hH` zfa}J9>vjydZVb3?47hF#xNZ!%ZVb3?47hF#xNg*GHwIic23$7=T(>gd9^><#;M+gJ zFMSq#0W8-SxJorz!7qVd5@n>e52+|fl}vHHiwoR!e%iHG?8vULcu?~bHPpS=j- z<1)u(rRGg3E}EQE-d*9Gk(ocEl=3X4^D4^ItFyBwmfhJ^(^ZmIU{)_`?lQj}BZJ+D zUFQ8^?cCDRsYM;8l~3I8tirk_we|s-oTEhjmWrN=S(WpusutB*R`aIj!t%!6R%`GV zH`gLl{ut$(Tx!ek?-+kFtP~Hp56)-h2%km3HvStRiMfiW;(JciY>0@71f%VW0xafR`iQaDAt zq*1+#nq4&6MGI`i@q$pKBX|Y>Czsxvh2EPry{AL(vlPAW!n6@1hfqvLJFZE=372Wm zwP43hxgM+)7&IP(TQTF)%LlQ!4?l4x2t;!eF8g#bL71Q2FLHf~@ia!kW3m$(uQF8? zowF^f;-D6)(}N}B#6g)Zn&P4^8|kBK9go;CXtCd=?jdO|XO2IlR_Rg)NWyk>%~+j- z5KT6FB7`1(qTvA11ajSQagL^U?8US{vKS71FE4922hfLmZnAiG_J6bwXb(Q+e>HY$ zAJC%^iTHpXwS7QqU9`bP+g$XZjr0!YFI*DbAOd!S7O<~CdYmW^={*jap1VvN6Ss?V z)@PVu{An>XM%%s8^oh%2{|&iOdOmf6+GodLrL!L@b@1OZeqhcVz%YrYV5@DBd`3y? z1Uf!r`%xTJ;`U8;(JU9ubJ1!WU74yZY0G~hE>))x`2^#f650fQkq9W9BW1=NhpFI9 zxF{2YL~ssRu1>t9;1c>Gl_a0Qm=?yga1X%~!E$1Q;Mhu%%Sfjrx!@k|(8C?>1@8gx z5gw0T-~yv)1ck^y+10|X(WzU0%T3TjX~PsWe?`1cQPbu=EV=2r2!E8UeZ6ZbTKEV~ zn&))|?R1Cl<}1GQQ-ML3(w^^Bfw4vFd3Wd-9658r^i0Nhs=SQ{2}o z#@5$H9PM6qp>H2R6uZ&Te*VxgwvEPSCELphZx%#0HUzK@0@wyI2!2r{buyc?viSvR zs=|GobHhth88%hq-lx`Z9{)*M#=e42jp^&s!v8?mAHdi3+5llp@i>!hJ-@@&^X-GUwI z)CumsOp8sEexfTfGn#HR|8nfblJB2~(Rv@8zsbT#a%K*Np7gFnpB*;7U>+Wzv_uf0 zBh)Y%v>GJY6D>#(szZK{jvvviUZPmy0C}`=v<}(=+8Ww+S|9B+?FHIfw0CHUxDM{% zI$06wHXB_sRzo{FF+hdJTwpuw!z89g_>}m|S4T z7_l zAeUB4n@pQe;}@`ZlE~gkB6}x^?42aCcan&kBvI|1Eaj7Lg$Hhhxdb~QL*b!8C+R=U z7`Z;i^)bc@)~-LK@ra{XbZsA!6rz^clKq*QQ3-ePtckiCl9XDSe69Lhsnw}*tv9k! zVtsF9TOMZS`0S`vx{BMExxOB9=4Z&0a;M5_RHuas@krxfkqI=n%Z&vQ*`Oh*}6H8ah_HhA0trqI{!g zf;ofZSUgf&M{U@(a=e|L2vZ^TzdSmpMHV`|Ztv^GYRoO(_*g?jU1DnLq=sos@Zr<`))9Zax9u57=iOPJr|nRm;rl}%f!GYW!nK~F)EmC;&QIJIc7 zC360gMR1Yn&GrY#G2CxFIe_$&1JgxH2Dpy14KfEcyM2pYwBJTl&tuXal)26($?$%4 zll_PsNg2)Nr3~g%PSq8h2bN?*!J>fWs+F%K8{ThZ^TEvgq!^P8?I0qmEU0;xDt+=V zlbKg%yjJAsoJBe%|4EAVscb2o38nL-^qy~POO7=z@+6smmG2=Jh_ZNdpXjdasi>Tp zmtUEfl;TYZ=4O~p4|JMOCl)QN(;)}uq6_mU-PhiJN2OU<$yu%`8R;`y8}6Obv9IIF zBfeimoSjgIH@P4wsUX>$R#BCZlr*lmXnsx2;;Qz>oN+0o**;HJX6A(a{N{}O8Tm!I ziD_va4Q5$SUET7ADJQ$TA8xLjoR*f-gmQSE+R7pS-!jKraR>e<$wo>*x7jvVK-pYH zbm-*WdKXP}(E=B3vyn~%ep2TJPgav0U=lq{riX$kMd%slb`F|o_u=PYq>d-=N6+fl zb?+kHFD08~#1gQSWf8oLAkS^~NC+d=Q^pY;s%pff7D_V4n;wxFB(+VqRBoH3zSUc{ zG(mQ#ggi%-sC}g&xnbwmRU>*-#vJ5DtXYoV6XU_;A3eYBGYx5txz($xJqd|P^OpLP z%PY!LI#E5-SJtg<6af>z`h}+YvXu1n=}l(g{My=;b)gT^>vKtZYu(;p7MI7xd4s`V zWnSyN+}1^s*aOO|2 zGk=2h{1LYXcGl~H@4YNBqFRHG?Yw5hrYXj9f+s}Q8e=`bzlx|zocVp%o!`@(m@M<_ zMSTl@#xlQmF{fLZ)2;BW;CsOL*mx&cVt}Q84_G;&$6Wk+qPw}ra?YQK;+7ukN&n$6 zt8S(5J>J{>5|jE6Csf@zKxw=9 z&xBSmp%qN7;2Lm^jr+iTU@ZWs9pmStvT4<{cG_H;ulJJC#v7X$+=OW`&;F2pzTMEr zv1oLcxp&JJ=G{623mGXs4xXQuvnpPc|BXrxyog4WYf}Kx!$Q^xv-bWbm2qW(1 zXB{KanZ^Hi0q@HndVze51@bYh)ngbL$5dGun3W&y#&|USH5_))I~DOU_Ly znw+0MKGn>~OYvKNUv743MooHI;q1bSQg23j+QiDzg>`i+>!&zr_6BLzSUD;fyJc~E#)oj0_q=%ta zZ5*wGwt%*Vww=~TJ576m_7?3Onz)%-xwb1-ox_ijyUKw%#}v|E z_q@wHyM=dlYu;G^lZyj%fRJD>ZXMwwgX_0U%V$!J*x;$M0!PXa%y5iFf)F_bupIprC7NqvmjWvadK8;c6Mb# zW_)_qwCo9)NoHa~LUBeW`B{}|=Jj%yvJnlB_azm-{Itt~=jlSUWjU6_lT&vH(Em}$L=K74{w>>t}xsm#V zuFR7Z$Eb7fXTZ<$InVMr8{m)^9S(UB4&e{YAuqxqFTx=&!XYohAuqxqFTx=&!XYoh zAuqxqFTx=&!XYmz4w3tQj{AO2IK&Q8A8Ek4t~+xbx~3*FOSXEh(naQm>x@rN9HAyE zy(VuSxk^P{UtIb}Q?FA+B}L#{^QRxvUtaXrFR#g5--Tg9O3;PP;sUG1L-B<7qUQhz#KZ0#X(g-|v9-cc7FAM$*_%k+s87zID z<@#Crz5@O&@Ne1pYv8Yi@hU9aY8!B2v2x_d-aPv-))P)0-mOE4ygZEW!rFIDo*M-_ z(##mP$f~=>c9?idYGLx#o{ho3jKFl)$;TfvH9yLVd_tyq!89m82uRYJA=N z(g3DjoU%O!5a>Y)eTcSGpcU6Bt+s$4Y5Mblk0oAIAjN`DF8Kz~hKzTn&V zHn;I1f}L;nsyq6#^uET3*BJ36kK#>7yS|BbFP76?LjzhNe=(O9`sws&l*{-w`nsf8NExfYGFE?Otp3Va{guIkWvu?nSpAi; z4l3hqWvu?nSpAjZq$q==%cwX~M#Ygbr{c&B-b7a%xxt%IairS*v6qae;lim(AUzEa zb;3hZ9!RhbqtV#0h-dTqY%P$MAdr@Dqa_HWB?zP?N+1c_Yf08mERXXXpRAa~ z`w0<3CqxMK^I$7gbQlH(jwYFrsa!88Av2G=>W?OV7JLg|;}*WAVCU1Gb4QC>e}NH_ zCwhXP_o^dgUS&r3LkpQ#5i+kLWL`zcyo!){6(RE~LgrP3%&Q2QR}nI=B3@oadcLZJ zjNJDP?)ye`v%nYO{MnmoGT3JPwWNkwFw9Z4=I*hy4y<-eWtA+iYvWVnZ$fe3gpz-Y{)^y?n*F{F`+Xbs`!?+NZP@SIiv7OL zpm!PcE^m+<{k_X-FAA%@sP+BTXU`58e-7J82|f{obB!v+c5}IdYzxcP&(+Ue1;>NM zpb(r0P6QW&9dEASX8N1${#J0SjoZQPHgd}7LM%OCtr~92> z`{&%_GWWR5y~W6S&tdxaV0!-0O#dEC{~k>L9!xKF2;YP0--GGjgX!Oc>EDCt--GGj zEf$R(hnHqlUlA~T|BG)H1mx2AQSfa5zU2k1evv~-()f9)Ty>n1B;xHg zD%3-%i$bFyYzE6uZk<&-3%WK$G($P=; zaw+ZAKHaQVCyv_1+Hb0h!IKqv@orX+rD@=s9dTtoxbY?!0TN4rACG;gb)=C!YkpDh zMCr|#Rgj`ic3%Zi=>4ZvOsTW~B-q)161Er{3_^wBos7Eu=6Zq*KRD$Am*lB3@=yt^kiM%iJ?vb3emuTqGw=;S@KVv;VqlX{8 z+2MrEZ~}j5PS^}5Y=#py!wH+=gw1fmW;kIp-(xeJuo+I+3@2=c6E-VOko(@veedSJ z4}$lB_u2RWSdJ2x{)1q-9^on#+n)eC0n38V(XUctKZTCC*fyT7cf&TCqb>G*r|aIe zjqXZwVj5Hq(F4Y5YsvuOWpNOg=&>vWdA35yAWNaW@R+RE)tcL4&26zXv{-Xnthp`L z+!kwYi#4~!n%iPwX|d+ESaVyfxh;s&V$E%_=C+(Q_YK}eueopVCak#w{OG-k14W}0 zDh0h43ND3$<>WiTmEcMn?+5P(S8=VZTO7JY~j4>4jJKku+3CJr+r{Gr9fVZ_8?-g6i+aTqai7%_1eF>#o0a2PRh7%_1e zF>x3%!KO7TUhb5|Ll`o7u&X|PjbHw8RyLRr9N+*ovU>Kem$ya zCxNRD^Et|_B|{C#P-L3jD`7x)+OHpgLMjyl9AIQEBWs}>!H%^mSVaFp`ZcvF3$+6V z=zsw_V1N!7phGc02ZJXvcp@KntNU?>+^-`yd&XseUBUpnw5CMlK$0Sg4uhINmkf*1 z26r>~Xu&?P&&G~&m;MC$6X?$cr-7v|r{GL*rj4&oQS0Z2HyMW&i#0J?|2Rx@u(M7U z?EIcX?&!nxI!6009^fg5#ZJLu{GnOw6u;*bEOrVOI|YlKg2hh3Vy9rSQ|kZE^WQgV zmuSLba^EK|)5Io?9+h`f-B&M13DdK_I;QsMaJg|G{p2QCp^^{xeCUj_Lr)o>G5l_iFk>6CaV!4Am^K1sivoG?Or^f9%D>dGTX@M;EJ zN#9o5e%cAzbF?qezC}yyC5Y;e0DnWXh=-CY__7|8lUdi;HLp+c6Z9HQzT!(RpFSvj z`k?01Y1k3V)K5Nrg++T>@lkY(mNW$Jy^x>3ke@Gj33v(eLK5ioT~5>MSe6g+IL|r! zbq@aG56xfa;IDJ=*E#s>9Q<_-{yGPLo#U&X<8J3rVdvnlbMV(W#b0vY3w+uI;jfWe zsoHfEYgU~TAjN`mgt3RQnW}5PvNEkSQaYVg)?GUC(8Jg*)#4Ig=J=dgQs_*QBd#kD z5jN8LPWyp>+xP?XALNt=UEy|Zr+yayL%r{i z$RoZPd0j7FG=3Hmk)Wf;=zk9UoHqGhL*u=M#(NEo_Zk}SHKp-hW6&!Ml1*Z{(NLAP zhlOh%)?723pZBZqkF()*bN#&X7+x^Gsvg+mHe!>8Z?Au@#xL=!UgB3tzw-;f3jR9% zU#DLJKi_sZ^KCejKQw2)4QIX$XTA+*z71!-4QIX$XTA+*zRk3~4QIX$XTA+*zO6V@ z?)xtHeRoWJyBYtHowujQFpTTQoUUku1ATt6~yayKG$Oz}%s<%}h>2a3b6pE$&NwW9wk#TGGD`q@|{|)zxoqZ{OK= z>&weI$<4!wY<{cf+4-fj%Sxx_RP)WuSzp*#x2(E)X7+^2#MG4by5d{v>Q>biH?FCz znVoBr*J&1XnI~K3O z{d~vn$&>GHtZPn83Z&&!u4>4s&(5w%uPZk>U#={_W>s?_EjXt;Gb3YC`Mlp=IqBif z&ik9n+tSj~amjz;(hn{(mo88{>=PhMrFpL`>Luc8ykw}R#n|v8SnGO=TFSd z8=sz(;_+JPnQ3js#hpc{9-+Gr|J3_M?>fljAchoix{IN^Rz(!KTo)_4t8vj>7v1Kf z6E1qmM*2Kg>JjJyKN3W*bNmYI8y6ULirS7rRnCIjJ;fC(%~(9(x5N6##^=}pNw*=KqPdi(AGo}+l>pVKa@2Nb=P)1%Q$7cF+tP8S`pkv^10 z(HnL@J2$7m&U3;r#qTbZicJ|FDa%;UC7&+|Di+S-ABJL;| z?jJn+3DC6AtBED&_x_XbSH}Hj^#BRWahQ7Iwwb}yw=wl?kby%+($`L(1RMx<0uBUE zrGKj3-v#axds}XnM;k}$pe>-uPU8%$&P5dScXDdc}rQ#YUf)=M9vLfWWq;r39 zA<5No6BUE+xhz#)yxc}!NnwPX-6l8-ED6>!ssLPI<1%m=_#XPp!R2aal*9d^3an%L<&dHIvL<%WK8wBuy-6%S?QwWL9Oxf~ua!JICeZ z+*;CIG5?wQ#~&^9Ck8uTU!PyIsIsCXy*Sg8Nb;JQOYQsAf~5GORLe|EDO}UkabImi zlbp?C1=AA~3sPs6b>>Z3m^rUvR>{)zBwtVc%JFD^%CML(qUO!~yu74*^58o5cFkXv zoR-#FIc)Gr5}%&Fg2s zPxtmyn#g&553g_H)8vc@!CSy`JdohKz;Zm0V8^5s?3$4yBLIY^O#==A6q}07G(EM( zD1kl8Vxj>^z&}I-x2#CE=_}ix90wtV{##^8>fJCRa>%aBS`kJLhphi?K4KGE=wD|Y z@0q{q!)4JDx2@m&uit!VJ+IafO~zu$^YE(KOyioXCcnZ(<6P8WBkfLZ5g~(sA%;|( z4i#LBd23U1Mns!GMe^swQs-ZFMR@@3{F}&Tcu!$vZFh2EQc_Obq^g?PMXl+P4CFHz zRVP9}efsIpKb$D9Fq5naW|HCk&3AtDp~n~a4)GpS;FS%=2m1VEiMmy^KT*+s4q>&r z#7L)$X1nM%7p-wouZ=Dl0myZe>m$65)0NA_K~feLeo`qNm0=w<(oqxEF;zOIhIP!4 zjv2b6k}ssW8z~I#yeuKKNL}{`5{FGFKjKf(xnHs}BFS+CRb0uJ|JZa|Y0(Zt9{l&* zw!*@;T$A!fGt1J-Qd0|)ax&t~w{n|vkFs2QICoaA$Bd6#b=AyAJ*#+=2-~Q2QA5jy zp%Pi+ycv4W$|AO@fC^P>jju_4syL1y5Q*yN89Lz!f>U^&q9p~VgVVL1UV)xofu3H0 zo?d~TUV)zOXI@v>#jR>wG~Pv1Y@}~?yD(NA!hMortQxMe1nQ^msYbd!WgDL}8;UoY#%WJV8b5!1{W;}`O37|Lm=ZVo8U7lE)Q(Qj7u0ce)wPohD zG9nBw&P~jX?-}W~GiIPc!%(0f|b zovi_Hz~k|IKlexQzH~64#&k(o(A-)tvgYl>Bi?DZU9g<8!jd=Y)I>!L;%wb%$d5D78KRZWdTF^xvzj5Rh1 zwMa*c-SK1gmJucvg2mZib~fq~D43PTKtp|GiHmA&gyxT7m-Z@t@kiN8HJh*Io#FOB zL&t~V9NDkj75XjneHE{|%{(G2GaV~8AgUXeJQ6}S5Yd{nYFayOE^Q@kD{VjR1noK6 z7iiz2*&B#6n2#B1F0u)Uo56!&gPf<`!Xs?KMR2Fx+fQ(r^SZ3@w(Q934u&FW_9Af(M5F zam%2eRs7HuV95cz(;k74y0**Xis;h75TUfDNHG*8d}7&fY@Z}XrFn2zzlE!nR@+pS zkR3!A`ICGJ+40w^$C;j;gVh-&3iSWgLNB zjKQ~u6<5%~#lhFS{l0&P0PZ%P9x$p{(@T`ETBmfXbxIr^k_jU-;h;tr-QuDRHX>jy zmFg5?S5D>w=5n`w?mJgi8rIbiYnUXd!8DnHdNL&_!Wl7_-dh-Pi`ba#rMQNGIBeQm z#B-x(B*iHvWaqk8!?yNP92>%3jTgk~K{p?$-B9aG2nN#=E;g=h%$-@T)(VLgi|dwT zR;L}UoPK=v?8DRk_ID=K*DtH9Yp{GcYp^dYGr1^jPUY-^TUI8ni_sVE`*&ZQb@w0L zx%oSHf2Vn4lPn|5+O>`Aa_Tdmshaip`~^?UD)M%AbnKoorK^5r{ck6iWMq^kJ6@TG zt$#K5{Q7TVaBW-0pZ?}Ip10ykFfhAtl-Tlnk}&F|FwUJO9n*A&nD_>oS#q8{Op+5u z6M(C7c$a8oCMK4Jo%XR|+BvhBVzLVN2io(kN!G<^3%Af;=d~Ak*(FL#ENag$m{Mf< zc-*FE)!d4et+{p8WhrqPrimS7aUNq@Noq&qrh1tUPrh?p<46CH5ah{*zBl+n=(|=@ zd|qc+T4`!Wb!JAt*=Ig%_DPG5toWjT8%quUh=* z%L0dS!-`0R9k^ufBCon`eric_N^bnzw*1+34NJ<)hN1oJ`WsglSFncCn)ofh9DL0x^ZgtAG2eK%-$=p2vTf!RGc~6nJGY}IHDOMDW=CCeqA%*h9Q-H5gsv2rDe{=#<&zqv%_=@lP~Diwf{>bmP|O#;wtfTcaDdMmNEW-J~IOlZMbu8bUYW zOx>g*bd!eAO&UTs4_fHE+of*@)!KbHK!ld%3yIB84kgRhj^LQ7I!2FDRHFV}*H|Cc zl#l-SfBk-Br;&$9hM@mn{I?@(P7?)Y#G*o_Bpf?b**UnmCrF;$#I|(XAHpV-=u%NL zR-g>$T9#x6)aaVvL$4?fPchrm)r)L!wd(B+#qc)vO{}oaMN`M#MTyj2PDxIikye>L zmk7w}eDSZC=G4wv57jr+`_c;HL%%HVF7hO$n<+IpIZe6U+bSz-J;Bm4ETrY2}*t3PiQm(=u>S-B-~!N9E6wnNh|g#PMf zrSd%gV*cenR`piJom{XaH$Q(#N5hihio(py%xN`wQiGAuMDP8|f4|pwRG+0hONrnB zX7V;ACvsd==AzqdB)K01CPB<{-NaRPp#<-9<;h4~_AwY+89ERtONGALa}Qxmgff(P zPcd1fs<5OIGmz!aqVlFo2u|HW_CeL#Yak`gA@DpBjUZ-PR$Nj-X-3Altdg$M(kVF& zH9lW#r%rS&Kcf}wt}Smqy}hY)$eSpWruT0MnO6SI|C_2^D3+67bT3#HKY01 zKlG-Rr#5Rx6ksMxmK;2XWNFW6ND}jrp-x7O=Z{f zfobVg>8ro8`rMlyDI0FSYWBPuAMiMHY{#{o9-!cNJiCmtQt@(?v+KqExmMca~ zq<5k%B-VmOSlrI_c1CV+M@p~W$c9qJfa8f*lz+n;<({vO1||GmWGmkK)))}OM?a6e z2+*{GA4Jp2L&m!|Mk~9oppb_(h3vK|WVcHp8bzXz@DZ9qge0Bb-B82b(1_#?3)T^_ zV?r6Rx===kMndyqTwja{wG4`a%AHbN+>txAq_ecNvxxm8uQ(oxW>;3sDW1lzi>p6$ zykNhMiY9;=ArQba)=|;rE~<6WS{v!O=dDcNPNr@<*X>NBVCcp6K$x<`FvB+7z0%j+2($;0BKFnRC%A4{O1sSdl863z}7x+s&0) z)OYdd@8;2Oy@wvT9U7!7SK+WUw@9YcBgu9fuwq zc|9aO^$;-KL()?Zp|U+BJ@t_EBo6Q%wo~QV1dSek2Bdqf)sQ~5E!kc{*={mB9HEo- zv@DXcBGG*ciX?2=W&Yr*b&x+`Sv9lQwq6x#Fm6IormT*xDFUCUC=6R*dH(0HtDZT} zEM{A(eMNUm#?^rYRRtOLYRHTv1LHiND;HR7=DtKtrgduVv;gv3JHVzuJbK68H9`UL zfW34~QnqlKi*j95;-Xt@q(h6K6`lUm$laKm$jc#i_QDf9ZD)qFp4BrZ!ALA?ZDCTO zydFAyx5haLOWZ5g*2v4C!T;G@o|Kk0wW(@tbMuy_<~ti378f^FB&VfKZ>(I?(z3O= z>CT46#f5J*+)e&YlUZIJALq>~EZQ+``o7xY>V(8#MtP)F(1+jbes%e@Q*-7VZLe%6 zeTL6!uj_t!*|gJh<{WFUp$o@L+Qho|i&E1Ib2ubzNnyv%rsgKIskM4_W8?bz@k{fO z7kX}pSed#z{pfKOmb{O>3vkrAeH(0rwg@!0ax>2B+uI zI%o@MGT<&aaWVH0YiEj`ixX!fd3DIsEm$vq`U!fvOO4ed>iLj*1WJ>82TAtQ*%h0v zxR(>VyO?_&bA`!V5him*n7l(ynnz28ok)e9j#Su*RM?4B*ojowiB#B$RM^RP*ojow ziB#B$RM?4B*ojowiBwQ(OfmQfOVWE{r$dR1(lP_03@1SH*2G6_uD!mB^M4T=d0GpG zBTQ2hty7b-!?fHTG{5VTn^~Gy(Ni(2a$Z%{qB_fJ-qc)J-q_n}eRwH0%KgzbsMZvU zhIEk_FNNMlu1M{8kt^qn3&Tp5fGazaT$Jget0hZ6tA9rpowbpcHbd1gl7yI&j7$kv z!QTxzNVtla<4%CMVAp7tRq{0#%A+WiVmubiQxJJo9oiEcbwmnkv!(%-9oK;8$*8Z56-C*^yV& z-3~1qb81uaNZC0ekEY-tK5pzCFm8jMW;paTL(x-!j@uMHCAlcmMN?cf)kPBLC-0y} zJd|+KrJ^Az)NeEpdFv4qDB|3EA_NPMq8y4QVCsg8LJqxn<5DMzSP6aa<0X>QRE4My zKYQciM)VQ$zd^;w?E(L;v2y^%jyLu(|FW;S&yJK^>!J-V+UBDBY^0;-&L9rXVD-Fw zMepyqBw!!ogCb(;F%k6UypBA(@xV2emUJ@|m-X)G#=|v@z0A3>0K1;C7f9IlVjoeH zvkuvCpK+H2hs0y@+uF^eq>-!vbd*TFijlx1w=G^#9k+>9Fe)iqs*4G7vhPNx96)w%~t^( za=3yN9dyt<8xerQG~6W{2+0Q1DeBad;0lKRfeVJdbW*}Ywi}-*tf98zJ)dREi8R*VU4X;=fj_NV?h&J zT!mqY472Q6FofKIIlF zhcb`5lvyrxR~|;0OQmCJSVy?~cPW&~9;tTY?B*Bkb|`Z@8Z-^P~mmH!bN#g@OuW9IMwA1Hz4+-FCQ zpR^GhFwp+vF71y*DoX)NpY3rPJ^6es@0ISq|FXV5!1V#ly+`@>N5E2BT<}ToNld>n z=ad-pv&KpnTpTvm({*)u$5vGgZi`sy-}UGJOr60;^;+}X070aV9V4fr?^3#?23@ih zBxmv6qT-j8_}+#1-i7$yh4|iu_}+z-?l&UR>p5-yc9Cs%J{7) zo~8&W9ttcL{g0=ZG{7pph++}~aes1Z0OFus- zn^sM0r_H6w7DEkGct-e1j@Y^4%s#s?!H|KoQuNBoFuh`@DKkQTZH;}F-(5DkWUNHj zuz#*~%|3p_K1bK=L)Yv>*X%>r>_gY=L)Yx%i|<3%>_gY=L)Yv>*X-kq?bEs@rgQej zSm9WEKklSUbsc$A)5_AcC(oKOHd-f!WAOrGtaxmjORcr;Fb-ME2ACc(#l_MZuD*Uf zuL{RVQ4v2$jM!mvy4?-dx9=T|n~Ywi{Vr7_rAzp{7e4QG_`DZB?}g8M;qzYjyca(2 zg(-XC^IrJ87e4QW&wJtXUiiEh7U_l0d*Sn5htG$2*ba${fS!I~+#e!LQii zF!~M{eFu!b14iEgqwj#xcfja7VDud@`VJU<2aLW0M&F?sJwn}m-&phae;KCMzLh&R z?CiZpmHq0Q!^6to`ke7C%N*b=xH#rRxO5ZfWrZkhVw?v_xb1_+3Pop$E}Cp3MfB$( z`tuIapNHtrL-gk%`tuO|d5HczM1LNlKM&ELhv?5k^yeY^^AP=c$mKjle;%Sg?-2d) zHxZ(L&ix7(oUb56|1zKYGN1Y~pZYSN`ZBbw*7je9=)a8C`!YoTWr+UEis)BB^p{+s zUm-NUB8A=ArJtJS;M5xTAhVH@CX6SdZ^;p0=%9U*{RV?y%hJ zu-xmg-0QI1>#*GGu-xmg-0M8A*I~KWVY$~~xz}O2*EP#2@At^v-a7JQxRd6_+Mcz# zuP^=kn#adkpBWn_zp?7WA!CeXfxVaOUrml_6PvgPj8jq|I9{EKrgGEU?7g=(RUcR! zqz=k=QG<(`U39yR$hUyk9uW_C66_+mAK006RbHlv%?Z}Q`WiRT-yln(mPr*Pp|?Vt zjZzzr5U@#Al(3p=4JDt~k&`6}zhqlY8qICEyC!#-zNFxkJ06=6UmU;vw(6ex(4W>N zpkxy}Lg2cf+{JMi{o_zl}Vr&A;1gn#axQ54QWw z@5VBOPQ@S?1=qSAVcz7?;^dqn8|ixty=Ei1qN90W#9#G1_f^d5xO!1UjZE zp`YfW5*JmvXt9l`5Wz(5mU+%4oKh+XkMyt-Sq2YPj7+93WVT%~(kk~m#U4ix12jp8 z`dl*>&Abq$NX>;CpH$y)MQuL#!%>(PJP-db9IviD;J- zK1{okXn0U+Hq%)~>U{%*po<@GjZ7B3ZV|4M0g7=nZ-N<$91PD3Ai85L8c&@XNRkw%FW8vGw)Mx`y9`YN7?clweUoa(eo-#>&-A&6}GR zKR+!eC#NPoJ~c4TmmCZx`=+E8CU%tNv5Psisd8O&^R}i%&rIviY|TupN-#fq#~0j^ z*OE8q^xTTIZ5>kzTQZ7j5)$LB%7malnBSI{&sh!KrKPhg%Gb3{y|1#YHcU1TyV3K- z7MscXmE8f7*%e z?n7;r6VuaDtD5F!P0Efhi67ilI=y&L;pD3Iu8spqK9ObN6y$Ww~y=@Mas?zePhJWr*ZH#&+Xoo#stjB3Z73Y&rFVV z@5iIjW~3^8-p13Jgov6XB5I^RKgMcKo|=(8hQa4zOuqI!HG*gIQ7-Wp(UPhaT|Gej z*6WHNkB=Qc!enZd=R9*+(c4A)hZWM=ZYbt#h-{9B;6x{nZFERc9&LVvSss#y=J{$g z7M_+s$rAF)%@waNty@)9)znr~y|OHWqXSE);$hbJ2AZ}FRvx18Z}(ho?V`sP6?Za1&3#?ers7YmjCFX&iKOQ z!a$<0rZ6QVqpP`oa(a4}-xthCOe)W7zMG|PAZ`u_>Bs+*~F)FU~4@i_8? z{DWL|QQvkK?Qqdi8^JLR+-19xDBIza9q`Ex;ghkSyO^sT{A6sWaPSXfWJT}zF`LT| zPsPNz%y;M)?tHI`eZEg#YrdUK^qW2RwsS7ZaY>%Bp87v?V^D^TP#Mb^KNC643a9$a-$AcEY5dz*)fv~7#Lv0w)9Aj#@b!aoH|EKLB2OMUY!Hx3tEEk*&8Nwp^plqnK+*jyRJ>0yCkCi`+1}ErEV^WN3LL9n>ThWWjaWnc zlj9TUaP-Io%R%Asv#eTc+S@wKtVt?~1C7)!q-y3w@v)e9Q93j(F|BQCa&dAy^}syM zds=g-DC!M*`G?yskZk2FsI1#uho{7{((AJI=?eMfrL#-Rrsq}XN&!-DFeTvidy2a8 z^m)AFYl0a`)Y1=n+t=3lzdnqMCG-kmC$r7Fc*!#-tu4*+md!1zURYhds5-$DNX$yi zn~?6wN#Hyq-|UR4jOtrTJbp^Lsrs%SPaqg9$g1AdnlmA*a$bcji|1BSZZ|GFxxt*{ z_p#|vI;&#tG@lo}Vpyh^v#|aj|L;-1^?72fr6Oww!Sc9?(HpvMfp!D8qC;9)CW`B~ z9V`c82|f!xYvZTX6t^ff@6K3+I<7Zyu06jTQAyY*$A02tC@C8{f3pa|G`*pxJR5yW zjAzV0!=cNBivRyS6WqfD_kgu;fY^ZVQGe@4G*v$$4vK8XX|`v7h_gRtrY%B*kU6SbR9jQtiPNA>pbj;EZw`=@ZyJ%y9* zDQw)QaMC@6c#(5KdW@$S+>g-FHuz=yzxz)yi4 zSD)a=>3`fk24Kj$XRmoTi74C@7F%#YIu7XAf;zTHOO^R{FFSJ{9ONXy8Ap|MR>!>^ zC-+hCDn4fwpD*=c9A}JRCyoDJ@ZF4&x>eHe#Gnd(i2jG@m;317fxsO`N+LF0M@mI` zjjW%Qb*>$Ec6|r=qZJE%B=VGENgygp%xrbyW-3`rRCmkMx<9HCu1Qeg=~>gV zCuAm>e1368CMUO!&z5}}(=!4In>9T9e#VvJ*aQC@s`fk%-`!)JF>3may~bfkq#xcn zZ0uFEznAGeD;q4G(9sU4hFQJ#gBBNv`>01jM@CMcwsv0oIggHlTpBrf(bqEkBOYZ{ z`N5iqDT+#uvSt(cd5`goaj%s6S*_HlY&*2Tm?BLDJI@Q_7J3X> zLK*SlY7VXB<*l^+v=g-FXkVaxi}uGfyI%VPEIc2;Wa~E`;cikX2;%`E!WvO)mOVL;kGPUC+U~fivL}YMn zR?vTybga@HUVV6x7Zcx09GRB_XI{RBS3*Ll#_NR)z3k_EIlRcr;YD5!FY+z6j0n7|UCC{6$4Fc!HHmE`$b+!DGzns#5er%yMl+a_AiMBZ8% z{I9-ve;#MxWi616qNEHnZ%N&>y$uZ$;u9+~IExON898YlD<##8wApeD167Pv|AT{l$#EWk!Iz2g0`H>oDTUhbzsNo3(j%qx9y;^ z{pMzoWYp?#SuxRNXcR@VO_%-|?1?G5GqPJb#!CdVV8y^UG_FpI%;D!MGKSyC1v~ywZM;Hox@ywYwPZ ziM}Tn7!mV~rYtxAF3NfHGBvZoce^X4d9v)87q%W>E*;Btho#r!7VB{l zau(}xi@_F)V~h1T(I>Q%v13C%uC*kV0yDbG;>w{%KyIcTZf2USFaVgow(vrd%B>UtZUCyc~F=-_=j)0gY5{_ZG~)ElzIt z7WQwquz$M+DX@k8+b!(hZejm+3wuyo*oD}_{_Pg_Z?~|2yM^5DE#xh1A-8)Ax!qfw z-0tCTBDvk$+%InN#kRXNYoBF5lrmwTi$2uRAw=8}wyA1+nTAHJl@V*hMx;tdY8WHf z2exz4q&&hRqebylzKeQoBtp%p$W}w3M>IFj^jKve9wqS|siJMZ4wa9bmX(o{;i;^O z%z;FIFfk|v+q~bm6N-~FQj+5Qe;Zo;!^p0kSus&`>GTqBoZl|n2I)eWigxh_ zl^7?@&kZ1$f>e+ZK+!}%|Q)z9|vJDa?)i9<<&xN z16YLJCa!Y&pS->syc<4v$i34eHc}LQoEMHe6nz|uJ`P16hkA}f(Z`|a<52W*DEc@Q zeH@BD4n-e_qK`w-$D!!sQ1o#q`nW^U!{0FQAr13+Ji9dV^`>ap|Hf8tpf(g zr1OyxD+|3y+5l%4-(I`QG}cZpjUVJ!$?H0J>5_2@e4M`Hh$_L4fge+5@|bHBGsY5d zW2AWoKR0ZEt!ruD49)aGMzlI`w%$^8;Le)g9-y#j5IHT{Y9e~8Qz5AWcSh;0WlW)7 zGfPD{j>EQ1hE8LmLM?XRC8Lv()0pgOO#GeTEnvBB$j* zf5y>UXV6<`&|7EFTW8Q)XV4XA&|7EFTW8Q)XV6<`&|7EFTW8Q)XV6<`&|7EFTW1`- zHT+FPZ=H3&xHuY~5WRI(eYof*)_T!D>%%nE!_x6^SjQphI26`lTXv`{J6vv-jF_c$ zSUw=$ey|Sebo-9F=&X&x>*ap z9W2-NTqO-xUe^&A{ls)Q@9(pb5*kMk8b=(VaRi}p1fg*Rp>c#qe*~d%1fg*Rp>YJE zaRi}p1fg*Rp>YJEaRi}p1fg*Rp>f0!8pGd2gvK%Vix>07h6)rf5*A(*#^hHOD89=2 z-79a|8}^p{(y>3RW4v^X4>NY{C7?2PbzQoCerkuYNC}K~7xmdlybuJiR+I-OUhR#T zR5kWXJWp`AVsrDxL;eP`~yn+rw2n*Kh&KT0_Fo;`Es%=6CNIdkS*#FzK=xUa{9BE#OLga%YZ5m{;^o`VA(N*DfvQJ-U>EvrAVXcL*P7>Bx2oFob!xqA$lJKa7&>#s7 zmItL(65zo5|BEj>>Atd+u2YX`a}?WZV0cW`@sR(Fce?-Fgx}iJ4(gu$j|>c7(LY_; z|H1g78Fp&AkGiV~UxA*3x9xWMMj&@G+LadEiTfPYhZ3S#W)vG7#TFVE?4dCzEWx0# z1Ovnz;9rxw8}b0gNHq@0;}-DrY4&zy6IO|AB)&ENsRRY|T^v_jCbM7&XCcMc8_ljDqG;Yvt@v#F|_z9k+9PUW7-$o5P-F=!Comiv8d3>Lv` zf7@y2$TQA;M&CGTD65(+hd*?MpxzZc`u?y7`@3UoRZ|^)N#dG zMaiBF`-#WDuvK2FDGYK>FDMG1BUeLn=`YtmtAOVD;^`#Q&L8F zOD;@J_6+UQxxD9wN2PzUJ)zcN-=m{Dapp9Z*5f%=bK`n7H>QCg57+L%szb-HfWqUv z0gv+rJlar2u`U0DYwZeWd_> zr2u`U0DYwZeWd_>rNHbf1?VdUs;{I$q;8~AhHR7}8|Ao{<8EqHO<$vOf4c%O9`o!~ zMl4wrJwAFEh7~pP7(T1N{GvjhpMwP5dl?3*p6r6+{hoC%cH$pjwWofyZ#ABP$y1M= zFp%daos{NyQJpbp{*U=Ak_Mt_p7f}vun}^G(v3z-J<@yFScX?>Z2QZdf1K_ZD9?E4 z)0OO6Fkgm0YJ6H)^v8eOr)M*;KVF=FS^u%MeQ{`cf-5C1F2!|6YH4app2u^3+Sr>H zRK%a3lJ81%PHZbGs>zv|J}@OVEj}SF7CsM?b3G%MUg(|V?UUq9%#6!UODi8}*~>hw zGq~fM;b-h;op(RpcT`qeQom$RKb&wbo-=sxoZ`nh__z(`$7rzYJ3qPMhRzSasf^f0 zw~Qzak8OLWSz0FF$VqF~FkfS~g+qR`cQK_v>7o37bbnYE&l>Ex<$vk8X$U*v$2(D| zR{-ULt!Jw_eCCtCC#rk0lF#<7Tze1Iv8MNTM+#m{2SYox->hYlqbymxt7wv-SqR2^ zCA>Qu4U;K3GA$g2v5VrEb6^LWFxyx@=SH!TC^j*QO*b&}6fzu@V!T~|u~_#3DZe?S zOEOi{-J7GjU50rW*|bVUPx(?NqdnSl#9QZP6MFoK9_>LX=VS}oIirVqQgrN8_WZ5* zIK~b%(o}V<#D#mddWFwU+D=|HrWcJV@m%1!c!eKmaO}VeLFe6p<&ha{DmYEGhr~^_ zhs1TYhx|~DmD@DcksNXxG=TIZ9t0jdM-%-X?F8D9bFjKUF}5drz}ZaekI(9{riV`C zna+9kS~XTT!bkAGjMY2w^lNID8+Pkx2qzjs-d(uM(-#u=0QaCXOa)(x>MnBcdj_b| zc3k4-rj*3Z6|ltp;PK05J>z_ktiP7&SDgL<;&6_|grTNe%p1xy4!`6w5dZbL#hjOM z<`R5zR@Qo*c`CRkc|dwbS?+mNxp~#++vA;Z)|3#N5Ep}`*ZFZC=is_r&MZt%Jg--B zpMkRq3+E0_83C7nse>*p=s%_4(yg;oNA@l6o3i{+@GP^yXN&SC_UkvcPddDLO4puP z+zGzql3@v%ahO(xJCoB2duNsPIj=hW{<3B7gfypSbMTbgCQn{Jbv>7Un;q~1rM=bJ z|4*v@;_bDz%i$iYm40WopJDCQZQ)of$M|B4BEZ->@8+nI9925Ucr?x215ks!4vo`$ z0C5FQjmH4V02Bbq022YT0Zo8qfVF@PfCmBF0eb-PSk9$j$9=9^H;j&AwFb7G=A#SD zM>jE_eDkSq0=)@c!`@Skj~6xhx^_0Fa-N>*1g}KRS59l(Qq@y^pflynX5!{EuEzHe z{q~eTk`#RpF#1S0p;UH>QtBp@NkW-UC_*2})|YYFSjJ^z8JCS^TsD?**;vM9V;Pr? zWn4CvaoJeLWn&qajb&UmmT}qUGAYyeAsHICHC#lOO4M=_s)p-=qlmOUl_eLKI$`og5s9Uj=z zQ;q*cX9)iJTn{$7G50H-&)sT+TCLOO%NCt)X;DMX+&v5!YUXZ2qm0t1N12Z{?@9H} z{C`8e^9|%*Dus67^t6d>FfjCw9#{1ASg(4lXO%odd#XQvHC@kVIX%{E1vXrqwq~X0 z!Iv_1KN9kTd(cxlU?;_R-$=*Cp6*AYAc~EOVzUfP_YyHbs;~SqULw$kqBik(8$IpE zilVO@GSme5>RKxOTBfDz-bZ0#B)^Gnc%C1tHaPP8Ys=538alBtZQjlWp~KhMV(c!w zpI(hq7WIXf6{QzvrWB;qE_iXCTt)uzydA!?DuUJ} z$GF__$wM-V+^Mmv&Ku`lICOqdMsX%yyHiJ}_M6i$74D`lKL3W9qu0a z{Ih_Rycd9%MTz$Y-rK;lfJ<5q?m1YA^h2C9mCO(WLz6{YBwKv3x%2RDHnY)G^PXG7 ziR?4K^mV@f?>C$M<1@bJbDS`E)r=MJ0SHU}SD@>84sJPk72Y>;ZR-k9+9=czP` zRYtM-2Btqxs?7?pVwC6fcOa<37``jeI_8;ViC3bfD&@*A+A9A>b)V~@Pv^g1>$A_? zptdnzzSckAbH;|mKJ|6{rr0m;#A>Ty2X=h10!LjY;I8kdx=??a^5Jm7w@!+BI3$Ts zrGy7U;x^zm1D8v7`E4V)R8Ih&VBq?(^rE53atoD*jfK}D_|m{<6J=kAe~n-C!r;6eoVis z62BVss}1@p;H%`LQY>2ryW!aLOwm168z1W^XMA!DI}cdis@*5~nUg_`-3Nyg0p&u* z!~a}R25Io1qEsVtF$~>_3etDhr4tqT--%syd|Xq8$|(2`|0+@S{8%}AK}4~lfJtt| z+AGssLh3SdFV62jy=d~fk`WV9hAqvx(CZzOlT)76&mIef%EXP6=cN^9CUEcK%tea= z1?XRPr>)NAiOC%@U|?KYeB97JgO*hlT`_p@%z;pf2r+f*~&M*5io8$~8Sw3jAW* zjrHyqY@N(Jvx;lMS^ST3*LO}l!{uG?Vh&#?^PVm3VWh`E?5_dx0i}S805bs#0ZRaD z0CxZ$0Q?m248ZUh=!C~WCl>j75e7tGxQv~O?$aE`PDMAtDVG&axno>36kn|Ab_Z_G z$hs~NJviDqM~pj1f1Y{g=4X>ByUWJOU4KG-_~h*9!n+0DHselPBho#+Y_sk{vMd5y zcEN3uV6zZTDr9srJmV`$@tNnO;xkV#$j%<^pM0Nf2mA&M*olI;fXJcLfvjiCekm}{ z#)Bj|;?+tUv&0!z)q7627`ENpJ2fpQCnqsMb0s=b;@!!;dL_qtGLioE+EpB~9mC!g z(oaPCaHfUC+_)#ICnOO$=_7OE26t}+BKjD>PXS#zi;;LbaCuZ;;^wQb#O156bRHw|9E=anvzrF4Jc~8oD7CqJ@;61%H0mE8 zL?s#^4iIU;oh$KWnN~tqLHlhXO1c2!R~C^cM3hnj*h`cONLx*mj^7!1M7?hz%6yk7 ztCFa18Ic#z&qkEHj3{p_QT}0~f>xpd6Nv_5P#t)LXb@yy09qkr7tJOb`V>(KK7}>B zhNyHG(Fj1s~|x+rMiV`X@E?Nzu_Hv=5%%)~ zM8Bvcdg?II(~!S=BGEI*!ycsfEaE)xCHgJWduc9uIpn_rzE>gpwN*s>Gl*W_MD!-$ z?Ifau5u!r{M2Bree?Ct1ZW+=0A)*ibM1NaG^idtrCx~-&9MPx9!!aWIY&+5Ch~L?Y z5n&s#_=wnn?~lhECyv91V&jkCb#XIs@)qK>O~kzc*{g|j5atE{c?XDdCla3zdI4wy ziFnW|;=y^uLyi#-Mf_qv@$kdMW%x+-NZiYh6OSn%9($0uqK0?^(yKzei#8KaTtGa@ zO+0xM@sx4Iwfl*ul>zn<*KH)8v730-D&otK)?CP*4|%>l#ONRF2fnb082y8T$Wsva zMO%p%146rrn-Q-CGSE->O2}^8OWY2Kv=Vn9{*o*JWG)*`j6TCx#SpJV+Sk|sh`S2+ zZ)_%BT}yl&@HKhFYZ32;TZnHwO1$nc@l8p@H_s-%r3irEx2`6>y@q%_c)ml#cNP%e zh4S7Fc^g5$2k|!{Ki|KA_&z`J=1s)+zd-!JLE;}ABYqg=c?5i0Dv2N6Mf{_^#6Llv zwyh)Hj(qN{CEf+uPa^J92!DDz@ow;<5AmLNiJx0W{QQH&zx5Kogm|xvBi@JfUz<(5 ze--f?Nb3Od{s+(wg6|M`{%j+D2Yl}#{DV5;zwRUca3%4_F~pxNAU=xwrw55Ya}$4# zJe*jKnaxc?Y$9P>Ny7dS3CC6vF*PJy2S~&oCE6Iih5Z3!a5`C7D=nHzz1`_8Lk?41jMBY9U`Flv9e~AIxNL+yUg@|7S`Y`Yfhs+U> zU)Dro)NvAHVn|ekNK~#SF>xh{8t_j655^xct(8O_WX{I#%eRo2H=4wP10)(YkqE3M z(Fh0v7D4vnqa>P-kqDQNXvMt^Ws0Pb==g}lvQ;FmnoZ*BBP3S6OXBNDV|5;hH48|5 zGl|4H@ZGeR#H~o@4$wCgk+=)AjkP51ArhPFNPHi#c_N7iR+D%TX+DHB9*L0HvW>)} z`$+r<_a84K@mL9oZOG%#AY(@*iJwEpQ@4}&bq$GUvq(IT`-=xjyu6phzU?G_kMK8; zkGBx#;5ZV85PoPQ=o z_@(cXRtA~nDWqMPMcSC-q>b~ER#8jZc>JEQo3u*ME?P_4MDR}n-{fPYO@Z86$e0!( zt!@`-v%o+52x*r;NZJ*Uxd3^n2l)4pws09~jR;%RN?J40Y6XA$VbYd@_o{8AU5)$K z5Oyu_)w4;v9y~W7?HeI~9pry&3u!mw{%t>Lw;`SN2TA)5(zts8Y2Pg%?R%izi}3rl zl6F7x`rtm&9(jSZAA18IK%-yaeFCxrj`cGBLRNZNacN&5g{f4u;3khG5w zN5aP_&nMeS`};Z_j=D)Zx>kpOAnj8CFADT2MtAj(=isK}czwn%9TybG0Rz{lAGaE~ zjWYOF1Gm#?e%Qbrl+J%Ka2NIB69(=kk4P}^c&-&*sI1tA7g6yOt<}JpG8}NPs^|jN zg`*5yqe=&AMA2)Y4=t{B5lF?4k^!DTv+6t(b5`jiy%gg91u+O_R+_u>3i+GzN zk=9W|hWL%#EtCZ)YzQOM^M@4;9d_FM6e7vi<-wLlZ%`J)>uZR3!wbEk@RC5Gw>A_& zD&7WgAVISZyhirDz9qh3$X6cD3;kw2;)YZ%{NVM% zm_p`l1t>D56-t_(!;nf<=A<1VGMx_Ke&B72%L~`clGCTsT>?x}!YDQ1gyQ3T6&uUS)Z`F#M3Q7OP(oT$@x% zt#Ix&1b_Zh>TaRRk!*oN)S}EIYC7MCuWl8=0JWn0NI%eDxh z%%_%L%9e3Yt%pLS+J-z2Q4$&54O(6YRN666z{WyT>4pL?0qWQ!Xe>QA z6q^FqJ87_{$bbem6Pn;GYzFj&&qgo4jL{GJ(>yvK`vLu7cQpWZ;DfNyJ{Zr)5In(h z%r3?k)`w%SU<97lkr)HZX*4_vj)9x3ahP|;W0bChx#>li;U>ajd=f^g8XO0mf@iuG zei5f()TqPwH5234Y#a!@j4r3SIIcSnRy+&H#~R%SKN;7-Qtb|U7rPHP;TYF7z8 z8`uVCGq=$v^mqCe3=h|`o!+L8v4{9D{ezBTh4Fp3z<3sBh(E;B-GHw?`ssN**?Vy2 z_a%A(_K`2b7HT1EY4_60^dpSMAHgZfYqXDE#fbg^{T0W37hzObj8Q6tF?6$LTOOOm@OD@*V7^?597{n{0xF6?o9-q(o+@A}00CpA!@dZ3s9o{Ko z7{lNjxFtNCOL6S7j7MTOvYbcrh3Y`mIIiIFJb^2@iZ9}ec_LTyB%aJQdEq{}5z+t6z{4KtTZ{}P0 z+k7kE#<%l&zJtHR8~9GXi|^)*{9V3>zsH;SUj9Dc$D8?net>_#5As9&Fh9au_)-2L z|A@EpkNGG37;odp`KSCd-p)_(4&KST_~-m2|AL?5U-HxZE8fk&=4bdfyoaCV=lFSk zfq%;{@=LszU*=c%cf5~Z<=6Q4yq{m^H~39Hz;E%}{0BbBf8;~_CqB%7=D+Ye{4T%8 z@AC(Ig#XHa;}7{G{+K`Ezw=T42Y<@{!^ikD{wIIV$N2+|me)BbSL;?vq4zXD4hL;*ajcvXqfkZv1 zDI8wxtH+Ac2#W+m{(z&R!H0||RWtQToMK^$O1E;UBoZt9 zLDWWjuwAbtSA{7swjvtKS)m6yE5eQ8mcU}y_$bo^V0!I2D)r1(c4t-<7Iaz9uF7bf z%22Q+podkdII5wB4J%8k>W-@y)Iu<$TbcBNT9~3)wsNV0##Tjh>XN8RKej3w!C7UL zu}Uwaqe^dri&YNY7ehzT?9)pcdvR2hZDPHz%{9@KC#okos#S!9YO`KdL0qzz=}A_1 zCs}PIS#2a)t&((4wxs2#QSlu$dga!1SCEqCuCegiYLJLaUi8YnM2|Yfxakt6oGM|8 zMMCTpMAi%GlBklSRkbuars}b$cE?sylPv_3KgmMV8^}V47T(IGitU=&6%dW6M^SGbP z+M85B+*Bn(;f`s>O;v?^nx)AzxBmcU7ut z)*phQ6|OonUTj_WgEB+KPMC30uj>AJN~kJFVw71gv1>+D@Qi3Z*@2>h)m4=tUZGY_ zvw~GXG@>3wuizOcRqza>SI^LUwS7h#RA-JEiq$boB@#EQyYQ}AW| zlCL{&N?fvqV9K;IDZwcgrl@o)mr5ehXI6yKUOrP`tS=hN=`(8AXAH&lQKkl9#!&3n zGwbiptf~%|oY)i=>+kMb0mW>L!6TCb-I4SXS_o!zE0bPA3sW?&RxVY-*g!OkE{W<{ z2}C0}14iKj#()^m>%LLt(A{Wxx?&rnqHIla3~n;zIf9BiA!yd7DupX(hQ|h@>51SX zXV6G8Xe0^!G-h7+VoO?%kP_ht>9rc_t{_zacgVtP3n3ksyr?kw>Vf&+p$}e;7F|Ni zsS;W&5@K5r+33g;RdTcd9-*)vJKP;xZy*c7wCyYq$PC@aZ+3FK5Z6|-bO(F7!5pj5YG<8Xhk#%PYE=kmj z9+hcCE7jX}{Dh>b{-DqL%9|8Eg&_4048XR!`iFfqXb!L!4-LS0=pZIwRnJ&W2Z1lf zA7eEg1}^o|8rIVtpe)0mhV}Fc;H$9SXPh$qDX!bGMrW+b4u|pnumNxnU^C!hz*ezKJS~2zybB za1-Emz+Kt{+7@k-jII3yupRIuU^n17L*`!N{+e+=VB8PMyY{a3H{)ke3v4}PD%6Ew)z?Un^CUt#O(Vta#qq-XgxHGtSP!S61JLbpKe3xY+2AIvKEs3c9kowTE%)* zN%*|$IfPyzaqjH;75HbWa(zS9)%{(NEN)UM-lQnmQnK*dZo^fzkv1GpA8-|#)|n6d zR|@}r*D>IiOPnw2`ZMqvDTmb)&QGe;*C@%V?ZkwxXOKE;mEe3t#cEXidaLCr&h1Ka zgTe>dVHGP%yWU2uE3}ok-lgdKC6CsnuH(D1z;myX_DKgIC+tB!Ur^F%K3b)&Yt(gJxXs@}x2o#~b-ky(qqUtjtLww+x)rJE?Q`-~ zD7y73^QF&1=2gyUI3r`Z>a&Y^mGey+wDI+FG1$drZD}N>~pC~x=@&aEDv@oq;!EkCVQno a@4ggw#$JOwaiQ;RNO3PyecCdQR1;GgUKv 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

    ->Oyz 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


    ESY!x0~wfTK?)vj<;r`TS^W3<%I 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 Z1iaQ9rp90JwVopY00001QM~?t008;!)Dr*z literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.eot b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.eot new file mode 100644 index 0000000000000000000000000000000000000000..f34c18206760f8e3fb007b04e3154bd181e5e5b0 GIT binary patch literal 24028 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2f775808e9b0683fad3347a45803244cd9f1bff5 GIT binary patch literal 269124 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%0D^j2|(6$xuFY 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 bS91is)*PnBU+}e_BLDyZ00B|F{(b-eVW6J* literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.eot b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..0e4e9713495ce350768cbb2f152c8e71b02691d5 GIT binary patch literal 13825 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 literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.svg b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.svg new file mode 100644 index 00000000..de1d9c81 --- /dev/null +++ b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.svg @@ -0,0 +1,616 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e7849348cdbcf9e89657186f60b0a2b3581c468f GIT binary patch literal 138312 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 eUQbF zCEXqh;^IKSKtDwg0EGNsZJqyr<^S6M{~|7~DhC7v{QHN+`wx~NQN0qPV&Xqs_K&Rb z16L?^h%pI81(hG}5eNt}7zhaV9pKX#Euo?&3V069NEIiVj__QNgy*fRW#Isfhh@Z{*=;tB*L@Z&G=)epb^>o)nx!_4@{Kf%WzJBa`A<*)SL z*#9^CQ+$Q9KW(7teXjfeTi1MguH*kvLJ$E$0+(3vz=uieM??XeTijBO+sDG+8keES zn&wB@wZggficg5o5)Mj~t|jlXe3B2!6(S^0Pk#~%N|6h=dtR6+2;kZZXn%a%=|h~P zNB9ErTsKpPbyOcl|C-tUphWpgfh}6VZcKp;HH#HOCIHQjBCL;;h$Kt|HBoznSPPvj zICv`=fc6-2yUE4r`rs7VCaIbEpkWx&4~+ku@@c{PQno& zPLLPMdjH0Dk*cLZpmkA?POD*PD3ZeOOjB(KuyFFHNgS>vSWuCmYs7&R&z zOHz#Pzo)}Pl69|86p3SQ`e9;o2OxT1G1xRKBS`wG zf>6{ZN6d%bVD)n=GurAy(!8%IR}OmB14!cD6A^z2MH|ZI#Iidmc7j52nEOZR!wbGe z>A&h6ehi#n42lo6i@t%GtmSXW>^B9+v&>4pQdh%^xnkAW1rZu7tS;C#+(u3}y%zXx z&Mm`JJW6HX!)wSh<}6VxpWMZqZGL|@+P1@Vuger$9gnCqIE)AsDzer6l2@f8=h6dN z&FCv(spo-V`~vtCga z5{9{?j(fU1i8=R*Fc;;7LTbL?$CPBub%{@VZ5I1H>y^ld@NP?QNt&}ruOtRA+H^~deo?w$+m|wCtq(18 z!7wgm=wm1hv?Oy^X^|>DFuNQDp05_gb($&{?2HwLJVVvxoqXZmm)W=3R~Q1{C%Lom z6A(8^AaEejsS1A)^DsdydiYi_&3Y`2xmFT?VJhOC8M9q{@{P57#o*21TNPvD;`}%E za((eJcet1}=3jpDB(~y$a5dwNx+TSTZtfcJuXV5MIg6^-xx?YlV)+m`e)uF0u*RdJ zf3=1QL4{?(x>H@OT3z6(WF3K1%!wBU;XWR5$vJrWBC`K@Y3923$S)l(gP|U+OW!aU zJCkyT(S}?`SqPf7Q8js-r?aXA;cQ%6iL%-tCa^%O3c-aVsY+lXn|Jl6}eHwFQ4=AT<}Mp&_6 zF+)_jA6PL*egL3ECIUob5DFID@??3|?u_A@DRYfulDM6Uv&%D(DN_y1f^;p0e%plt zmy9cC02q3iFuu*59NqxrYeb4iBwyRiW@-@?rv3G`d0~o(xnIMwEdOAiI-}?P2L~3@Y+egjwYUi z`EFnKjn=r?l|L~%W3TYvzIicl&ts!Lr$r3au{arIh~L75c4j`W?BYEm|2E*dr^n!! z{2{TvF#Yb`!$##p!ebv+t6DKP|5oa0tKoVF>iH%0uH3%hyyr{s*Tf+>L1cArp18R6 zb`P7IEZxRaR3*B z47uEHvO0^cSbQg$(Pwv?sIz5PcVUOtj_&j4@{Qtde4cPOgV?vrX$m|++;1~pOHMqM z)%ujnHS6r5(d^&=QbD`~!I+{cupUZe>?yHU_S9L1r1FDjL4#%>l{T?shF ze6-Pi;G8P<28ka5-8S@=_`|Vj@9OmDiV5pUF z4eq#HlmYg^uvbrT+<^mTESJr1Utoo<)y*Ep1X74g_>2XHhbmlS3uvis2fBVEZpLR7 zHx^RFQyExDg~?w9TKl~loQ^n7?lOO(ov(ViI4_V@mhGXCR=@c^wl-Z!{!&rLRIi7# zAFH*kzZ*}?Jcaj2Q4~I$D@6;=eOg&(1+^LM#x?t}4B(_%#^XAiW4 zdMj!cI#IOgwf6qT$)TBIQc^e4SQRjdQ9LFEFV4U*M($(1X?7inA3eX;PkDpEAJHT0 zJ4H2k{a{e<|8;+braAn6h5t_jsWN8aJig$sd6affUSIZ)#bg*E#6`UWOO zX8Om6rw1oT8HuRK=tyWN7>KFK=}BoRYxB$gRuxv1)D)B#R~J>5Iv84-+8SG%+Z$P# z*_qf_-0YqnUhbbCU+3q96aFpEWm;_i&p}6*R!V| zoY<11ej{?%-}*c}Zov+Z)9v*CnE8{{iG_e~=6QcR_kanf)_Tp-^xX33rjX869UsNqi(c7!ysi~r&W7WQgVXtUrLr~jt!V}shFah%!-)G-A#|Es1W zVa%YX^UErAa6mUTMA(9P^b6J{U9mdM#2AD9=p)&TyHV~b0QX2FCdv2tJQCxI$P3Cx@uH}Y6&kn%;&q7Uwh5sU z%VSST*wO-s&}QX$XR+uBDWCRCOkuOfN#%!wxieafK%|!;JfvqsV+lf$DwIBRs7%#DaQ;;XYIWzl?ByvkZjuGs+m<;laeaZ|fT+(0M?1YPN%s1{3GU14aeyKte1!?Tmd;4+ z!Hww|6u`U*s@qCim7|@;mklka#!YJfq;XMO`PJ2y8>$%jv%dOOS#z@Oc zRSS4a&dcGm-`{LU9X$xsc)9HHuJ(LszGKas%I1FGz+QIoag!+_@;ys`hciL!@$N__ zj+a!BSyObfmmb+QQ^qEO%LtOwrmTaEB(_gK(vDj{kNH|?5k;?Jc;~|w2<{62k~hn^ z^HX8PgajK7+D7@kd2*%mMq4H5mIwkL7D6o5ScF(Do%IUa6Y;&B4Nt&4EFw;YM}aBK zIoS*?VBt{c3q02i5`p9vXPK*;rJ~q}K@@Od@d~|8RyocUZ}13rQK7CbEi5Ex{!~RYpsWn&Y$LISs ztG<CUw1QtO_ejL!bbu3XLer*-t&R7W$cS|UbpoC!ZG5%Sf zUY~ym>B*s*_yLmBirE;RyLea;_q=v`BK=R^)|&H2t6Q`>qd}dCiN2Jy_4v&{M8YVq zFUxIUiRmzAomuh2;lGIAJa$`~z(P)XwyWcxG}pa6!{(`mB}y{?mceWhGONKXj_wW+ zRuj7+>OiXow+!|8v#esDEcm8cZ2=UCA2urfjh%Q^~P7BNC_dzqH%XXi^8}@Uu{A-9isGiMHO>={IpSm+G&HTD8&_FLF}?22LFHyB#QWeG`BKh z3G`gv7Y9&aohV@CCGk<4Fi@S;Y(-4^Yfdgd^Rry+2SZ|7;NLy3C)Xdp-mzn6<@-#$ zLXVSD$PMtiu<}l&Z!@#DqR6xti>fzMaTXp&G~An0g+V}MWqVe)4)FeF)#i3K{+`ZL z@U#pkG?^r9gL}mdZsFMDi%A&wE5iK3UT(KJfUt*LuIAg_qH5=CKbNJd3f;b?pBg~C z284b~#a!?=TSS!L%-=fK=DUxibb8dn-B_2|SvE)ijr`SRYkIFgSi%=`P1YiXywcS`ULruC>mZ*E)Z(afau{2?HhZ zrNboamS?qdoE!{r00y0R3Aw-~2+1=9QF z@{X_U*r0#eIv)6;qvy3FiM>A)o<2ds>;&TK903?V_!1g3vv~`!MUjZO@Tw&2*%c`r zDc*O1T{p^TX&+plW3HC(R&pq#5E-uomiP;0tbL(?{GnYIf)@+Eq)l{h#+AH2!Wr`T zt0e?gRaa(M-%s}W6(M(8a_RMHWOp@~<WDw(fx`FZWIsTwNQUgUyE}#yXA&rj61TM z!V|!_S*^#sp_@J3_!vFPQPwGq#o4kKX!>&ApNi><)~V?%!o`N2yjx*RFxGtr)E_jS ztks1Fh}y~_&8_@ZvJ$kJ9eC%kG$XxjvE8s)gJ~biMpwwYFFyKmOoC_smbHspJ(Y6K zOA3L5kTXQ@Bvn0SxCqLkP)rU~PYSly?CU)2ONT!4aOz{e&1(cQApa^Iu6VBJ2KSs@ z8k9lwq1KSwxnF3)CUvNZv?btTUy8E(HSEoa?8lZU=9O{C@+U1Wx98AgX7}V35=#6-ImeT^9<9Ng|({rN)E%G7^1jyy=7Rxc)&4Az*2{^`be@i~nQ+5oxcdsFdVp z{7DR{-e-;?g4kEz_5zNw`rG45oi&y&00PtyMfUgC#jU}sytX=HHF_-y6urcFfD)xV zp>EJH0)7jdxX08LG1f7Lpp#I0uPdL9cn#&Uc%ME@tX6udXhEtm`MCxEQMh_;@SlxI zyE}x0esN?CEJxA`)ZdQ`IE-p)PL`W(q;qDCFSFMDr1)j_fWX?_6i>9N-}?Um1xGN> z25Tb$eX(a{FFnDHP6odaEe?9#sE!ip5y~Gj15gfC7^eofnhtXBgUFAAP;yNq_9<}+ zNK<|#lv*XuA^;me{`puMIaVYt%b{VK$|s2dWv zK(Al|@uQ+j&tZF(u|GUm@MQ|9_ceVq%;4Qt`qPQ9^op&%t*v7Miov!>7>@^%`Yr^n z%eo^JVBAQqIBV9Q_x*|K}g+*f0Kw8r?Z_HH^VrVaxVq+@pEXSVE z103;C99sV(4I@wQQoeYSGYBI&P9-g9|*z}iHj#7lgN!cp*XQ|H8Qy+&W0`` z2FvW@^vpa0MgwNcYP#Njk1;1JJGX}(jx6Mr3~RQzmG`wcP2?iXYa-^lH1feoWlf@U><=V@!!LCE7RBq1y<~E)C~TV?io;hvpEyuq6YS)Fuf%<@J+Uznx(2#N^gyL5^WSW)vanhLWzR%VA)BUNx3 z2sIMVkfk(8;Gr|eV^v`q7}-$3uiU;;u$T|X`sT0v zndD`BTTy+H!e{R{_fQeNG%MS_8)7Z=6)3w3*QGr)&PT1Gqw@R%yfohIjH4AHA(*P% zrXpdie27$8CMQ}#tu_{g_}P$U-NcP-FxV^1cWbnwxw|(UjW|bpks0@QH42DtoR=L? z}Ndw|<$yN#;6J7mkhw&Cdq$RzPF&b}u|guq4m zqxo~XJa-d4Xw!OC$O)Mt!Z?iWi9>%WIMpW*BXFTbAQ(C>&st1&ZYbxtN8CqYf#oiB zD!o?HN2;}#(evj3<(9vgj#slq!!ILixJ;J5y1l5H>|6T_q&snh+;rT^D64e@mvaP7 zccoW~)vyvV+9abDZv<__#1E|dkw%208s-pD6_{%EbFiA~JWM!Ov@@-39kk@tpLsHJ zboY)3ad5HLiu6P><{L=MLAUL^f;=h*H^NT~Fll%lzV>g6cjDNgtP7qf$1!VT@szAO zm&ST*)W?;f1ncFiYB_)&3%k`P-+pk{`Rb!QlM!qR!Sd4!cx4sym@%;=l9N zOqkDZ_a`XB)5=>-c6aF|<<)YNTpug&&6wZZebviO=b~G*( zVv+Uy1{dL#5&+cOXMwlxD2FI9L=9>@N`8p_?#hJ4OQ~ZQ3Qq(hWkTECit3EoWDlVZ zCso#`TIDYH(0>Pyzg(>n+?{C-jL<)K@ft3zw^6=j?2&n}cH>dHHsZrBlD?^+ew)L2MeNx0-UP6X{=;OF&)b8w6~OYs#M&LbJb>GJ?`Cjx&i%z zCAw5}V)3;_!|@}|Vu#C=4Q zmtEWC=1wUYa8HcW{pETsFVn!DR@gy*B;j4%hZ8S+0W*$ZgO`jbjArAx{r&ZMue=E7 zrF~D913lDFrQJ2E)-{?T%9ovQCbejyoNwt|dhD{i#@C1SFIHizC-l=Vm^xbpDa57$b=4-=$rA^uu&SJa|0=8EfW=73UK4{(;+WF3nV_=}M)bHZp2q)4J{4LFdaPivC zZqt-vXdFFHBcYz+;fqgM@(b!SZ%Gk01txW^sH_V0eYl0+`qSsv%BT$&%drHf;mdu) z+JRsCDzwgu;{MFUnYUqAT=Q)}UF40Wvq8y5sA?uwcdl~+ugqiL)Sw!GGP+JhyVFhj zLampXz;j^+e8PUjyPa32J4sQ#g1IK0j}3qH@=AR@%r~`-V9x3{13V4cWhaysr8b?t zKVy4 z#A~>?)~XH$2D_TPa9sdF%*BxDjf;5Zn7{A_dmxY8vaPi-GOH3H2F$20=(Ov(yEV=l z)YamIy6mRLtqcR@oW~APRH{plGy;x*6+29WsxR_iAC+$lE%i1oBCu(3v;Vk1mhYj) zv47`@UTN~!$@5XljV|Z-tiN9M#T9ykqLn9K6BAJu0u?Rl1I10rh6hFaytFt}IuR9A z5APABC7X@&HlpZucRc;}(b~0tKxfuPX_f_diwvab7lfOLJngF0&vh~V&P&3NN~TOk zuxXTtbKOm(+qzE0r$0=rv;Vve0pn+1E~A2TM%-8PToM{PN}Qrx&5!C@ z;U1B6rvFo9tx|gh)dUP`c@bI!lu!HqfamY_ERTHJ7sKuBfNkel$Dnq7GIi)LfwN#a zOcWIa#1o@H5H#M#y-2P-DX6yzVSX(RyW3Vg=8Raf@1W$iC>29VBBn1zVHnp$^bc(1 zPaiW2@JZP0E;8hvH!tH&zIX@pMHVH+FguuYvl&^YmXX$8>4S%tI;;1(#%6-Fep5&) zdk>5BQG0HxxNVpj!TU(|sD2aHUE_Db=i5TDra6440tFKU3a^recowS>5`t0JxZym{ zU6VAaB{)ic85nylOPv=zPV-w=Ea@mTK7@bHm@|>even||Y7l(1f((2)C1fli+9Otroqlimx=z6l*OWL$i_zAx? zFA=fiNl+DYD&*nBFRa*8Ae%CHvn}aGe-=a(SH8XMu@lle_0(6p5`sTx5oMVu8?eO4 zg{_QU=)eD-*FsWlsWnZA0`(D!hbc_SEhA*&V{rJyb8veYdoFtDb--iK%MmP=tD$Y5 zV+;7L9)yxMgfUX#a`4Tt()vF~7i+QG%;vrnx>*$IR_uI_F&g8d5K7xdTAP3(^{>*W zt0$>0R){iM!yIEiee&0gD(gM(Zg0F>;CMG*rP!R9GEU)cQWePsp_nn=Y*I{7KSsM- zgn5O#iL#_#t*`#ulp2s>#XF==WF+OaKnJP(SHH2Ouyj3oIj-gTfB}Hgr9T4EH^#OO zZ?Ju;<;&*H6Wf=L3ZO9P7M`8J!eFLRFNQ*Z%*c0KX#_Te0hN!WFn2MySGYyZ1+9ts zPMpmcnw@l=@jYa7Am3kZgtZ9g4x$|3)VuSN{pQsM-4RqQ%`E>VZU_pt?JL%9aedb- zs^d2`edrLKfT^_vttrGGuLe9 zlg-xb6}`;YVa^d}yP&t95NC|eqM##}L8jZJ{rQB>_6$SlmI0t#qBN5NNTD?PC|(+M zfn{up9bKEjq;{UV>CMXG@b7ly5J+bfyDj4*5Ke4cdX+9YY3U!U^%cY8ZPz8LlGWc3&tqpd;M zUH7t~qn}?O=Zo9l=jOiCX<8w}xCu=2KkQ@7JJ=!8>~k}u@$-Y1Ww{Il!~38t1A5-; z&v-26CAwE0qE+yR+(=qp`Aq~p-Z%+jP&UcD9t&A`o2c+}`=K^djxdgw*>&@GOvtM1 zu@FpC`>G(*@*k=gs*PZirH$QK_f6k(B3zlTgVgwS2PH1|nXfPfhP=b>(LwHFp69s^ zpi>82pcr}^``dA@#8<}h{Vn2)qfjTOnje$02gg6CZ1W#M#>DiF$DMD zQ9eb@S>dT5{9a$a7nehl%c0qJ>|tSewY=}%<;9E@SlM~XO?)orHA6KE>+smwoSsYu z>c7}sK4!) z4nDSMzDZf{w3uzHEZ>ne>8!2hb(0;f)zwStk;E>>*Kf5-`gbeDJq@sRLlkHda*vtF zG$s}8>)W|S-bPe6qUIpGd!x1g-6oNWgWv~-YD1xZZ9_Jf6CE~|jgCfUbKwgpIpNd7Wa;2m#sZbk(v(c%Md%^wH!3Alw zIME!GB~{}law0F^>+%VvtsP>1F0t6WN#9^3$G}awexul(%jYzw7MlYWz3vKflFJQh zkUMYy8H4R(zsa@gU^Sce*;0GBu7;JC!fkA6e*AB5VG1IOBGLYNZ{3*~B^QW3F3|A9 z34^c#6p^hh1C;0C-OS;^FP$GE>Sa%*MFR~|e~aYK0DEsSvRsPyXm1a z3LgO+p6PCRHHF=$8G<8{w7!I`I2CstoM7<}`m8v7mN>SkZ=&^TrUM*UpZp6^))qYq z89jiKkfH3%EsB|KOUu!5L({YL;Ko&h+IRJ%UcxW*=P(K^*Gx(;hB1I809`}gNh$}>p zdS8*ve56ZS3*Wa$KVvxT@ISl(PW*O=$G^V-+;*$UKD~Jooot0WI29g(MQ?^lslv(h zi<}V!Up6y(IIWgzpE7J1Xf-{}=W3teHvt};7IJcpth}eL-tUdw+b5x0I=>v3{lKH@ zlNvR%8io~8bUGzKsV94H;?vxU>z5{s14&2%b&>OK3ty|*kr&d8LY_zvqCa)iZM)XB zYekdb{D`N4+v^~!`BnvJwFTL2L((IOcGLQVra_Xm6`ewJ)FZo%^D>s1H-|*r7US4O1o39N52}QOuHTqzas}+ z=yy4H{Hr~9#=+L-`{Vb^h`1@tziwc;RHm+0VrFnnd#-j~D6Fy&xvtuPGcojv>3qka zvMGtyiY>`9BGVugVx5de;9NCy1V-t?N26F-N+Mm_b$hAg?h^O1Dm6LxkEfi>FxrrIwnrLRn#d1IgvsfWmGigwhbVF_Hh4n9fZ+ufBPzJ- ztJ{uNo5*3~@$_}0o5N}5r(@*L(_HyqU=cBB_A24SDyn=4ha}=IU19}jVdMnlt05^C z?`e5LDM26oq(m{zqlbl!A{N~8_?iIZrLH{+5-E*{Ox zC95(8;=2g9zd|)k5q4(00rk49PgIBf=9&?ZyY5_PuPRJIr6%wS!S!}oz~$3%@fx3UU@c80J&;BY&kkC&4D0zC%r84KE^#*a<@#Hq<(f z+{0R#E(0#Mt@9g|zc(uo-Kx|dz8H9luj5TaB9MyUfN zQI_~U4?n+x`#n_q5+9g_oYcA3Y{xIy_n`=pmh7x`sK3c6=T>6_9%C#&&8a-nc*&M5 zzKVl; z|9e$kuf|A*0VgOAQJaIODZHw`P_*lkSwFDTh1mU*cYtaiWZZvo9KGN&P}@}lx3x}h zDk;GLP*}SRyn3u!5$%3#{%2-8lErLKv{ zLr`l)sXw`#(m}vu>*vf;pZ*vGU^J!j&(%AU8U`A(d|u9~IUP@rAS?B8>jzoL2WgC0 zE?*@LcWF5|oHmKQ@!j6X694<&WpUr(7FuwKiK z76tWkrSjr>-3aiBVH;a*9#4{Dscslt+HErWONHz{)QRt}kD$(}By@YEB1jDdOy^?L zak0XZzC$ppBjIX|0yCrZ)Y2|rScH*}bp|zWAq8-ivZm9K_?{6Db1f0q2bX|3cfsP*r2rJXYlIjBnqlA!C74-T2wjznb@{;a*xF2OvjP_sQoo*6;AS zD@s?Cw->bHoq7TTnW}vZj9;eyU>R6OE2uW5HDZS=894{3Az0oTyD{lmau1 zlbfDyGHrdusQSU_l1|Q9`5|d+HiFRv)}q*GGR6879`IML<7eWJJaSkv{1Dsfu#~+p znBv=+;oo{_x;$A8>&~{979m;>jV?a@F4rihNEvC#p09@`4@+|(lZySxOvDuYwCjL{ z7IYDcWd!NB7R;zqj=lS)!jQkKQjuXTIZZX;d51R)v=0ks{q}tdtc}9qPqy9leP+!z@;LxR7ZkzYa*Q7 zhOh#SHv{BgiF3g0rvcf?;G&r!G)MuAYNYK1!#*D#4nMCY2=Qg)3cdY?K9_&axh21L-uf&o4@nt?;LP1Hi{BgmvuINl>YWN#4ZYCC2*V9zvEJS2PFE3y551i8ls%e z9|L0WWqa&n>BjKTnxDcj+z|B}Ml@B#0x)j#wlDcu<*6bF^u)zC?^ zhtKKx?hqBkmJ%L`j)Mo4(9k5E0rkM;73oAZw8x`_`mM5y<*|hN9CMjO0j7Hu&o?y7 zs?~3IkZEBX>RWK%w}PuqIzfQBcBYMFwTjV)-KPV^p8Jj48SyCByIKgJ*q9x8#fN% zmi*V*I=d|hUyp6d1I;yXt3(x(4Yqjpc>Yd5%NaN|rFz1U4vg1jwF}Jm3|?CzO$~#_vZk!C+=poPC8$Kg}=ds-CCmE)%}O^7vagZVVV{PrLV^q;{)nq z&&59JOVukX>3VV}J)*ybH5`qoiuUXBZMvmE(GE6If8^)%kpPX%|aw=V*)M_c>*YW$%=@!Fe5BQrvOJL{CkwkgvkZ zt0LH48-K1G*j%gxD=b;bEk1~mwL&1a`CvL_-rOkVVFY9a8pS$%lq6L~xye6*$h zRm}@(3oAN%i>S#6dyWRT&nV!v(9ktl4z$8ed$-<8!kyELKn*)0=O^pUVE=5D90>ZP zQrF!5g#x+3d=C6){Y|Y$8)`V(=I40|Z5t*AwS6d^VzBCBXU0lxs(Q8AN;GN7U$cA- zBTOmCG3?&;p$si=polHGQ)Jpp;e4Oxh$P$sFZ5ks$u}3@y#l?nNBMItZ)gmoQ+=P@ zF1C4VYHw2vCt@kHt6sm~M)!5&Qi~gjJ%^QcUq`vF2Egwg;BOOqO+I+Ra9XpA!wr}Z zr=>dGrC3pF>azMDT~eNI(5kq0)`qJ{XPRb}y0vpFm{m+#g?|_1qu1jnPI!38b&Q@3xi99nQ~8;vEv?&M+vwmGXPv z{mSnEsAIj35Xc3KO5K@4pX@O4CYVGinMRg|?1B3Mc$1OO-xH%47_s<`M#0s2w7w9* zwqH~0L1^FoW?gB15i(;YjBo=Fc8E6Jo)|b|R>L#XyhK8$#JVl->nnn&xj`*+1po;Sx}J>K=O zxWO$FZ*638cx1)=BS=5HuERwT@0fdwOF)5G<$Aq@i#|SD{NDWX(y{r3&6vuNV@|>Dj$I`0|ZVWDjjxpT=Ktu*AVOR_|!Z{Ss$hN?^=0ma9cc_ z4Bxa;5BCy^d||U28jj!98*}Pqxu|w4`E4r4cG#=lTsBL61~(WUWD4`cuLN%J(UUvk zwg%I;Aw&%gBau%8LoiF}qAcmqSZ0!{PD`{+Hc&NWa!FyEGGT-B?X$4k}l8*W@-eeTs6yo2=D!2Fo

    0!p+#Op7d;I-S|yTpC7~V`=b1txMI%n2k|g=3E{TX?d`k*5ziyFX!x{6;yMBb-60WxsS}e!m^IDh*{U;?_Af@>F@IQbZxP8bqx>rqq`7CPh4Fb z3EYC3f!BvWRiW9zyn^yYt;cSgWj#lZULT_SIK1|E4-RfNM_7JqSwGa-p#(PUCo)52>(XW{Qa2TVvh*p>>S`A^wiglsjpiVZ|gSkZU8@?jXe4JJBNDu6ir$;DlE7* zMvOtx8$;E#Y~);>8~y!5L!JJ?q5iG$5&mFVdN3)Ajd*9GJLRa5P@0Vtzows9YW)>%g>yz-)uDIvB9redbv1vFUGlz{_c&sBlT*m zm@}WX&n&<1i{lkEyfYZ1JBQqQfBEo_~ zgO#bRH7iwBX8zVHrlX{+szE=`Fn_Bn^lz2!{iAgrYN08019!!SK!NfIeG9V@?3@i2n zr$L|+%QnuQlTMBWjsv~`C`ojW-D zXa!AnWQQu&wnG=VQx$00sb^;0Fln$Ws*ynxgJuRT z3}!Hx$zT?PRtB>f%wf>RU@n7s4CXUfz+fSRMGV>*EN0NbU(CK%phtPK@BCIGi3Am!PR6m;?prW+gd@j+ywZV91 z2dF5m)bE4o%nngeTCMY`(Z6QLswg!(Qbmc`u_{U%_50v+vwm*Tzh;N4DAVPZ>2k_+ z{mO#%)A7r6y~=dG%5*)-biK-SeaduwN`m8@O+~eS)&omLt$wc6`Pb@vYju9Lx*mFfs;JfZHfTIG==2Rb zU4u^7pwl(z?`+WN8g;rxovu-*Yt-o)b-G5Ku2H9J(&?IXyEN(cXwvv;(s*dn_-oR5 zXwvv<*6Evdxy`!VW?gQxF1J~i+pNoN(dk-rx)zP67M;FDr*F~eTXgysoqmQ+KSQUV zq0`UM>1XKlGt6|Ax_?xbn(-@3b-1Rt${>A}>wL>KKFW3ew1)H{FUqalxsYe>+h=6-&L;hS{{7X_$}ApTdwK5Lf5ZCms6qZR}rkAj$fhcRiW!u zq3cnh>s6uaQ=#iq8O&doU!m()q3cx{j2EnTFn?XoieR}qpGsY?${=2Jxs|#emAd>& zoqv_CKV|~vi7Kjfy4oPVgU>p>p6DxTb^2Oek6K-RgT_yTPT!!@HR$hX(CHd^yKSQUVq0`UM>1XKlGj#eHX1Yo} zzf|gZrLt6q>+!lWI9@mC?{CogHR|U^{oJgdn=7N%bq{rdWdbz1HuX4mb`SJVTHn{- zYsUt!=^5H?hD59Vbrt5=&_6t&eb{F=;|=zlraaMVyWRAvO?NY5A9iw0pDLqoxOYI6 zp*&m$dvqD>HOnx4T!xCrWvF;&8Om#xp(3g>*vDjCR#L9eQ`S;iV^ez{T{}3uw7ID| zKFsGR&IGLOI!^?D%g?SL+rkezVP#B+VdGFcGkX!QD?BEz7Rpm6Gs&>5vB}wloqT`y R0!Za_J7$5MQa(r#{2$kjQPThb literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Regular.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0ff4c0b58dffcb3302aae160e88baefd8b73ce33 GIT binary patch literal 237868 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 literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Bold.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e45fbff1306099afa70a88113a3de74eac823459 GIT binary patch literal 142324 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 Nq~dA~zi!j({~!3anDPJs literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-BoldItalic.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..df23fc39e8acc11b3474941449b04a1229261e67 GIT binary patch literal 289736 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≫Kd%H;%Vn9J=i2ZqwziD=PA>MehCb$ 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

    C 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 literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Regular.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicAlta-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..edf6874ca2e562f15ac7425dcd6482b857502753 GIT binary patch literal 137652 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 Dk4h+_ literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicMono-Regular.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexicMono-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..65301ef4d8abece5fe6d5eb9d8e8f972601edcb9 GIT binary patch literal 157400 zcmeFacYIq#);B(L@0HwDtbS$7vSdl_wys=~*m2^-c6#ri;unikkrL5oc&_{&O{m4IkY|D`GE9tsngk+zC{GZHPG-K(ktP5`^ zq|YUUWHrrNz0zH#%l?Lt;n_&vZSK-}i?kDNtS4m1%P3>TyoG1aedM{7Cd9W8`t|4Y zXD?c_we95x3CW#INOkr6IWuMpW7ph^w2jDLHy;5xOVfUae>v0lc+Gf4_+Q00D;jRX_bB`*Q&@<15d0(Xq8u_B;d4;u*>IyQ@+RJ^@$Nx*4qnv5 z{r4c>D!9MJdl$kP9@Ft69WUocdEqJ%$Jr{XT;QJfCpW=HJ zUf?EJ;kV!w@P-hE_L8sRZi>2pKpHpPk01=~qYRg|cz?!=bgT@rAK};H?SuCUyr2bn zAMX;pf5rQ{8b;A(MhD99Vl*J|kA=Si?w{~Jj`vZ74MP}cMfbv=f$uiFM!2U%{ZGUH z0Nj7Zm$`u(IO0R{Fy2FOZ^m1Ia8@s?5B(6i8}IFSQ6`;^bd2U*y{Mbfj`soUhuHfh z%0%1g0re&5yLcb4wj{rYqkh&8$uIhWW+M#z!)eaw-rTJ_M%$!UK>x5d(r558 zy0ExdA0(yY;h;17a-K9NzN{Yz;{o<%ZDjStzTc~E*8i-X0_)@3kmhC341G(`_l&<- zAIHBjzCsO*vZwdX0iILfF%8iq$dyvRpT2BW_)7hi@q@TcILls;ko^Bdk*@a{%D$`=OX zi#GD_2XG(3%jglspYdmxJkk~4oGvVBY;&I3gL0#9oWF8V?;m{m*an{b%lh!1to@uf zUqcz-PhlnA8E~Vm0_a82FEQD{Dv1is479k$2JmgLfawjJ@D1-nZ<#`ZRCy zSo%M4&q5u^FXQ8mFXScTY0lRj#%RYe`-l7(zj67BF~;RA`*s|=f5e}hpN%QVXbSnp zc$dj)VKVpuUkVxtBk^VO6XTc3ZvLV_<8Fk-<@wKWcYMSDLmYpn9elo606g08Vl2mB zHh-MzH6!l-!prBSC1_XdeI4!&Z%RGyA$~U$oBN@8^v1gd@A-J4tI+rGHMLOw)T2UCFf!=s{pHCMFIh6a>_hk+2S0>m3DmqjG`8jzSh z^@Cg3!>V8p_b_Bw7=NPqqdpb{l%mhz7UoW>p(UioumX8-JT9ImmbcS4mK2!9o@mig z+)y(ejDH-!q2datCTCub+F-<`JP6=n9fITeV-A%FD1<*KAH~J6N-7Z5r8JsRgqN>U zK0&%z9u>csPyO;j{8m3&L-0_-gGn~|B|QS=Gc$4$dU6(ECdrPRAXy{_Fq`NBbBH1G z8_^LXpq}JLekBHC0yGi}U@oynejz4e12hwRl0f&%DfJ4cY$R}hNnF=_ZOpAO>Mv&=%BgqWFQDj!+7#U4w1CAkc zA|H{lWG>)1G7oS(nIHL(Odw|fP9$eWJ|L6GLcqyn5#SWEIC7LsB})OPk!6u1WI9<6 zID@PJoJm$j-Y2ujD!|#~tjK$04p{>@mz)hakF1TnOXibxfD6dEk$1=$d68U5{tS2#xh3)f*+O;#ZY8?_w~<>T&y$PE?SPk%J0j1K zOUa#p+sR#kmyz9(XUXN{9>6Qey^&|gmE=CatH>U}tI7S5zmjXnUcepX!N}9(TJjgb z>&QO9>&Zirr^pTDVZc9;{gEfhjpP8}P2?cp&E!zz3G!!h81NSIXykFSlROT%i#!2% zD|s^V7`cr+1$aAoI`SyFgFFLxCwUg|F7jODFy?{h0q-U+L=KUA$cupYl9vJRBdA!28K-kppBec^&Wp@+RPe2nDB6pIHs21=TO#}Rxrbq4|pU@1zPibc4c5<9%0e(hv06(X?$Zg~c zst5cVHAHSDUs5CB->C`kD{7AHBLAQkz<*L}WGDHW+5o?ycEE3`9Jz&jN1cG*)4a%^ z$qzIi@JH$b{1>HJCS&_)!hqR$~n&}Cy{ z1?F^(gBqHyMGf%;jGTY$;nRKuFjJq%9?zN@l%ByO;(_UEbK?GJwiJKNlaXk;nhg=L zI5l6Y4`E2ho;0=AQzYW))VLHU@^vV%gEyY%|Hz^5IyXn0BhTZRE2GQ$Gx*by6e)$O z`MS)lraJ`=(L!R>;{^bZl(JO{cL?Jtm?{XafK}AMu*Z|3emc41QECFfXv(AvnJib5 zzk`RD8I4cmS3^6)jC4-4czKz4Qp%2INeatIxRE=x$f!3dNoxFQd>u+kN*N;>Dnr5X zbZU14s=c6kld{E~v6y&HHHI}c_GBmN4a-LxNg+8LOr@rJiI|EA)P!Ovvf-Ee>&sO(*a4ASZzHr@q9dt2dm*~zGNI&`6*TKs#!X zF~A=SF&J53r)06{L>$kX6pT#KQWAl1B|J&xvb3oYyfjugk4TD3a>mkh_?|9BJdU@j zL&j8ZEGfev`b3d;#S)@@2|~pJRh&=J9G*xmts^OTQxi48l_;^Zs~{1?Q>G+lc%=j+ z5}(S&GcfgnKlX?*_jewnDJg+5w~O@2LCJ2GFUilGNnW+oP5~X07}?V?P|f>aKopVO zjQ=8MS4q9GKp@6&V*qdb;W#Jx;}KDZi9emFp=OK2(>FSfL#JXo*7jfcnW*58Gh*)Q zF(n6DxF;55iaC;#z?~AD;!zWtQd4xuo#a)CmK5;&&gANn-N>2bO>(A2{C));QUp5q zK@(ujUiDF5=s0mcB8XHR!`yx&)GASUQJ(@9IgOxpT1h^+T?Wv21*OHvPgFBu(?&y%9vzOze zf+$v96U`D&sFo4U(z!s3jX#|t;`!m=g>_1i6i}LQv*dAl@nD`ko`A>4eW!D%!UE7; zWml23svi#RHue{L?A#gmr}|=vY)KgsVQ?iSXU=#rDT$cJuGWKZrzjR1kB=3Rlq``Y z8E;-pEGqVmuFEUVT>?;(Xz&b9R36oO#KCDW2qr6!#xXm6GKTd-9y}>C)z% zHa3=1PQ@_Q7fbZVzFiURkL6TTa7vn#a(E1KrDja^b(x`{z}>M__>;mCWh4bgvn1j=lyS<44(Yn`_UtM! zDa^&6q<{`iH-9<=rh3(uoCe9J)by!7cL8c(L7fSbny`Z}E-xxuJnB;z{qhg@q=a}p zsuz$sI>fO|DM3+Ba#-Q1GV&S|0O{D1Ql6KUkFY=RuvAG2lbuQKKTy!=lEjFHnvyZ) zh<5}irxWU4{+zA`4{LJtiIvC+6K`DKSag@)l(u%NUo9~;BTp3P3uS<>^HY=>fYbRodR=Zm^XpqM|=kLrdefWPFJfa;CL@J}?J zrNyJhM?W!7w3Mhfxx85BcvK)>16**&BDe=W7MA=Z`4Ta)#PNj5sd!*gKs?d!I9Q?4 zCyLduSPq6(98-p3=Lbm<7|W3Q?GT)tSuL0+;B9AR@Va7o;yA=fpHwz4iTTw6PE~(W z4i!o8g=*UBF{Z4v(^H19GW|yA1 zh>vGvNm7bTt}ZD?O_daonyIs|Jcc4ifrDt#V>%>e2qq(;X6TS8$y?5!4s?k&HBni4 zv=7S4qve&s6>nS;4!rJ^hVcxn!j#ZB2GR23ex8ywATBTZ&QyY3K8avOb;bgs-sDWN zs6<#Igu4>nM3Pgw6#fLGd8$=kFo3#-E) z|1kLf=84vQN)$TRnn)T&uX7TFBvN%5{oe#GiX}#UtV#y(cJc7QPI2A%^9N8;%j^~} zIN_>a91rZmaY}r;NSho4z6eKW5+cHbSNmXeGc6B3EMf&e(F*wW1HwG9Z8qlppF9G} zl<><5TKq0TI&Pa~;+9!9ZkOqBtIUAgWVyISX2$I?D{e2?aa&BrEwMb@4s+pFn41*h zCYTpDzTzSMJ8o(<;D%OD+|25Q z8(Gb`iPaZ3uv&5RsvmA#4ZuySLAYTx1UIXO;YQU6+@ua~E#j+=II|_u{6_{kU86 z7u>Abhg&r4#>@fSmpM%ShI>!5aEEF>`8#em{TVl+&LH37&eH<&8*U?ANB)BwQ76br z+^kwfz9;`8Ka!8gFStpymVAfXKKpUEX(sMc{TsJjekDKPZq+*S74B$lz}=>6a9`$S za*TXTJ|mx#PspdZx6_WhIB$?|glzIp@-^@1FL9gdIQfG719zgf;da!;xc77^?loP8 zdrnv3?h?UWrW3ZD9d53&}yISv&_sJ35zQS)Q;69BcU4k?_P@@)oL~!HkUbHtt z)2N9$sh5`F5@o=2~wJLz8fA^n(sNh5+&C=;F&J`yuTr|1>^VuctK zpKxhhdY8%Nb5*(OUA=xT8dbPadSbS-pka9!!T#cgui z-FYwrFub~Vz{}`y#POO9yeROZk>j}IMR2#Pizl*#1xEUGj0)@9BayW5zr$aL{~rD% z{AqiB#}ujlPhR@u`A?qvfi^=V=YyPaElB z+LJzt);vL*=wq~*K8YJ=FQR3CrTyr0w3R*s4tWv0`vILukFpU(r_)c+w&URDPw6cB z8Cw5$IuE=&7kqOb4bye>1U;9w)3x+BdJa8FH{e%dE)YcW2Hhg0)2%`VZl}FPN7J|I zO8OJ1c?GSd`{*G05?w^Uq08tGpxC!`3H=Uq`yRY{EiO>s4<0=RT7OQ@p#Q+Ax|NQg zZ(w}gNZp`jAx4yo{uv|fFW~8i&@)fbUi5L=mp+Y=_dFdyU!ZODSvn14ZVLT~PR8h) zL%+ai{3rV7Yr24bMK=lpT~8zQe1Xz!LMFA*>!_VxPmLHCCVDkB(`%>&eV0qGqFLz0 z9J-zA=w(z-FQ?h`Qd&yy##p}xqiPQ=qPJmu-9ZENPFhUwqCR>%?M5Gg9C(He82-7AhAGDuj3?Kgh zrQ0X$r;*M3NlX3#=(ysvsTKPPEqA+H7qsl9)8P@y5l~tPmssv@+bjCoMvnJRaBp*O z8!&sDyUjg+#_YY4kAD#{XWN7-_g*q;`~twy;|urpp5Tl-=S-N;1La7p9ArWAZ4*$! z8PO8(MLk z+FT(xH7I1rVrX|rv`W>hsx;Yx!*PwnA&70l)S%LSYxuRAQ21bV^$iZE(*bmdK%Ww~ zNzN!fwXDNi#{*P34X7qWcelMI@|E8KFF=e;|mH zhwq5!cLu&Jd_Kp=nkH(kpp;6Ym@l82y@eh<)mnk1>OneAJX4(?-y|Or_M|mP*NfKq z;~tb3f*(m)DXaqFY1y7OIL$8qP?0$*v!VgMLGVS;oL9@UyTeH}a6ey}IWn`dM>O__ z%FGd&l`JjG8E#h;T3eCXz})|ayJva!@a%G01^@SI@DJtLn#Wvn_zl@rMhBFsE~QQ> z`&!OdYL&9^euU9V#Kv7L_@AHv%c=|3SBA&m%WM64a|!Eg^|xeN!eJWl_qI;gP*ynaTmKqU>p z(L`-lo3#!!3sj1MCR$&ohJkc87vj<^I?9u3L3f)=wCTh&txc@+r|GE0tY&r5`X;fq z#vkw_rctaJT&pn%cKeW>BLh^Rh4MAmIzV7rIpxA}Wuo}h!$E|~c7+Op(z2mfDNE9Q zbuWjLYH8J+%coR{LhX!;Mpn}eG+&;(WZrB!A9`<|T-vwVF?FibMSrXnMCEzAQ%DOG z8p_UhF3Gwp!XL%Uav2p+gqR=*sqEvR#vADpUePW;)XyPOvwA=jBSx9PKe!WC9R* z17HbRu%Ao@Rfpi63@ST7We57e3ko-jkT70Cr@)Z`g9@F3bfEq?-anN{S&3W@|aB`bDP>ZiP zVi*zzC$1kld;`xgeEdvDb!&NP3rpUjJ=T4}wNs|;IHMcBQ>W}Wqx*V)+uUBwqpD4& z>QT+T=JfMl;ql17jQ|jC>3+twQ>I+IpgYSm72ow+*EJ5U$jz-7+SoXwZxNR#>^FNf z>#-j14~r9_;7i7lXkr>;yQmbcqKx^#uC+Dwbpbyo3s}{KMHvtFavCx2O{=7wOU&D9#iO_{@Bp9FI+zS3!mK9c;+<|-D~>U zbF%DNMOL>`Rh?fuwwK4H>sc|@;LGjb(tY-};pOM`F^dNJj74?m#(R-*8A9$N`?92-QqIH{A^Nm2$LE!6G~;BW&Z)NsDzPC6^qdvm6IW{ zm!jMbRvwvF#l&}aB~PZ$S1=k=`hEB(@n2d8w<@O2B<7|GZ2r)&(p)r6E2Lq-TeTo~ zz%SI+<<{5P#Aou2#x2)mNV!Fg)!Ekkxh48ZBXjS+#U9Wa1+V;4c;0&p-#_xfl03JN zCi=gnhmO2UZ-1`<7F7CGBwPGiTMa8_4!AuZXzNrSw?eKkCQn06mFVx>dT@5YUuP5k zQEY4&QfaChKEJ!UWVI{Tc+oXxowu-|eRWowbf?yLB40!Sj!eDJS^9<3Bgs-_t(;fnc)BFtr%$*2 zi0JUIjx3$qS@Joe9omXo+2w&qba*69Mu}yMzBqe9W|6ff;Miugx{p<7WNPg4k8Y#+ zmcr6nb5ZsteM!~=aE?+cZ$*N4E3i(MXUya;%+3)=neI zWPOU*7>C4XRh3(6jWzL!6Yh{`z})r%Cc}C~X;DAStC4s}TOtHbL@++>9sWeTmizfQuk@equ^kYdQTnmn|FugX1h-JKF3cZob$2!&v=&Cf0)?ZJ*#E5@bc1YQ2 zmEnQ-3eziSI;M_65Cr&eo)Cs&a=jEk{g%bXl?M1ib&HRybVfD&1{|Xr8o;Q=Hh-}R5zMqs~0xHBL6YG90YlxOL9i~i49z*PA~Na8l7ZRf$9>3Urt0a!~Z#P-lOY#XVQ!l;pYnbEg3p=)rjiM@L_j} zEhEEL;`WwW(=zNOn(xCa!WV`w3a^;`S6cWe%z~E=Z$G;IwTqftx4ybn@SpsTr=}^d zZd{|gxOsGWUQ>;S(-90M-2<8DCFM*+sC3*<@-avH@C(MO-s@&fbE|!1=A6wL4D8DW zEgQV`z9twxnLtz-4=i3whbezk^5tLU{0b@?W#d`}ex*H~LGe$Jl?n#ksEUm4qNtp> zQ&ILQK!)+488|(Ue&|l>nH**u9$N_%Vh%6F94-RCa=6Q*?gloWJJI*uk(7~GRb+t~ zpV6Ac`Z_jydp-E&BaUwq4Mpc}OjzvqkgOqThoYR^tK=B^Uq52}+L1M8fBCQ_eMj$` z>nto@{P>8Khd1>%_?jwmhV`9ao@LLY9_2AbdC8oY(|A@>-!mr+@el6bIICYk3F*xF z(@OQFrHxB&o>4hw+_Y}G(XET-$_1=#B6#d5+SZ$t9Ku$S77b=?t4DkKur}zyIc&wG zYW7yOH8pjZTtkZ51`G={3uH!%{D}tDsqH~a%u(s?^qAo}3Mf_^y?Li^U>6oV|b3=kb zz$%Wx_V<+ZEMa?At~E0}&uA*3YlDJjU!ijHBZmWWG!%X!6r#ODN{J~?FB~vgHQ9#t z4YG&HPyD9ZXVM$MwT1)^VJWV~FlK#VLm$+Ah;@Ax^iB~yfaxFWbk0v~&7-muSlkND zCdNIC$c)Q)2Qd{9T>=)Xr2`e=A#nTmic2nO_MH3trGtlD`RP>umn4i&l_TZ-k_>?_9)8J1%ku^bz1 z<=8kZ$M#@3wj#<&&J?sffSpX%a%MJ&>I!CUK;^R3Rx{yMlgsE}vs!2eC0V+{Ew5jD z=rviiT6x)Y_Z7&HgX<0O+q-4mVmgra0kZ;Zke)+XK z)7IFFQDMd5&HcF~dw{xLT2z@+-u__q#PdglhIeq}^E(hKNIJCk3` z*r1Ll4f;}!%dZ^9hdC*H80}CnnhyI3Fchc@+FEK-#F2`q3C~J%*uweNY(at2)xKO| z{iMMp`P++Di(8gnlHK4X5x-6NnFhaM3{p2>CwJo^EFQH`exx!!XEgIUqZ9#y_?%H% z#k;B$T~!+Es#0`SDe{-1t4h&TrRb_sbX6(3suW#Simoa}SCyixO3_uN=&JohVZx#j z-PDGNtuG)g)~qXH1%~gqS+c-&aj!LWAD*#=gn+fanF(^_pEG~InVBB zn$y2{;I?Pht$SwMz~cUMn;aFFZ)%>`&+qRyues0Mem-jMzhYQf*{~J;`>z;YRyKTv zSYC4bieVSctgoMW(XbV_mt^YFEp3yQH7~qtc|*hUyB0Pto78H_(9xBv&M)jWxkvS= zMz6PVRM=EJaA9Bnklw{5y@vYwE*x0Q>@b;;W73kp!B+!$*d)}mWwVH>R^l{q6QfzsN?r`l4l^xXSl~SC!#&G$q+B_F==iDS z4U47@sdKfSb@N0lr1h(hhF?8YLYqf!o~kHQH;){(yse<1ZTVyQzPcrMt#GHAtp%ox zELZKwl|vcdhS!A8e=&UY@yR*m;xK)nZ!P0i#=X^jO4w2Z_O69so@LSys6sX-g_u^P zaxMYqX1@-TDZa+n(L5%FqGK_t)q!6z^~NP=t*}tpsl@+DPDMEY$#b)!yvk-&K^PR? zFJ3D3M_q1GsA`Nc<%HFNw+drF1GR{3?o2A#6m`e+$a)jgBX3YHQ}9otT&Sd_Ut=t( zgvq8=BT809c@h911jBq%CMIVY;IZ8-LIuv3%s}Jw~53 zO|xDqIXTNCy2UvGDO)IXoY-2d$(Bl_C!P8Dt^1Pf?=wnu;Z?b1Tk}lWLT+y9_L6Mc zlJ3Yu8_6R4?*&W5U7Vh5wUeNlDIvR=z8#a}wTl!9BswuuiG9VTss{d|qRa;2D9&SC zq1h&#U^tsp%MD+wU~Xbd5~lJ5UI|EPz*Jft5P|85CSZ!M_$RbNYR)Yi3QXI-F_v9g znjJn2Ot+S1f0tgW2Vc*L{99TBzV3km4BKf5___d`yPuSx-}|${E#j{yXJ$T6Vv=bR zpvQ}BSzQU9j%hN{iC-r$ax!Ix=`)t(UKESL9NF&f6|)P2MfP;9AV3Ei73_2MaHq#} z@BYbG&8xSU_b%>{Wyna^r}(XZAICy>T*Kl?C_1+S(;t2D=#OvFr#fc zrdO%#AOzerKGk>-;zS7Kr54e!<2d11fI}V&Fz6Rxv@ZaO7T{pa0vt|RfWs>baA0Kt zj)E+}!IT9! zB%6dWFsZ6K=&NCdj+p6(O>K3msui8|Yik1jB1U-~md~(pxWtfx15j9|ra`KBirAvP z28;HhkRm}LP?y*cHc9p)CUB)3x1)B$@Uh$HcJDrS``DZ2JKRbcH08Ayu3r#-?}2kZ znKAU7v6XoZlbdT+oxgqP%1>ri*ecDwHR12J9}FKn|NPAtt=~w8KlU!2f6ky`1227P zgDkf{>1&^oNXnPkl_wA+>TZL*y1dwb`5 zw`|(h+&i>o=fl&7uUoRDrKYVcw`X%f^`sK#nDHCWJCF8z>=D}kybTxLw{zC#=bZb} zmE$smTqFHg@40Od`*V9SOOwCf9E>}x?KIml|2l{dBb#e?s_7l;c4&0!G7ht=pP7-F zg}E*uoUbceP^J?CS=PKqDl&^QE7~6^%TaR5?#i=f2@hqJW__Gt&7=3_Su-?y0)gKy zk=^BgDlgetf@yc7$J0Jl#(I^_y>FuKOkQ^}&Rhi#ViA)Mo>EsYW$4pSK`t4XxldJ^d4I8mi^-#|W7H*s$b3MYDR)qX-VD)OR_t5bd(JGo z}lUNm6wz+bUS&mD30u)xsayPz@zr*0d+?gm$ShNk%G?Xzz@ zqnn~}D&bAa;uYPewD{W3QNm9vmfA_J!InO3UZD6j>CZI%As33Fudr!B!&U@LDyw=J zjFF7#>bXHAO$(mmEXO#GF`TBqN8b1GhG#Bp6pjOE?%~7V(U~dAHC6a>LIK$B-XR&--P7nI~8%QJudmx?o`8TX^tWe#-w$gq6o9_ zy$Ro|u@2nD6+UKuxm!`#=PgBflM6LUdjpq00hfFxx!IOqKF5Vgk^&}hk}zN!KWa^2 z|G3*`Vk@6|I$x+3UPGlPf^11cKSebqA;GBZs1Y=`1(o4SF#K>xS*(QGp9wLu2j`Cu zIDgcWd}g0v+COS!XB(mXK&%EJPSsf)H9&ZwPP7*cE(I!un97b_1R%u~`zS-PRdTH~ zQ~3?-`-!4AE(`y%@ny5e_pudr!!zre&NUIx28 z|J&@!>OV3)>&&O9?U6^Q`?&>8jpo2`x50Gzkn6s=#WW|oh`oOr}nC<7ezPT;K6W4 z1Xu7M6M~rFg^`M~G$`a^KV%cI--87)+l<0&*M1{nG4cO)nO#=s73hm4ifjkXg;fwX z^MJRWRH&L7Gley?`AWky&?tUs48JrLKQxq^|7WLd##1!CwH zJ|se6lgD5aJi08uy?wX0sJ+$hFAzrQv$VF{_IIOWgklR<`YUiZu{9y%GZP=5jL$6b zHKCp%uTLNk5zA&Ti;>S#n74o{=B;ueI9Exx+l6J!3R!*fr6{+Yc*ZW*yjcwfq3nFF z<{Z=)Owh{AN;fCbs*(j%CaUYey*8LCp-QL|Xv`wQ>>#4LJPn9RR69?oezROh4O;vX zkCqnc%O0;5@`RfELxP*?OeX0=jmvtI)us7RGMRMLErj-P;ss7d*sn2(qCfcCWucH% zWiX35hLbz+GbR@C3`34+Hk^1PCTE!JuRxo;r1=nxATfEH3mPWuf}L8KFce}R9FwoQ zwV`g$qlJ($v9XFFnZgP03e~q3n}pg7OKy%VRF6}X7mH2pkHMQoLqg~VwBW*^_r#CJ z985NnA&6nB6iIyzI*rwI;zNct)&Q70mtgK>`-a7bfVviHNpz&L9m4&@3-n8vh=vt2 zvEfJA?8WuIs8OTirl0WL_OEwOnX>!q?U#MMd+OBPUtc!u=4HKlExUQzw40VSH7&bI z^ZlZi!p9$YAbkAAMT=gft_Qf$;1Q{O0ggX{H~$X0njy*{ zuGz5=rm^UNnC*4EuxBzilZSS;Dzji#T3DDw$G(m6Gmfz^F(h(nr{Tk!8QasexXhX`5V;tA z*=7?Y09%sVT!O;)ubDlT@2*NV%|@%SFnri&-=%Yzb(YNQf4pnL)IC4#*zvFXruv$O z7UvhVAC;}Sd2YGX)vdm}JD}uc^;&ty+_`tG>Md6^H1~16WcTGgqR*y6g8sZu&N{qf zb#;-4_Ll@leRZ+L;Imug+TO!!S%z)5T*D@4LIdI^XHB8blK+=7-46W>|v3Puf)|KXL0F4?3F{k6L^Dz3|83 zFJ>NDRqAoR``ow-Cs!A?EgG_J*{%h_{#%|}_t>i?nu2_D_Q(yZl>v1Dy`${N!$&_Z zF3Bl>J>RT5)8E*y(ABF)P;a-k&e}9~*3F9>dS#dMcCAK#%te3L5*Fp?ft%=V5u5#D z%lm-OA2%gqZ>n~+B3%MA@R%B*QV6{e0;~y-4zY>8l^Kw0P834~zF)%>FGj<=AUkSM zS3a9F7!6?pjqg#(jM?R6;cdeBG_#408AvRmR^7n~h^kj0g>E9=r7Tl2goqai@+q*UbE(&MWN85d)5dqhm@1s!yks<#YtvA@WG7;=y_~i zg+8@HrDPVa{ltpybH)c@^gI%$1~A5Xlw9Ct0$yyM^{cC~#Kgj8VXv^NB0D@i-IBMk zB8Se@@F`?gPQ{sdmh|w9?22N|O1Z#)($0RSPyD;TK>qC#*x@Mdju6d8;1f#BaXv;B zU(y^`#R95SGBKHe1sKqAF*0#ntTvNNU?*QdGdM9FFnba_OnYHgST@V4vdtfuBUt1q zHaCvd>&(`SW2TbnrN(E|tY*D1PbjcWlg+|r!DV~BIQId)$8gYC`WeKE=4LtHVm;a4 zm@DWF^cHVXc%ng1jYjcFt0iClZM)6lr$arTX9Mxk9LiFS3;b3CkF zp5%7L^_(b;t%^Ez$Ml@&>;`(n#ca!gx3DR+sMt&!^~HMHWG-IlGU>w$Eq1y)H@D!O zVsnJ(iuK{Jx%h2&u8AJDn>E+VSnD2_Wx)mQyS;Cbr~OXZ>!Al^Du>%VURjvr@v7s0 zE7~v`Z72Yeopd!-Jmc&fx`L}_ol(ZYBCaDtl=%ZYaxD2vicNHZu2@Isnu?d?TXf-u z^fcu@82dCg$c5hac}}Nry|++4xzUi98y*dDb}#IGDlX>&mqEa#kgs10FpSv7Y+{(k zc6QW75!*Qdb(p1~c7q}*N_O_ieO5yuTaumF0iQSozLWpti?J4Sp6+CSyH9yuQJ#fc z+z&T+lb#6wD1MCdi8fNr)TE!sY^i!vEV zKSkTx(KaV*n+Wwg(Y9zkylqyrjqR$V*=QSNySn@^SwUIVgw-Ul(S>%hMWHyMT3jsF zgwe2zvx^F>bfsW(T&yTsbM>!%Y9P1LvQ62ViP%aj1BKc6ze>DIGXVYSNbp!{J0%Qv zW=qb+aL0&d?d78YhM(9dz;2OfN5|0*>;}&PX!qY4{D$y%mcYS6gPneW1%T$AEM2%1 zIz3%uwT8D8`0eyv9sdpQqv2MK5dH;?jMG`e`W9WPp0}X9#c{R@Nv~rS--wR;MH!~x zAJ%bJO>glz?Zey4R5X|Pqsms*)DATvqUCRA^>Q%qqmVx2FcG7q6YH8VS_2i)R8 zga?X&2M4@7L<1F=spYjeX94{n4Gw-F0mr&Riq#RbGbfCoOj5IRhU%6klr`*=bE_we zVSX>2SG;fMPv0q{6}P={*P^i(&!|1o{9IUaj_ z0{+je&!qP;1`1&<$L>LgjYt93@Jt-71gdG6Qn+oLSv54FCXwDP)fRnvo$vxLp*ewsgRmZ39-0C`;2hikqkPZJ0hVBzZjPj)tl+ zHyqit>BtRZ3L3}OTh<=<7I%~?Z>kNQoM6l|PTW4Lw%fv+=hlqsQ{~c2c|GS~yoP}5 zZtzD1+iAg_Rw&f!s7%u7*`X4y)58Q)33D^I!PpclJ9=kjYx!gwG;B2%X}8?&2F5_6sW)T%8}>2eEE=}SG;k-pzSSw@m=g1=gU1;+%~uWtX^)7 zAf#ty81oO58S>WZ@6q307@DI!&UP~(Uzkmf8H(7Zr35pHs%k?XV*uIMwn40`p;tGFAxsfC4IJfO zejMd{rM<95Oz$ys%h*ZxjKRzx2*r~Q&AjmKtA}ZZUi$ob$G6VNi=1Y&s#7Ss zNma)E=o-J;X^3IlSFk%&)h_c^y9`vLsXhtAc}S3j(CZFa=qJbyNbR?)v=Xfuv%FdR zkhZF}R;$bHfBCsJRmvzObn?-V>=64pWO%9y?s#J*7#V!rUMzisK452shaLjMYH_@V zVb~k3V0)?AReUv62S$o11}4U`CN_B-#Lj&y#v>GGaGg8Gb#BgeKCQs^k7KJLb_$0Z zw*A-xO5G^Jjv$vn{FD(N(JU!!)}DsZ%P$)@=KB7{ZfBqK`}SWprbn)nA?8{`S5KR_ zdrhA{Yj)3jezCPs(rBv2hJ^6nN=K|5G;rmJ(#(>!`2z=?J*Mj72g3h(a{VBe)s|EK zAsgR$HH&ty&JQ}Nxw2v8j`1X#G8|3uDva(RvIs3+i-MTHjarUeg-SztJD=;_w zfIj|O`zc0qN4+Rv%Zt*3FC}EIKKP>Na-yqrZj@r($y&)Qdu+$+vmqAu;}qdPHG5BFjl<@azQKPLQJX_yC!Hk zILaClE)jxbgMwBF!NPdho-diq8gEf%p(Fgg>`HUh`AyoQqO?MX=9^$}b0`%4Mz&uV z{v!P2_Y)m?vb^T-&6iwt$9ywPi2`|~Jt(e%oXo;10s9~(@E1EQ9z`j72Zhlkijr8v zZLnC>Xwq=jz*J)kHEHUF+l62sju7UZ3a9;MyDW^?R1KWIWKE+I6hrymp@ZA%3MsTq zj?k-i2NhwaKGD|y;&aa&Rwal*Ntr@|MfB@Oz$>X=JFQ*3jL*I5+68AL znUcgXg)GG}rl?c3&4QSIXs6ofDw>uF)ng$+)BQH;v-{4%F~#s*F0YX8(0ju;^cKF) z77#3A=rUO5J`2kBcCT0Oq+@XkH$1k;6V9^xb$YrpPhS+iBxaXocJz-lUxIj^gHXYo zNxH0op=nUj#0rAzaxlut%%IZ11q=iyyF$^#bZFMSt<{po?9f>3??T7(*=@MFot8;+ z?ULKB`7-oq_z868$&H|KaJ?csHXMKV?a#y4IP9Pse$#+xWc0s?A)6{4dD@P?d8gM--``$07N*o1{20H`;yb749O)@9DK zb?Tr>$VhYvOwQPa!R8*@SY{VIFuu|>)5Yq|IXM!g%>&2Dl>xUkM^vt^(T>vP6gRk( zu{}K^M%*0`o})FDJ!-Y0RA|a{lr~it)s~ewbl!}d^2WjCS6oIzp|l)xwyzfVaooi%0M=DV_}0+P$>E;CEZ>m2DLcN%pnW6#RUg(d=jN+TTDk zKbfrRHB3`Dh?xL;h5Trf4oWP${=}@8GGwk?6%)0cD4Bdv+8ZMpGth!y>X_!#5-c%8 zIH-du26`W(iB0-k2<@y9ee=&5eeTHOJRx*_4b0!wV-=6=>N{w37r zUof(LFYG+pppxM>=34x&Tvgu0=WS*yc6DJZhUwJ|M&)W+r%N6X?@3$w!nbQ4-_)<) zrpMQ;d3yB>QcJ$g2Bd%rN>xOUXvFOGb zGtcU6u{5uqIsL{(4O|~P8XhaPb6uhyBv(0wpY!2|=9$2a-A%!K#Ey8x4XFHj3VlWh zUQnwYsSLx}TAF6IFMcAX_s+bwo2@`NTsC6m0H)_wjyY?w$m`i`d~#7`urZOM}{h3)yJR*xngz27uIMBUbTd4fJNnXUE#GQBHGLRD^!}$|qm%^Nh~P6sS{{ zE}naKZ?n1g*>j_9Lz^hQ7QEe4nupmDmT#uBvqPUT?oDW}2f+N%5e^F-MtBL>yadNa zu+)v|@#>Ag`X&iI1g^z}ttiuCs%*r8cvG=s=#qYgMYtFBP+dl@Y|O+8NeHzng|fZp zfYFs%rmRx&1E*0V(fWB;Obkm7XZ@VJue;*LJqv0|3XDd*+hL@Fwu6zAC+r7QVt{v*@zWA1T4{a?LzrcN) z+9_jv-71ODid@X0j2^-8fY#BK24#=p8?$|ZP>C&J z1n%Sev-qEuKa-x6W`iC4F)ryi&8oH#BYJ?_L%3NOr=Gd?Xku4f*kT4P@YmO}BZ^QZ z*)btpOUzt;&Y%?|DmA%OnaS2KR2j@JsutKAub%qUb5bQHyU?Hi%mf>~8!7>H+D}T= z?CX%dS#s~D@BR+ffV_SmbDV^`yEgQDbPbj;8THMkmJ1 z#HwjH#ZcUZop?<~%}86mbf%~`S<<&<=3B0^5N1cOny+-mN2QnbQO+~lV2@Dn}@`>`Rk z>#t~+9qlT`QQIgzJK1ECk1S+DAwU+i&5gDda*j>14*Qc#-OM~3HP*u@4qr&RA2*G{ z4>|Jb*;bSLIdgv2^9G;sh|T|;+hnC1^Bv*CIPyNmZ##itYPI>L>0UXk^Si?%9YuO0 zb=jyb{IRRZK@Yh7^h??64sWpuHo6X15YU#_+dtA!v?YKwcC;;>R`5}VHZThmGhs#d z__&!qW>CbL5pZ%0cXoL&rd!s|I(F_VMH%X8Ywm8%(xq1$4dKDrmi$QpGaYI4>nO=B zX3RAIqhreDN>!f$PMuXh)8i5EkPAKS@5q?Xi+pYw@&M|E^a5}#VDi8K8Ha;D5CaB? zfkGzN^06e~axHqY6UIh%$}DaN1WMexOvfm~NyXm&H1-(qmB%)oTaFZq7ZoSsg&olWxweXw@t^x~*3d=Y&WXN?^gJqfXamg6KxT}z*3R(1U*TG%KG)+!RCPdUrv`nV>{EV_TjTK~trx~^&ThbP#bHgjNUDZbrj_AiyT zM@uW7HMe$pwcmY7v^<;BSz|$IMP)_aOAH?Kyy^3&1`00rs^!_74u{iH5Z>5rM*otM z{xiCDA5@MD{sUEhd=v^u0ru=hfYT1avPnTv#*l7sR4X`&9VQscG!ym%APHLpn=c`8 zF^gjB2ZV?V;5xQH1{saLz4(4NSTC-3v+-f{c=-YB(QTuLeMvp7<$l*%d?z1W0iN+kt&*=)nu#+!~m!`Ks z4%(O;#2y_^cJNsZN(I&vd{&G8U<}5PH+g~+j)a8nnA|wTVXBECu}x%Nv1drSH5fWE zCHU(T!H{%}&v^nJ6zM5lfipM*@jD7l>Io8d6_wka)l)d^^Khge=x5wLl`?ng|%8Gey9(d$e2jjk@QMTm~5f}*Q(6Rj_814 zEfo3LPmQo!qf7wfhnk$tODktAe6{$DZH3L-tU_*yuXg6es@IgJ1)STahlbbZ zyFBl65yvOKK+gq60&nf@Vj zZkT0oo69EE_FF!pyh592eK60GRh#Wn{FXv@L9VWGmVfZvo2TmwOhcA7pE0=90z-DV z`;cLS`}929;v77DP)o1X7RIvz-K%MnDzpW>&v5dPX(GudaiX>)Xbn-tHF_Y32e55@ z7>S{CvmXrNzrn*)3TO>r;o8`pc;=>imDLLV(OcE81}Ckcud4rm2m2`zqIpa63S@H; zepCeKl`By+(>)Ji8&Zp(bB*?GCAtiKmw^yw5-3C`4`X^^3Cds_K}>0d*%q#YxXsf~ z)m7a#tI?3AEp!L`Mnip_#*O}EzwN>nh;``3T0_8ZGAA2PSck?BY;)Ta+d#4i-_qa* zM~-|Del7eO`_f?e*TYk%PoFyV(@mR?Pn|mX;9*Z-+1iEoo!#7g_I(SRR(21#<+*bQ ztr}5QKI-hD%2Y*mYhL-_NciROYezo#;0S)mvgXJK^A1n_{DO_IjOjgSQ11cnZK4^6 z51(|E>q>g9zH|P9J6AQC&AKw#kQJz#v3aO6V`z1*Im?8L7x>l9cchUR13v79^(K4v zlV(g`0(QrZe0N*`ZP*#dW_&&PdJt1e(%5FT77i<3Ki)dLZFt#cHOmq+Ww7y6k8Jhv zMN8t>m)L&n_6hfKpiJ~oVGru3rt1GGAJWR3j_gO2@-2A|8I7(fiL2@ETq zQ^g2JNf}r??L-xrO~;^ncFd zdoRzoHb2`!XX^{iiqW1$yIXSI{So)P$M#SO_BZ_6zyW@@>;D=a>yrjc3CWkCB_%3rDcvh*h1KGd~{c0Y!*U`CvBu<=tU&+3bKoSCkodRtr&_Y??iFzH014Mf@)gJn zyown?EORu$>HchlPWO`lZn8Z&Jp6?Efv|39&?`GLDq6PW6_oeYxK8e=srcO`sdJAZ>HOsQ8W8Hs2X}`gV&=R zHK8QpJz!=%q~un#*VKf3xn$oxBX2T$Pg~mBw*2&|wKIaHrNJ4s^j;R6A^)?jx#`rYQ%_sg*1Ghx>C^TtR~8hv zOsT5sYw>zp`l_n>TZ_Rfz6GA&%P?J92!k#I|EHZtECc&ZNjnrFA{Cw9+lb5OgE)x8 zfB>k>CgOOAY^kA2q4bpLRNONWVz4haU}3ON)A^f#AH%;^%-zU+d!7Nnpdg4!kMJgx zvrD`kxl~bBlY)bN5Wk6i_$N$k2p4{|cp?$G)5^em2_>Tz*R_;M?!o7HID-!Xe2!!d zOaqRLp;@UNdX#}|jG*)p+dK3M_ZKd|Xn8}iGNXR+j^c{Ci#86Ov9zgf$$3liymr4d zpbRL=Y~*(3l;_Xgy{N0m*AXaefLO=_gY);V?C=jQKY3=3J3!-pOuWKeiE&S+j0ws# zM;$v+5Yh_p106L;P9|)zu6?BWa8)Nt6JIOoY9tUI+)lFCZ*Gji=#SDk;( z9L1*ePwwu`!jHw-%^BG_<&ze*b+2$|WZ67hXPkd=X*S1pg8Q;o`n}~v*u3Nm5E*x3 z^uVL6TI!o*b=PdGa1^TV7gcvv`NL=C5EG=sPI&7+j8M z3JI}PX-qEAV1N3RE zWiZ4t7TcV*%nUixnwjlzlvZ~6PpQpt=Cxh8?B=Cz^1Brmg5KfNVw%iX@p!OPb+ib-1c_dd$wQ?v);!FZ^~9o6E@29ytJ;gW<_gY?aCv zbuVLd#vtV=l6RcvD^o%+7&?{@)5peIg|B zj%A(G&wKD>`L&kMUkoWS40q-5pwcdW>@K$E&D?S6lJ&Rj>4ksmVsS`XDa|0glGkw2 z5@WR~OGoEghOQ`Htn5+nPjV{C%{Xj=Sg!7qU{B!`l@QM(r(@i#5Gh99HB-Hvk%$VB zE~(!r{%UZRW-t3>W*;yKU9F{OHajxBIe8~8ek3Qe*;|rtwaDulW)&l&R}c>2TxZMg zVhuy&;A9v~n!2lnP7MS~&8g3BR3QAyJk6x_QZg@&FdY!m3UCLD%4f*<@(0R^P*P6w zmNeZ0Y@RMAFw`DJssyun2m!=Gfb--w+q{yfgx^#^N2G&D!0~>~da{GwuC}k4y;~%<(7_)Emy7%Et~A~^)72~ z$9u)(Wr9DvP<%-KXV*zLZrE@m5cGE5xPHTpCw0yDPhH#9b;5w3bg%BU1OCzAxsXu> zrZ1UaG8bW3#A?BWV2MF)!@W!U4#LU=r@$|EmpgQT{(8yp6ye2xvQmIOU1vO zV*b1KEJ65DvR@+Q<1ZDtZuN#7kE1|b?diQuftDMi+fpV8&fJ2Cf8ZSHHCt~rDiVDfIli=bzL>k`tGNI=4W z3CO68(MwS1KsC3q1jUX?K~lriZpAXs5TnA%I3cS3h(u^w>k$5)Vuv}v<*d-QE?&xB zu71d5toi6eSdT`mM>hhqD#JiQ3D~78yVk4WMCgO?S-!c`IQxlvhY(Nb7e8{;hba+8z2(4-mvZiIM!7@%E z-4F)>f5WXj`~Vef;z5X?siM&&lZUMbHila)+QlYe!0 zu(E$u$JA>V0J!7cgKMrosmBrMZCY7WQJ7-h3QhS#yY$Y1KoE}Yy!z7B@rU^@)HLDjybgCH*+ehaSGk~V?yv)p)Ix)U*9 zz!M;1@JsN!Xn=?LF&Xp+(uRAm9X4|9M;}QJ{h*IIgTSu!F(cQOx%aT%F(+Q4pR{rW zul1*5<`EQ>weh-a0+) zIayx~R24V06?^xbQR3?iRC|C9$*xsrib(%FyrD9Odlodr5-goaPB&o zACr8%lL?s%5)@QGQdEISK;B0xKg+_>z-x&Q$%pWQ8BV~0eq8%0f~WZmp<_k71t5>e zHN*t?DGmzfsyH@o$Xy;~f$rv)QIw{h4Mm9*3pfk}F#PbHih^(j@|!*?by$T}a=Ghr zSB3d1*-?V13qU5wi2!=Q+mDa{MZiwMZwD*9^6Ack+nmnPH@)SGR7H9e>Q2>t3}2+z z^e8FgHs-n}gWSs0a?k@HPC*ZF+GgO62d_H3y6~EXmkfwhx>t;xP@TU`BJMRw<6Z=# zuO*upskH_;0_9jp%zb;%GzlvXfDP`nmEp9N@k<%sBtxfx`3V0oWv0Nu={wW#H?Q)e86d7^5u25m8cs=REPpXp=4H`cLj$nHorEpC!(ub2@U)d|t@AI~H3< zV0bne!14p71xLWqEw~{4p#j8#$_q+KWlm~PmoAMdA&%q95*A$M#K}3fdfA=?B`c95OYmq{3Mx4n}`{IjEs)*j75(*`Z^@t8Y`jI z%}HnA*ClfJg_PsBeicOAWLiMAPZnIz0T%Ec0QC-I(ERG4DS$m`p*?|1lDU*e@G%jL zpXLN`5eg_^>jZqv94(Zs>C8*?Mntl@DcO`Pc1;AUD3BSuBk<|depoj#xzs}x6(yB0 zF>ojvYlbGDh_RV9#zxLeDrHY5snVH)aAmBV3jaRYM67TDN92|Y%_N~z51Koza5aOSLdPJ-sDLd54N^W9)s;cE zVCPIR^cFt|ae9QdPMBvAf}Ed@B99!o!iaf7u2r7@an;s-36wnA>73AtT@Y-q%dsRpcp zEfVol%D(BqJ2Ii8k>HSjgA6oU$vXU!ARQ|4?qTDGK#oQ=bC6W#CR_v_j%#(`QPA-E z05FPde4$wp7TzsnJi1}SW9nyjs}Cv4R{95gxL>k=-w!IgxNyH_6-X zs6rJjoW*Lpa(S+S6=IX()y0@}2~9XHU0u`XQUdviPmWc~6KLw;_r?YMu?3T;=;5!W zMgk(6mSF)g{^5h)L*aRdluOPum^L=~HY{5wkwhg96^b;$Ad|BhhGHYKqQ7J)LDOPc zk98c-pcqzkZF&GgpaXqw#GfWKHxk2CxryD55xxb=_;ZtV^h0|UG0bQGy$UgJ4&^XbVhZ5W2#e%;L z3HSH`t}Fx@a7_V1nm0t+4PgiZhuNUFv^ZRkBzQ;a|xD=hw-^qI{n;?J4^YJnO zE1&^%Q*CtyDkhm#9AzVx z(T%dG8=4QyFdD~{Ul`a>kZUju>vY?(4x3*G#!v^_u@1Il9kU&&LIYYc#v395ScXz4 z#@+*1TFRthz^cq`<))Nc>R8i^IvuM0gCnaF+_xEWoJC&3 z+mpN_N`z5%*&VfQfEtb}r?+uXIZe6_Llw9y75Q}&bK zR*A84Ono{fj#Z2lo0$UBN*^=Ht#QYkNW)Gw=6LxOekb*y4e@kciXrRk%w$r))I)v{ zj>buXD3^IT$WG)}U^xO#3E>^-wjgg=SW5JzJ8EGQLSIa_^oH08znyXhhSa$&#RMcy zCmJ6O(F_P_Tu(eNHPyv1Pt1U@YbkG$C%I4_WibwF1Jj8y?gXC9RP%{vmEq+nCl$jf z)kjlIjOoJ+_lntRO-R(yBIGqh`8AyK6H?Kb6lTg=Ht?^cCt@|7@XM(Hu`&!oy4;%_ z8cP(iVNV@`eUgX8uO7y53z(ab>N8DPWO|p#r-%e)mZgnU0>2|zNVWxKe!}`FjDn>G z_Ri}szNox}7VY7e6#Va{12^4xrTp6K%6o6W{Rc&|Dr!i%`jSho!a512H-K#?qaJ6f zX%=D0aZ8di3y=`b_MZ~Lr$>0P;hrNrTdm^N%Gh@)tWhieq_wS1C}3cKE;mbE1w#b? zv``!{M68kJ9D|Rtqj`D zA>?Vl3Y!V?s~AGc#l+SetU>^L5um%cZlY@li5^{qke zfG>dMwy@p#f4pbMy;F#oYUx~nWIWcLlFUdY`?tZa)cT2Tm1T|JE6n7MsPJ7A-z@D+ zS*Ag5v>{{mUBF&oe+b2PCXNITdQbp_&V%jKVXz~=DIW}k@)dy|%eW7PM<}b(k56^# zXRVW+HNAajCqB}Rk96aU^Kot9&}vE_t5an?dW|Y)O(1BRBs*(_tVy0wo)M1zF+8}? zh!fU`6V`|m)`$}Z%K-4fRgR`FON(|)0cU$6ehL^sR)3(aHq+|MSy zQ_$Zv{k~wyDL;V4 zto_olZt%ZT#it{VusbKZ`IgyZL)D$kKNfy`;?!W~w4l}5^rQCfKO;z`w=w&glt3F) zUv4?un9pb!L}NDJgNz=ivTS)|?+w^6?I>#5i$?WM2@yj{ z6m=MaQTvld`a~m<%LuAU1k{xfCCJ!TC{!R+g7(TlmG?) z3231aADO4q0yPT8dDeWoP-}U98&`3UnIj8u^rEmxXku^SMHAg+d4}QU-lwQfPJCyv zD%v?GgD`-2_7=f0Vp@hBrLJTY#fMJEu5xk3ylYf{|HXnSh#Y=t&i ziQ);9>BeNf>y!~nwR$6P2LSPkT}=liP+ceA)Y5AV;~gi=;_E2JQ4UYlW{E83wa~N-EkUesb}MgYG=snX44K`71j}?!reK<|EU{l ziD?O#!T@=AunnM$Ds1;!Y&WUL8zZbhi|`v;-a$Lu5q0tnP$=!>YY6k~7BB#A-*1pzcT(rg`+yUS5@)mh`07NPaIeafc&i+8-R zMcH=Zj*$B6TPuB69yP7Mc3VgPm!AC6A*Er_nR9+}&x=1i|0k1ul|xUTvG+$8PXD{7 z7`c7(w)RdxWkpY})$3K)@40bJt*?LOq&erUL>OO{JI@R>fLDMvxZ7M~dhCQ8x#hL^O0EAgi39M%qWrMVUQ?y{! zTfiw=z$seT>1)B?+cnw7JIwzj*C?dUKbaGHk6bm|kM_u}uCwJ??+x4-=U> z$edx#GFz(&S;xp)$;7@B#sqmI0mP5jiL60F)Tz(33^zZ*kXvH2m|jomTfo}UcAVX67+27n6u8j4&2>Y(r$$wTMGViYtHX zSC+O&)5T)Xjf!PRKMud9$Dn+R$?z7K0n2H(RLGq zjiCwn!}XzJ%{eb{LOokdIE?eL;S?ceir9PzHWYmJLk6=fU2@GvC+fOgRKrBYVR+-E zOw4l#gBZa?{Fe&L-35BIOIM3gVQ4n>pU_=0`;wkeIb{x7dxEQwX##pOBkZ4S58;+T|C?OKnnKFiB<7UwpLZMl88q289A z)w%Pgjq7#>v$BFa*S+eC3gS;LCf)AXr9Rje1X&UX&KpIgZ*G_y9 zdo~3>*Wh|SPXRGwxoGbu7FgFnh*JWVinpZ|SQm4~#Wl4&l_VwR^ZQaFp6YUweBYEa zf(&oM<%-FN0mW3p(x&#`DY9S?{WM5vOeMB8hMx#i#{ou-Rs=?`O#>uVp9jhRH0D7< zKS{<*%6Ui^#R~cjN8?u~oU6B8gAlHS`?J3st$&QRQ!)2PMo+p;n@J z(O*F(aD19!IHg=BiRsnd+7(Atm>ltJXqhX9XG4oO7&mNWt=gi@SFMF7JR4~xs@Pz( zQlbjXHtMrW?6)RhjmlEth))G9NyQqSq(aaRsIdC;1(y*zwX4n<$Z4bmmHt!CB$#S% zt9u(yP*H!I?XeST_4NLq%{+Bs!{kZksZ-T|Jwuq)lDNN)rKdbHQ!qbD=+%;0sOIS@ z>JCvPDC=`B@D>a1fqfhH-Vf+%(%%?HF0)bFp%ZB?oi^7d)t;pB?5 zW2DUQ$3@MJ5i>JEH{&Ac>f8%$9UtHo{g0*>a_7^UQbXrxn8`Ni!dJYS2*`?yi-`wIgRjLo{>InLt}@I^{8j6gs#@QqO^lniO(( zb1YFkmnH(QH9}dR9UTXZm(I26NO;uz0dh&S%;QSvij+A`j(8k$a8MIz*|^T;aUnGN zAzLJXW6x|6s%r~5n7IM_#}y4~4~$Uv7)<*o#P(&1&Fxu6U3{L=@$8@3?M6GCQ*}Ih z{apo+uk{f~549z_fzP>Kn_qZ8f@XjIAV6Qvhdf~W5s86~r8OQY=JheWqOT_ft);n9 z03t?&$bg>fO>?7SDDH4YI(v03^^#}#Q5{Sw7a;IMsbBmgQ7Uabu_Z2^i|;Zoy%kGq z;`;Hs&KrqRqrXhE|2*rZHNwtI4-_K3Ap;*h<;f%(y=JtML(j#)W?{}UTpT^%LvCB? zqu2=uKT5a1mT_Fdy=ivZ5>0F$tiQ(|Okw*_ihUr{i}WN37Cf5?E3k*p1mi`YB+ddP zOX!fNG&NBdD&0OAG~cOs2Ha?1?&f2#BB2u37Q5dd3btq8^W{$Kxn3 zrvY&l%2IqB>W~&bK{Q^As7%&_E|Wn6lVPb&M$lz4f-aL0bfH5^S?d7Wrz}R)P$7bGEhl9DBlcZszm&uTPQ1Ho~|P z!%u1b+^&gk@+Qwf1CBZ9OMT?l1RdVKBGPZ01o1mSyZY9VfA9`(Q7zw?UW>E*dwB?T zqi#gj14Pth(Ly&NZ!`IiDDooFBEj|4k6;%QdK4i9@PXFr){dD0E~Nu_aC|{fYX(^e zqy%$-S0uCa6gOdlMAtGiWKiKlx5rj<%~iEFkE_s&{zo@|{UOz{>O)}>E8O_-@bb3r#k^^^7DUf`0iPQ@}!f$cj^h(HaW7aUv(9pbW)+K#B;{! zr=Q^|IlN9$PDdg6f1PDnLyK)$C;e1#KlYeV@xqS2$JymiV0G>f#37i|SIP?beGCdM)N%s%@}I zHJ`76F)ZWQ%DOw6N|dpJWS3|L_Lve;LT$poi{nc!m(X2B{i_mRY>B-W#B(r~E$GXT zYiiZS~H5ay3W?9`4Tm=pHiaESHLc+z$ zcE#`gbzP~eq*i^}k*kQO!Mpxb+-t5YEhw$Kshm26tIqO#$92Vlvf8qDLG^$~quOiX zDYR(zmDZKim7Y`>K&<>F#0?yf0oBI%5>yMvjt?A>`~PDHCSC=kHNUq4;=8o&qH^{_ zd3mX$IPj%%`F)JYk7v8xwVt}t)rEmD1|*i^j>}b7#O`2k#G~kEWEsSI)gYa+Z3O?} z9pS;H^1-DzVg0FZ2w4OS zZYLH8eRWin>I!#bJ^!Q5R|odKBg}epyRzWh|8x7og}49Dw-*p1MHxPYxDr*e1Fh&0 zML1757>={H7BA3vvZB8t3kwSJ%_gQ}6W!nx^+nZLHt8X{9f(HoItW*{0x<>rb6F z_snk$1vf1lbY<7(mJiHdH@SP$!ruDAM~jQI>}|bMOS>2M)aTnhC2D41!9Z>Oz=G<& zo%0$S=j{|<0>t0$ugx#DIlKjEulrnmp2L%8bu~_HEOa*xG#2Xp$Xtz68r+2q1C8#$ zz>*b9eGNicQTenEe`RQDg{R`p(AI0#uDxVseZ$I2)|_z7HuTXny@&jeQQ(U$Ful#Q zg?NB91E;+Ri%9TSHu$u`6DT#L2%bTz!74&(ND<^@5flT$N+~jBu+YpTtT(FyMl%zi zmuDmcj(Zs1B0Vc+Xx}pNZfE;889P&R2ruqv zrB1yOdCxNomPPh$fMmfyR9ep%wRB90pO5~;$MbxOv5^#LCX98;2-P+cIo#OD0oU&IfS@wjP6D6``dMrbG+h_d_Ogw-pfxQ! zZ@xu}-B54JwrEBhHStW=6m4Ml(n&cM^O$W--6*Xks<|3C*n7aD8)f$8Lh3z06<);1 z*iN7b66-_B_-)vyHmLJ;xL!;lPclP0+3u4`HWyc5b*arzHhU_5EOeTwA7^CABAo~# z#9xS}HF3ds%_bGTV-WT^@4unGtA3d36eKWDpNOJr4^GDK-W}%{fb`*$X8rP*y}E?# zRl?i>BqAs(ge94c<)Kt|vdKWSR36pMLNT;BkPYcCjuve<7AFxs6^g^jmS@7v_7d2z z{~JXi>9^m*Oj%8xRxj8|TBeTsq5JTS{C$ptf}As~Ty6@-m{yh))iflw;!b!V)*}`k zOjU6gTO)XXilRH(bJO|I9p|vK(FM(ilpz^<8nHamEXkXkoaki@RmnoN*Sh{g7A!S7 zV_n6>*OF{vc&lPolL z4&s{8E$e~C=(dwQ;*``#k`=h#pw%v-)ey2|C~Qb`q70Pr=M+Ds$czprnUPwUqJi2N zCkp11sH2)-I$vEbuYs;SX!7e6r3K7j5R!b*>J10Lw@CA{5SSMOK!b;XEMh3m)L5BB zFYkB2WiMexQ$`DR2OsP#AQKv#US3n~ZSC4{sz;H%-XD0qt?xBidR>#IFI>N?uW4b8 zE6-df`#f_7Tjz8&I0nsL@8zE2){!P_XVr5zE}vB^f2TAr$92wr;LMhY*=S?a&??!b zCUxjrzq@KdjV&j~R_^{yac)kPZ|Jlo!n@vLF-!kYgHV3(r>-oNy$cVTKS5s6HYhf+ zNIs-{!gRn!ny`_v$Wc)M6y{H~x*w9?&*8gxUQ{8d8IBw68_0Q+M~5&80~ddhWM9WJ z527OBF}coMZ5hIu+048AYF(M^(5URtx$V%o?a;aH(7El1iF&KyztqMO8t(8b{ob-hPjlh9r!LJdb^5)to7QAl^GiyaGh})Bx+UB5a4bf{181NM=ZRW~ zQ*4vY5n_WFl8B*DvN^?U+%zQJkIu#v`;*w`sP6%M^2YIqVkH>o`-f(@)g47Pz- zmFDVXaQ$FW>_hZXs{dr1jfMBHUJ?Wh8s2qhHmzyO*kH>$Mb zCF;A-x`l02g71pX2vI*#toX9eqQ6WKr%2aG-0`LZM-o8%(&A{K_K%Dn2!R4FcqebT+s&GMi4b1Zlc z*&VvH(&Dx3Iob3a&9_D}itj6co5h=zZ{j(37S#6OIrC&megrtqc#isGJV$8c&slpk zUpm*M;yK_~k>_xF=8ikPXBE8X?8_-xGbG-P&IDH5R~&T}`0~lJ1O$Lp`0k_l>c8?@ zcTwn<_L}d256B5~pnnAH!^T!#pGEX)v9ejs)Z){^MvF+4q`JByIz`R|ODQM1DGn-k zU})bjsO`tl7Rr*K#@&$MR@+YtK9?5!=NRr+<8NS~qOd}`$$XJ9{z8nOs@C-JNACg~ zzg8{8w;$urX1x$J#*}D_B1;>+Z@{a#2IIfYQ5VAaXJPzrD_8Ry?Zrjb+1N;oe;;k+ z%e0YY82_2^H`w?)j^>;15YA)kUrqU3+W3dTt*Chf=T)@A*%)o4YXg~?(F006%IlRo zF{t|;bpsgXB3TlpxEsQ3MY)(p`5=vQGDdkx{0;E>z)_F+N6b%HL$bw!a0M|@8c=P- zY&TX~qxC3XAe>?V8(@tP3OaZJCAe5fyk3FED`dgB_a9_2`-KwsRqhhO2VwRfcAxoH zp(2J9kLSo=i^}Cv+3Ar!ryJne2DK@c)te_jbvl{?;M2tA7{j+r&IEs6H$7 zqU({+t3DgV&uzll?*-M@gofaIZNfPq<41Ir<&=g1dy1 zNhgBFeHLY^V`=cJ!V>XNfexHS1$9L%Zi!XZf;D4u*T$6BSCEgUf@il;rW%AXB8A*0 zMCT-I1|=D3nO(#)c)FkF{N~^>9DQZ2@~(n^;`bG3WbY{AJ^W{(8+7y;=*AZNj_H|@ z9B}jl>s#V8$>LlFTiYunsAh^kE zU4szjK`_i9++9J4_#iw-_(TT&oH@2K@Hga6ISFgGhbV73G>5KbWj`}Pd(viQrYr%!9+uBxNxM1Oht6E!E zUm*R|Rl^!{T;mL!iB95uD>rRgxpLEH>EQ(ztZr>veZl;N7p}$!FO*J;yAf`pk1pH1 zS^VY7&70{04O4d9uy+0RXqd9&hIMPN-`VB!Y5h9n#iwoGe%fix_ zM;Co~9lgi>e8J9j>vl%JNMARb9+2KNi&*shVURgowOBsVDkVC)OpPVM$GTuL|C>PO zU8nTTqUs#`U!Bgs+H=rFX@5zH^f5{f(1Xr?$Wi4uWG`_JRXAM2Vo$ZL+7tgADs`sk z5SW0So&%qsz(TDsiJ3nO_9L;hkZ7(h63#2h$yN8W2iDc$fzqq^YV`qpH6Euvpg-5| zr^kX>F<%_$k?L@?Gn7FmB!dUR5@ijV*TlB8Fgk(YFfEk6AzuL=U5G&QeEl1ZK1$jn zT=WQ66k1w2-6+>?V5XT6ht-F;vzDqY`)KA$A)QCCaQqj%k#zRZ)kCwc{@qpU@4tGtFR%V;1;4B*>fXKY;zi#QEKh7d zaadJvUVhn`ySj^Nh%b__^CR;uaucfkx=rU(v2#$DN(~^C21um_NTmiyr3P@Z21um_ zNTmiyr3Of)21um_NTmiyr3PIpH9#sgkW`ALYvh>>qm;0NovI8-0JzsE$U^Lw`EaP8 zsh?RwXi}?7F^;5){T9-5ns>>;opZmu zzN2UR<%{O+u5tP{Zdf^a>+HI9tLeYui@m3J3g)cp8hd$pcVqFw>wdHUZuO6c_H}Lh z`l8KuojpC+QEI+o%g*i{-&nb2N6(IHaJFWGhOU!;g0t!YNfBEHC$L~Mc{>yC^y>(S zd+ZIDH`v9}ELX`9SBWc2d?KedN4+l7RU-bZ#FZ)EjD`ZYBWCM0zfn;!x`eJ6jjmA7 zl)sAaFT&{^fqalPE0wHM>P}mL91tHB$>Ct3y$T+zU9Uu^OY^C1;&L(gYMYoZwuScu zrKM8vP@5=US>$c|+#6IZ9wqqsUxLt=Ol$F+3-Fu(vq>}X9KuV8vCfcL=^Eq4?1VJ| z0Ljp~iWy4y=&OFaSNvb6=p0o`?Nt&0iH}TG%A_TQf^+nR5*eMCLQ23L-tDN#3;)m+ zQ0`NdD{9>0jp$7!zEV_8bSId0iB0kz@eSx3WFIHC6n81++wkR^6cLRJ5CSGyunqm$ z&XBH5;JZoKpKTjG{XRunt0*6k&S*O4=o|71%lXhmoH~7K$p=V`B58u%W$cbtf!3Q9 zzy&Dp2#cK7zTM|^k6X} zQREgdv^vC7Dm$SI@L-CT{-mJ^@J>M#einZ_<%*@#_pMMG7wnm~?6QGee{TPQ<I?a$(7}k<}?Kc2L>uLgzJks`exLi2d$58)(lP^sLU7c*}17_$AKj) zuG-$U=_L3$PTo3s$CXQ0T(xb|x|2M2UR~9{G8A0i?=R`!JhQ;pT(@KzIytUjx1{nJ z(`ds5Aw#{w{2PlM0Xfu^>_)Ci_CRWVg52ejTysuI~hdPmQKj?R2N^A`>hinaMG z$#)_~{3YbQb-P5zNjZX;y?)&6&doxDf-5Ik@p z+bQy*&SpDB&aJ8J?4TVJh4@L{(cr+onC^k?0{AECYw+(thfVPz>fEh;PTo`AvU1t7 zrd{7~NSU^8uAP0=0V7NKpy@=`;2sAjoa5!Ztt-QW@%=q zyCAQkzs5b#lhvKu8|rc9RjA$cfwIU4aBB+x0R09344qL^K;C118}M=DJ)@oy)ar$I z#U*$L$^@B0{E4&yr04OHP`%MR*c2%PMnHsq;(0YSI9L#o+F!8<$u32_pPB>vYFYvn zYn+aX2OtZ-g*#{CT0q8HcoBYhu_Az9pHS$iK&J^|z4mL>rbwqK_T2vsRMhxt_Ij$& zDb=2PJ>F;F{l7Kk0bk7??I*g+_7*&SkNI|H?GOioPZM53=Am<<&9KWY^RzmyNA3$-sVPqfg*51>5{p@3Q#aycwbrKO{Tm6fBtrKQp{ zm6hTPrKRB>f2CUPb_;)~^kcp+!>1Rv%s{w(x(V#A3szP=Bd9JAQU(YrgVNCu(ZT5> zIwLEcVWMiXkJ;rhdMMTb{2Kr56G46~>O-DY30KIPG<^8x`&-enwEg0C2+4N!qM+y% zgIBU2<|yz%G@o$E>iwa{ZSa58bynso!Vi^Y3jUclw2hjBL1|wwIQn(=uJ{zCHg0(r0agWV{gmm8G)hMDa%Ta^Z-ee?$8*qs!_WlQ=5UgKasAK{|h>$ld601HDOKOb9@az3f^_sOhxb98;YuHk?JPD zQC?m2AnTk<^5?sl%Ov?PP)t`)%Nz^7O0xs}kUzRAkVmS0UX*>Lr3kSpG37tnV9J9M zi+BR&SVQxpOk@ivkBx@QYmWci!FNrsFF)&n}!@^zJOO=ZO>Ag;FI^vUnONaa>{bDm3nf~&%=*-b}WsyHdja12Iq!iedGrs z^Nd?!&>qE~)VME18_nA4qMN`x<^Pu7=k=F7$doZb_&wqzlKh#be@gfc!;!|&2}mi@ zzK);(sO+CFIgk@hsd0ZDEV>A0?oPjdC#>6w(rl;vyRxzeJykjOy)`v^?KxGXI16v$ zIRc*JVR~+COfsKV5Mq>7{E+BGaRbkT#{T-nA4NR{wmUt>SCZ}gy1T~wiT0rUeDTb$M~d$fwgra`|BdceD#@uDMaoa7Z1_m=P>Z=5bNs&% z52fAZ@lfK7nY3a_;-RA8@?6&E3X?BdvND}A0JpI0JRk0Ca^=rx7ykWgr&pXyXl6Na4jUA^0enisP%Q3Gye%|Pe zkoaT=!+Kn^jPEh|(s57P7U?~CY1*^L+|}*!fyh42!hTXxiJ4X9d~tgkLr%xPzv^Su zOLvE2O?#h5;WS47GNN5=zgdq{W4|c}ddz<7pf$YT>2dA17~2Qcb^O~M)gM)@PkYBB z^S3?>%I<_4d@b8^I=ws>sts2?8ojf;8Kl{;P&WE^`jJFHMgU65{XpJ1z7_deN4ru{ z-r$mCQ8EM3yW48@pu)%Bpj>p^t7E;;_ck)oq9{sXlJ?1h ziJC-8Sz}F8cQm$oWm4%PrOy*awMqUsxinER7~h#^SUE&O~`hnj+?*W1yzwUAL!?OIkA5*==>q zZ{deDo@JUg48d&2DhH5tY0V<6(ST6KKlao~oDkd}TXEmN}&jtn{8)Wr*uG7K^8 zg|Ix4oKgHS+1eOu!suDwJ9wQKy~a{ydVJ8Jz8|JNb}J{h@JA`eDT2oK$v1+=+Oco@ z$dh0tmnX06D`Z}uI^5{OYZhLFR6yySQzMafBTZT3gPJyEgx-y&O(Y5>s#C?8MR5*u zv8GIJrWj2OY3oGq7eL&SM(F0J5~M)qHf2_2HiaK+$Wd|{?xw(Qt+8_IjuKbKds+2a z?`F8*Z5*2{-FQo5-M5i~DWA?4PxwQ*SG=RLGQ7@P&TYstSFyfcU9G_-LsK= zC*&_WdqH6S!aMHfmNv5V+SYw-<+(SP*)rtXXAW%n=FUlqT&$@3mEEUxt({&SK2K4f zQ3^vR47N?5Itu?Zv$l1-6RJ~h*X&H0d5Or15?FB|(RajY7m9^B(DK(UV=zwc;`#dG zx5tMxvGU^e@c*QNVx-G0mh@dNcykeS^73>On1!{W%ccbp>N>XFN>V=}a2BT>g z?+#43O(DR-i!UazS;Ds|!tNgk1y5|)_=NiRht+Eo!Kx@f-E;e?bG&BBJoADdo|33& zXw_rtM^FDm{nNo!iaD%|-mg?HxqJtr9s8f(Kb2?@a|{2k+yWZRLtwU-r?;Cn*_jL5sgq=;`Kc1zl2lr(48DQ6)3RF~N5$Ky`Hwu;H-@Hr{R zPiwBe6BaL7hTAhHbH*D z2~Y-lA5@dms0K0DG^pc<+2a)+ZMJ6PU7g)*9fw9f-|a0CfOI$qZ#Ds`V4{!%C)X?1 zd%$mcsJ1f%Dj|m!ukB=gzfm$rnHZoJ-2*X#EHU0r7j%>AOmpp!v(~ZKA@SZMr&=vh zsP-@XB_zcmF)n;7-mgWb%^ixRE#C8RfTJNG{*6ek3NY+nVQ(-mb+P#soL|y+f#pz& zc~K~tr#Pd3>M#xiul>_?2Of{qJS@g(NIH6%JbDRAqJdA7lWh3nd}nEPbm6lj!;3v* zLywukvYfoQ+U8=kl0`2nwqF?o;5@Wrh~4QsMwy^JrV#kjFw_8km0%ZjH_8Y;&izTo zZt^5j7I{kSR6!5Uh|ZsMU8GxMLBb4|in=M;x@7ouH1miHMFoZ_?P$!hFy4l}Jqnur zD!5k@v?r`V0J}?-orLG#WD2k~Fl$%Tix8-$wBrrngjDS*VCGaOLI>8&5^qMxpAF-O z2!zt)V`~c2nYA3nX+&>?X(yku@D0vwEOw1=C!Fx58m|%fzSnE}4hWzL?z`bC8E5Ac zJ5JKtdC?yOFlx9>lCMHWy#bgXag!um37z(BXEFcCJkz2PBqCY>p~Uxno@u7G@A_38 zen%&*Xx>o3T)lb~1k{(4}ofa^);ZjLXX*MBAVWg_NP!f|}L`E)wF4aOZl5iqg z*fJ0#L>ndP>GF^?Dnav{P%6G&rbuBG=f}JChOz(r!)!bNp+P{U`Yc9?9fi z%UJn`F;k{@4daITIJq{c!M>+4%4m+4T;l0$E}@juxLZUIvHS@fd7A0;5eRJyb!i1h zryITO6jQipFk&1}!~;Uy(u{;|I{3Pg$Wi&y_l%@<WXBBBxU08CODF>pc%@mdTs(QirR+M#5gS% zNr%4zjM-SHi6ZZfTUDJeF&;mQI+RbtnVH3=GYvzZLwpIUyq29nS}xUDjS%aCe}QIA z`Sj@*pr>^J(&N`a?v9_irr#&!(&0Db=Fjzf4OfydVw2%Y5)Mrqu4EFMap z%7yu*x$2Sfa_?W@xgpz>V~mpjY#Pl!A8H+&KV_%$90c;C(J2^)*5|}8ZpWW zkP^%LD)4s(JIR(T6?`G0nsOoNhJ!ie@WJ0I`;mFOANDt zGFxVhjw-VWJDA+-Wrv{qlz<9o_gRF1Te9Hc7$0(rDeA-1j`dkYYdTNS_!M!mLL^O`3U4q?Cc%tCM>f_%jIk-AR@jfWYH_IH+)v&!@Qb`I+>6?o!moYjT?AUOek~Qz{fJn1M#CJKY>|*OgG=caNH@% z7c$M_cn*}hhEOKfnIZ`dw3fII;yOtA_9!4{S*4T~&AnU%<$TaY-A^2NF9EH`CY?mn zM|G4RK#H58^g^s>MEx)}+&LIGQ3LxOD%C#ypZe#qvlYeD)z_r$p#5BEPkx@Y%2EHQ zcrz12&*adyB8w4?C7bAw#~4ystx0vRSV7YDNT#01O zPDEQLHx!k|Q_Ql3E%rDu%eZA0Hzw7>AB|gK%S*|1@0Z6eGwA$f(3GF~)r(Dq1T%nn zlZ>^2Ryg)Zl%5odKb*qLx)v?WjvI>ZCBHAhW0BXs5O_wJ0uu4l!wYaB?k1^6BMc~nhGmaBo>;zY0 zAw}X&e(`S!G~h|?QbDFwY@MYoMIyyFD6AD96V|rrt3tNogV=)s+nel61GjN3+L9&( zn@H$2@xtU>y)Zc!HduEQ>oo{CY45Sc-TZO+ev;`B}!3eT0(e1>wSZqVZ#YMD7`_i#b|i zJj>M@L9$c~Du|%kWAWlx_PR}M+osrxip0I`5QnX!zkrHiu+;E%s1AFs$lLy_R&NoO z8+1iud)aaX+D|PZ3lUNhIdHJ@IXF=~o~*}T^_3*Vybyz?D0IY(MtV68$|$@(!FVh` zkH+Rplh-D)NNQFj!iaH&&(g+KOK4a6xcC_AX$-($fi}Q20OA92%af2I z6AnkLjHkTlLH#xvjj=T=r+su{A4w0ym;lww)GUph;>M)!Eh&JBhvEc+6#m65i-bD2 zn_0}sqrRrCN%`0{@r}PP`kEwtK5R;s%OCUnh)!wR01fdx>wZvcKV*Q$1T_>5BULU% zO;`LWV|49?0*SI+Mo5v;I{;e{Xd5Z{0m*>2=#(yqJ%izYiLJkCvME1pG8do`P=y$Lpk1_X)1yJ>wgpCy=H}(*N>WYR;VXkd zb4#96%E=qOzR>9`ly>IjNY1CT#NWSG`k9gcUAH(d9?2(b>{5XP=)V(a7;p+@S7e37KGX6}2H{&^I%K5<9h!flT z*qoD16srAZ3^r;t3k<8IIO5#27hOQ5I4Qd=bk7dBqENtBOosj=tN`sHYWoIt~~JZJ!{wA^YMWzKfY((x_dspa{X<4 z`}_CawtoGsd;9wK-a3~5own;2>iZ8rtiJ!^u3aw*We-0rl>K7YcbDDv!4;?9u+r~e zdBf>fd~n+`nzNbDnaMdfyhr_}%f7!uJ)1^HXLi-Wbnx!z+%Yy-L;RokMwQi2ZA0?84!HhQmU zINd-cNDLxVR@Sh*5uz2WM~|i#4MVcwSAl;W_e#Drvu5oUq{nDayma^{+Jf5 z$qLh^5#*KdSR`A+C2S1?2u?0xXRcnmI%rygGq;M85%jc^=~%(}Yy}%|_F8cjn`}Z| zCK$LxT7DZN(KekknkK@wk!&&^b=s2odyJHmG)YzFJfHa;36HcB%~>|^{3i-*u~kMx z9#EXaB^SY+${WGm8L|C}4<5>O<4^$8-Z-^FAq#wyxd@j@2zEgeB zG{%i6_&UbFCG*tHgX zEztf5YOcMgu!~Vj(LOcpT?dYrE9RzO)=p2EaOfiUHVgQG{15 zUX$<|!izQkbUCS11-iJ^5}>k`7)6w@@7!E9?-SdpW~BqQEkYCm9^u}}hlPv+Aknz8 zT~4PnS{>c|;5Db#n6qrT?rev{YBm>n3yViT)0ETonzD+1o!OSMDSeZi4yP?IbNY3Q z0KHXPRxe{QWrypTD>vYt0V%L^3p3ikFn+7B2 zz^-ZhECaV_*NX98#&%87uGp^iV%K_^$nL`XEWET`Tgn!g;&iJcyQUR~8oQ>MKZeER zCl86AJS6l)t{Xm1Igq^T*&zGUChXb*eb*LX*A`&c7GT#FVAmG#U1R+T;O!(wykGbN z_E7wDMZWXjhB7U_d0cyHebw(3W^(sh_{=YIf5C6{Gr8RKkLXiL-O?!Y^#9uVTp8Kv ziJZ?7$WSwo49S_UpHv`oVUz#goYn#=riI&pl5vjnsUd+c;#3RI*`1{)M2sHkmg73q85Q12 zZU=??zpx{%@3mEc-m%=YQ$SyvZ8*t1i?$V49KhWVp1nYqv}+j87V)cAri+L?!IPlM z2^dO*j1|GH;a~@Ax8l3}_}Jq}n6|R8wEkyagsMI4UX%7!!yq^QTgLtu;MWWAg$wY7 z3-E=+eVJmnjd5y9*El)C6s8k%pB~jfv7c`AM`cHa=thXxKi35*S~Lv5LCDn4rV#?! ztk8wQ3igP8+}fxMgN+ad8zBrfLKtj>Fxbe20f+vvh7#*sonHhY$yNpelt3X9GLDO; zEH^UzpZY}ln);J3ipn&8!feMirc+EuM@%P!vZgR;(SfT??5Ym5vP`G3O^n8Z_*Dnf z3ubFqj4+mgFqVNZmVq#qfiRZogmE(4HA>h&H9{D(Y1?N<5yl|h7>pu}9=g%P3B!UD zK`~$oc1m~*nWhAWZ#u+#0p}m0tU^R)7|Ha2KGy0avz9%45VyALB(ohPvmGR}9VD|I zB(t594D<&=N+iHP>PW?M=QvIx0S$7Pq%TCT5Z(ZYeAed0HB+j)QY15&GmndktUoUH z?m45x*BPkxG`8v2RmBZ$;mf`#8q$1R@BtHUD|sNg2}GLrsANo`Upuj^d|-s)EgBaq z!bX;`jV!`OW*CWGT1z4poZ~q#Wz0f$$)b#YG7t)=M?pISZ&cvXE(H?>1vbl+I5)ocFxtAkA74PK-C(8s*za$2S!3&;FV2()jy0 z^ETYssMP^Ni8`9@0z~_6Cpdr9jv)nvRssnadJ$5Le>SS*14(M*?{u7pHcOwrkU!r1 zqdc@>lyuS(e46eOFdF!syob?15Qln>>1CMX$k-g>jgyB!0gog7h3Y}(f)1(ja1I1W|T^!=r;L&R-Ee0`Z3NP9t^`V=oqzp#?6p^8>6oRKHNe<4zC=?oO7; zo6Asjsf7kaL>VLnAy$Y1X-}+`IDf_E8$)F9uUniOxS+VuR&>Du3PY9ml$Pdz5xZ@F z&MSA2oxft<^T@>}%m1{kF~;FXb(cQ&!G31(7x@IUQ0^VvB+PxA#icCrl6rs;mU-V1 zB{K3ayQ8*E5XkI*MsN+q#i+<7sfd|H%>w>iW!qzk>KK{hdN+BgZ5m~x+yyLJ;Pi;}( zPLd4xY?`M-GChKPmlk$5Lhx3V4}(Q^@odx%oE%CGAy#Nc{$L~vD}u<%A%2j%Bf;e4 ziSE3LiDRXpR}FCZ4IGY8JE5fPG5io+AUN?(dtvDh8|;@>PoHF!JPI>fXDmvvbwnZi5wm*5vgCgq3qPOe$2ue}|>IR|%c`?UT>HuPHm< z?z?!q^lL@!Q>yzGH*Gk7RvG9?n=53z8(d%^&2Jkl@PN^BK=>Vb3Q{ zttsQl@(z=XC21FK>KC72Xk&RTx@IOAq+mJ&7;W2-Pt|5xOsB`nB4*5$Pyrji0@`5( zm}v!E2{4!FVp66fVY3P2{lR%<?}cqpP6&pr|j=$mqc$#nK2RE>(Pz?i ziAv*1GMo(U=q4J)=O}a}=qR=)_iN9tW^00oG`tr?G)bQwgAJAV>B6$HfKX$1=ktr> zV4yIbyAe}uXJ<7;d8>qRL7KO2DQO`zm_3iKB^>N7JW@7fgkvx zEX<=d8NjYm&Knhsg-io%O{ie3imwS#EKw&%Iw1!PN~o{~R1-{TBaL_u;+@;HlmUj# z=S@qvf+bn}$Fe#}2}QjvwsdlwWwJgU4;!{lFQ-IZrJ8EFKm+V-u$ULsk)}gK1WQew zNw@=M92$yq%wXksATX3J4aGTUx+b(V(J6GQCGAx)>FW~7Ng5zJB2+4xE+rz>F*Gt9 z9?;PkT;W3eJ=vuOt}xHz=Wtz}bhe^gbjk3AQ=KeBe~C*w8i!UAWF4g>5b#dKzS|*R zOEG2C8<7r95hU;uFX*5Gm&DbRvqN2rCQb3~l*e7r5<*b`l=Ogy7jPk?@pQ|rQ15$9 zmySTi;oe~6>*J{MI -LAgB6yUyvgN?pSRrXdR(H#B5nHPoRLPo*Q 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 literal 0 HcmV?d00001 From 5a6031cfb0881b4e79063a1572266db88df2ab5c Mon Sep 17 00:00:00 2001 From: Dominic Gianatassio Date: Tue, 30 Apr 2019 11:28:34 -0700 Subject: [PATCH 532/540] updated base --- ComSemApp/templates/ComSemApp/base.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ComSemApp/templates/ComSemApp/base.html b/ComSemApp/templates/ComSemApp/base.html index 01d06a97..ca09bf56 100644 --- a/ComSemApp/templates/ComSemApp/base.html +++ b/ComSemApp/templates/ComSemApp/base.html @@ -14,6 +14,8 @@ + + {% with 'ComSemApp/Minton/css-'|add:minton_style|add:'/style.css' as minton_style_css %} {% endwith %} From 508ef1e4e973cd9629c5c09eb04ac8b6f5abeb85 Mon Sep 17 00:00:00 2001 From: Dominic Gianatassio Date: Tue, 30 Apr 2019 11:29:48 -0700 Subject: [PATCH 533/540] updated sidebar --- ComSemApp/templates/ComSemApp/sidebar.html | 535 +++++++++++---------- 1 file changed, 278 insertions(+), 257 deletions(-) diff --git a/ComSemApp/templates/ComSemApp/sidebar.html b/ComSemApp/templates/ComSemApp/sidebar.html index dbc3ed8b..618e6834 100644 --- a/ComSemApp/templates/ComSemApp/sidebar.html +++ b/ComSemApp/templates/ComSemApp/sidebar.html @@ -1,257 +1,278 @@ -{% extends 'ComSemApp/base.html' %} - -{% block body %} - - - - - - - - - -{% endblock %} +{% extends 'ComSemApp/base.html' %} + +{% block body %} + + + +
    + + +
    + + + + + + + +
    + + + + + + {% if current_role %} +
    + +
    + {% endif %} + + + + +
    j + + +
    + +
    + {% block content %}{% endblock %} +
    +
    +
    +
    + + + + +{% endblock %} From 104850a63ec4ab097e29c49e1624fb64ad6affa3 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Wed, 1 May 2019 15:47:19 -0700 Subject: [PATCH 534/540] update --- CommunicationSeminar/settings/production.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CommunicationSeminar/settings/production.py b/CommunicationSeminar/settings/production.py index ae0c8318..793a0e3e 100644 --- a/CommunicationSeminar/settings/production.py +++ b/CommunicationSeminar/settings/production.py @@ -36,6 +36,9 @@ 'comsem.localhost.run', 'group08.localhost.run', 'group081.localhost.run', + 'group082.localhost.run', + 'group083.localhost.run', + 'group088.localhost.run', ] # Application definition From 172d50ff2823a55ebb71c0a6cd2bfc66839f3e55 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:14:35 -0700 Subject: [PATCH 535/540] update --- ComSemApp/administrator/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ce0d4e66..2f4a6593 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -154,6 +154,7 @@ def post(self, request, *args, **kwargs): # Check for valid username usernameCheck = re.match('^[\w.@+-]+$', fields[3]) + print(fields[3]) if (usernameCheck == None): if(rejected == False): rejectcount += 1 From 3f17a89acc98c52c220afabcea2ff8ff10673395 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:15:58 -0700 Subject: [PATCH 536/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 2f4a6593..827fabe4 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -154,7 +154,7 @@ def post(self, request, *args, **kwargs): # Check for valid username usernameCheck = re.match('^[\w.@+-]+$', fields[3]) - print(fields[3]) + print(usernameCheck) if (usernameCheck == None): if(rejected == False): rejectcount += 1 From 214f099f148065f13a87efc4dcba140ce7ff16b7 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:17:49 -0700 Subject: [PATCH 537/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 827fabe4..01c41523 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -153,7 +153,7 @@ def post(self, request, *args, **kwargs): message_content.append(message) # Check for valid username - usernameCheck = re.match('^[\w.@+-]+$', fields[3]) + usernameCheck = re.match('^[\w.@+-]+$', str(fields[3])) print(usernameCheck) if (usernameCheck == None): if(rejected == False): From ef0144395f6cdb49e1b9c15b154c0cf4f281cb72 Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:22:17 -0700 Subject: [PATCH 538/540] update --- ComSemApp/administrator/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index 01c41523..a22e9ef2 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -153,7 +153,7 @@ def post(self, request, *args, **kwargs): message_content.append(message) # Check for valid username - usernameCheck = re.match('^[\w.@+-]+$', str(fields[3])) + usernameCheck = re.match('^[\w.@+-]+$', fields[3].rstrip()) print(usernameCheck) if (usernameCheck == None): if(rejected == False): From a32e14262307e01c24f1aa2c745d40a581e61e1c Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:28:31 -0700 Subject: [PATCH 539/540] rstrip --- ComSemApp/administrator/views.py | 34 ++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index a22e9ef2..ecf2ccac 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -107,7 +107,11 @@ def post(self, request, *args, **kwargs): okToCreate = True rejected = False linecount += 1 - if (fields[0] == "" or fields[0] == ""): + first = first.rstrip() + last = last.rstrip() + email = email.rstrip() + username = username.rstrip() + if (first == "" or first == ""): #end of file break if (len(fields) < 4): @@ -116,59 +120,59 @@ def post(self, request, *args, **kwargs): rejected = True rejectcount += 1 break - if (fields[0].isalpha() == False or fields[1].isalpha() == False): - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid First or Last Name \n") + if (first.isalpha() == False or last.isalpha() == False): + message = (str(linecount) + " " + first + " " + last + " " + email + " " + username + " Invalid First or Last Name \n") message_content.append(message) rejectcount += 1 rejected = True okToCreate = False for user in Student.objects.filter(institution=self.institution): - if(user.user.email== fields[2]): + if(user.user.email== email): okToCreate = False if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Email Address \n") + message = (str(linecount) + " " + first + " " + last + " " + email + " " + username + " Duplicate Email Address \n") message_content.append(message) - if(user.user.username== fields[3]): + if(user.user.username== username): okToCreate = False if (rejected == False): ##if rejected is false, we need to increment the number of rejects, if its already false, dont increment it but still log error rejectcount += 1 rejected = True - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Duplicate Username \n") + message = (str(linecount) + " " + first + " " + last + " " + email + " " + username + " Duplicate Username \n") message_content.append(message) if(okToCreate == False): break # Check if a valid email address - match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', fields[2].lower()) + match = re.match('^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', email.lower()) if (match == None): if(rejected == False): rejectcount += 1 rejected = True okToCreate = False - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Email Address \n") + message = (str(linecount) + " " + first + " " + last + " " + email + " " + username + " Invalid Email Address \n") message_content.append(message) # Check for valid username - usernameCheck = re.match('^[\w.@+-]+$', fields[3].rstrip()) + usernameCheck = re.match('^[\w.@+-]+$', username.rstrip()) print(usernameCheck) if (usernameCheck == None): if(rejected == False): rejectcount += 1 rejected = True okToCreate = False - message = (str(linecount) + " " + fields[0] + " " + fields[1] + " " + fields[2] + " " + fields[3] + " Invalid Username \n") + message = (str(linecount) + " " + first + " " + last + " " + email + " " + username + " Invalid Username \n") message_content.append(message) if (okToCreate == True): user = { - "first_name": fields[0], - "last_name": fields[1], - "email": fields[2], - "username": fields[3] + "first_name": first, + "last_name": last, + "email": email, + "username": username, } self.db_create_student(**user) print("student made") From 0321f5f7097a63ae76bdb65d0412351ff474f61d Mon Sep 17 00:00:00 2001 From: Daniel Richard Date: Thu, 2 May 2019 23:29:30 -0700 Subject: [PATCH 540/540] rstrip --- ComSemApp/administrator/views.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ComSemApp/administrator/views.py b/ComSemApp/administrator/views.py index ecf2ccac..0600a5a0 100644 --- a/ComSemApp/administrator/views.py +++ b/ComSemApp/administrator/views.py @@ -107,10 +107,10 @@ def post(self, request, *args, **kwargs): okToCreate = True rejected = False linecount += 1 - first = first.rstrip() - last = last.rstrip() - email = email.rstrip() - username = username.rstrip() + first = fields[0].rstrip() + last = fields[1].rstrip() + email = fields[2].rstrip() + username = fields[3].rstrip() if (first == "" or first == ""): #end of file break
    - - -
    - - - - - - - -
    - - - - - - {% if current_role %} -
    - -
    - {% endif %} - - - - -
    - - -
    - -
    - {% block content %}{% endblock %} -
    -
    -
    -

    *evbW<-+BYbb zBLc*&=-tva7^urd&zms%{dxcn?eLlcjr>%A%Rjk4Iz6#!TSOELBQFUHz>5)45#K>@ zJ&~)hGsT`KRQ@Ti8vES8M1w8CrRjX(G4IGNmsesw<{BLnR~^n{R46YVORoB#OXL+@ zunp+AryuH2tRn($^=}ds;`$pF!_-cBk69-hmGdxL`bpjh$B%N(CHyg7#){mzPP_d< zOVg>J7Js{TVzaS)*bJ49Q-_b226WxZku_+ZKmhU67LDC~ipgd2t6 zd_3|fR3$Y&mam+hkavYkU1xp9#FAboY`A0EBZfmMf55t9o+gsNQ)dM80c2K_RxXt; z86Giu4EQ(N2_>?V&|9N3i^_z*an)vKM}}p-XB$PYEZ1-Lnd~urB1tO8lc&f*-^_iS z*)2A6$=(zX1(&ehUG>PAlS^@y-wsSYm(O2}>UYHF{RusGQFKdE196$eK4Dx? zaxievwjj0OwIH;Z+48R1*ZCQ17`+(Y810OH{Rs{q{5|-GG`J|(1b7r7Rt2w>Yuk~< z3C5Aeal~YuoHC({1{l=)ZdV*CQA0-ORlVZxA{kjan}C_-d^N@F4vauzYuxG_W}Y9-z|v^j=3 z_Cie2-pKKY&yXSq7OJ86Vk+B!9ee(nJyuB|SwB zrJqok0)?b`*c7N1ycX{o(;CPc!!JM^?%2ur%UE9GcVT}1ZmD8Xo%CK5 zNmk*XeY9cxC=0Y+qi|_kX=7B(dSDm|6=zmHNGB3cko3(1sJ zvnu=r0BE2Y+i;nmwftYk>=}>*&`+lBPXYNK^IsONAka_#?SKFLm1@8Jf*_J#v&i4V zf%<*R0vM-$`bZK>8nqyjc%Zo`7;krD&U(qKGAHTDaL40`6i|ac;8&2LK!?5QhY>b$ zWIpFIx|^AqnW-!6ZKPm+|_{ieM4q|6KX$b*v*ZkDCcg}0#T3VAU{Hyk~(YookhGioB` zZ|{PuRdl0vDpm6bUaxWu{-DhrS;T*+8S>;0$JwXRimHHxrF*9{lODT;RE zcly&gSOH3`;5GhO4MlJ6ly))v2CbK3vR-;F*5|hjuk$fMNm=5Q9*zC5t`gFaDyXFy z(=hOkx472YM(L|^w5&o_$(W%sQ%nDR zg^h3gVz!O8VVy-^1nUepM$<=QEFG* zjmK>iZ=y&$C@DuKB%VTz!1%U6OH9E>8YD*`QCK-NV8|I)C!m_$+f-bax3i6Em?ftl{mdGH?=WV-)svd5E^=oV;9pPO*_G zS6wEcA43%Nmx)|0&RH+UCq$I5pgaEX#eTak#e8l~1HoB0}Z(^?vlS85HbAvC74 zSDEk`ypFKXILBUe?NtxS1d&N6lF3BtF?Q+TtjpxWE>Njc@L1B^_73p;+P5s-iVlg6vhhm=ZQ$K&Ql$ zQar(8)_!jwkXByve%|qawpZ^3e|uK;s@crXCO$MS{iSoSV8uq=imP&V+jqLVJm$}` RnPUJdAQ%Jp{HtYP003^hA1MF; literal 0 HcmV?d00001 diff --git a/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Bold.ttf b/ComSemApp/static/ComSemApp/Dyslexic/fonts/OpenDyslexic3-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..395dffc333972dc04279ccbe310263dee5b40d79 GIT binary patch literal 239556 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