From 81a6cd0dc2bb3498eec2f003c5e19cc0fb096e81 Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Mon, 21 Jan 2019 18:23:03 +0530 Subject: Remove user as teacher of any course if is_moderator is set to False --- yaksh/models.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/yaksh/models.py b/yaksh/models.py index 480a111..427b584 100644 --- a/yaksh/models.py +++ b/yaksh/models.py @@ -1096,12 +1096,17 @@ class Profile(models.Model): os.chmod(user_dir, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO) return user_dir + def get_moderated_courses(self): + return Course.objects.filter(teachers=self.user) + def _toggle_moderator_group(self, group_name): group = Group.objects.get(name=group_name) if self.is_moderator: self.user.groups.add(group) else: self.user.groups.remove(group) + for course in self.get_moderated_courses(): + course.remove_teachers(self.user) def save(self, *args, **kwargs): if self.pk is not None: -- cgit From dddf59e6ee554481259347a8092b53e2b1c6ff70 Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Wed, 23 Jan 2019 12:44:13 +0530 Subject: Fix HTML/CSS alignment for Upload and Download Questions page --- yaksh/templates/yaksh/showquestions.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yaksh/templates/yaksh/showquestions.html b/yaksh/templates/yaksh/showquestions.html index 915dcda..e146878 100644 --- a/yaksh/templates/yaksh/showquestions.html +++ b/yaksh/templates/yaksh/showquestions.html @@ -23,7 +23,7 @@
-
+
-- cgit From 7f91d11b37aaeb5a673f623d21ff2390983e0f8c Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Thu, 24 Jan 2019 16:58:19 +0530 Subject: Add Test Cases --- yaksh/test_models.py | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/yaksh/test_models.py b/yaksh/test_models.py index c9cb953..aea47de 100644 --- a/yaksh/test_models.py +++ b/yaksh/test_models.py @@ -285,19 +285,49 @@ class LearningUnitTestCases(unittest.TestCase): class ProfileTestCases(unittest.TestCase): def setUp(self): - self.user1 = User.objects.get(username='creator') - self.profile = Profile.objects.get(user=self.user1) - self.user2 = User.objects.get(username='demo_user3') + self.creator = User.objects.get(username='creator') + self.profile = Profile.objects.get(user=self.creator) + self.teacher = User.objects.create_user(username='teacher_profile', + password='teacher_profile', + email='teacher_profile@test.com') + Profile.objects.create( + user=self.teacher, roll_number=123, institute='IIT', + is_moderator=True, department='Chemical', position='Teacher' + ) + self.course = Course.objects.create( + name="Course For ProfileTestCase", + enrollment="Open Course", + creator=self.creator, + start_enroll_time=datetime( + 2015, 10, 9, 10, 8, 15, 0, + tzinfo=pytz.utc + ), + end_enroll_time=datetime( + 2015, 11, 9, 10, 8, 15, 0, + tzinfo=pytz.utc + ), + ) + self.course.add_teachers(self.teacher) def test_user_profile(self): """ Test user profile""" - self.assertEqual(self.user1.username, 'creator') + self.assertEqual(self.creator.username, 'creator') self.assertEqual(self.profile.user.username, 'creator') self.assertEqual(int(self.profile.roll_number), 1) self.assertEqual(self.profile.institute, 'IIT') self.assertEqual(self.profile.department, 'Chemical') self.assertEqual(self.profile.position, 'Student') + def test_profile_is_moderator_removes_teacher(self): + teacher_profile = self.teacher.profile + teacher_profile.is_moderator = False + teacher_profile.save() + self.assertNotIn(self.teacher, self.course.teachers.all()) + + def tearDown(self): + self.teacher.profile.delete() + self.teacher.delete() + self.course.delete() ############################################################################### class QuestionTestCases(unittest.TestCase): -- cgit