From a49d171e755a65bb587951eb187e10e23fd38ba8 Mon Sep 17 00:00:00 2001 From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de> Date: Tue, 7 Aug 2018 01:57:27 +0200 Subject: [PATCH] Secret is now generated if it's empty --- core/tests/test_export.py | 15 ++++++++++----- core/views/export.py | 3 ++- frontend/src/store/getters.ts | 3 +++ grady/settings/live.py | 4 +++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/core/tests/test_export.py b/core/tests/test_export.py index b0ae6ff7..c7422190 100644 --- a/core/tests/test_export.py +++ b/core/tests/test_export.py @@ -9,6 +9,11 @@ class ExportCSVTest(TestCase): @classmethod def setUpTestData(cls): cls.data = make_test_data(data_dict={ + 'exams': [{ + 'module_reference': 'Test Exam 01', + 'total_score': 100, + 'pass_score': 60, + }], 'submission_types': [ { 'name': '01. Sort', @@ -24,8 +29,8 @@ class ExportCSVTest(TestCase): } ], 'students': [ - {'username': 'student01'}, - {'username': 'student02'} + {'username': 'student01', 'exam': 'Test Exam 01'}, + {'username': 'student02', 'exam': 'Test Exam 01'} ], 'reviewers': [ {'username': 'reviewer'} @@ -81,6 +86,6 @@ class ExportCSVTest(TestCase): def test_data_is_correct(self): head, student1, student2, _ = self.response.content.split(b'\r\n') - self.assertIn(b'Matrikel;Name;Sum;01. Sort;02. Shuffle', head) - self.assertIn(b';;5;5;0', student1) - self.assertIn(b';;0;0;0', student2) + self.assertIn(b'Matrikel;Name;Exam;Sum;01. Sort;02. Shuffle', head) + self.assertIn(b';;Test Exam 01;5;5;0', student1) + self.assertIn(b';;Test Exam 01;0;0;0', student2) diff --git a/core/views/export.py b/core/views/export.py index 7628c7fe..f31e3d4b 100644 --- a/core/views/export.py +++ b/core/views/export.py @@ -18,7 +18,7 @@ class StudentCSVExport(APIView): def get_renderer_context(self): context = super().get_renderer_context() - context['header'] = ('Matrikel', 'Name', 'Sum', + context['header'] = ('Matrikel', 'Name', 'Exam', 'Sum', *SubmissionType.objects.values_list('name', flat=True)) context['delimiter'] = ';' @@ -33,6 +33,7 @@ class StudentCSVExport(APIView): content = [{'Matrikel': student.matrikel_no, 'Name': student.user.fullname, 'Sum': student.overall_score, + 'Exam': student.exam.module_reference, **student.score_per_submission() } for student in StudentInfo.get_annotated_score_submission_list()] diff --git a/frontend/src/store/getters.ts b/frontend/src/store/getters.ts index 3cdc0cbe..8c8da5ac 100644 --- a/frontend/src/store/getters.ts +++ b/frontend/src/store/getters.ts @@ -12,6 +12,9 @@ const getters = { }, getSubmissionType: state => pk => { return state.submissionTypes[pk] + }, + findStudentByUser: state => user => { + return Object.values(state.students).find((student: any) => student.user === user) } } diff --git a/grady/settings/live.py b/grady/settings/live.py index 05d7bc28..6b5c1401 100644 --- a/grady/settings/live.py +++ b/grady/settings/live.py @@ -19,7 +19,9 @@ DEBUG = False SECRET_FILE = 'secret' try: SECRET_KEY = open(SECRET_FILE).read().strip() -except IOError: + if len(SECRET_KEY) == 0: + raise Exception +except (IOError, Exception): try: SECRET_KEY = ''.join(secrets.choice(string.printable) for i in range(50)) -- GitLab