Example #1
0
def register_user_to_group(request, course_slug, group_slug):
    if request.method == 'POST':
        registrator = Registrator()
        group = Group.objects.get(slug=request.POST['register_group_slug'])
        registration,created = registrator.register_user_for_group(request.user, group)
        if created:
            messages.add_message(request, messages.SUCCESS, _("You successfully registered to the group."))
        elif registration:
            messages.add_message(request, messages.ERROR, _("You are already registered to this course."))
        else:
            messages.add_message(request, messages.ERROR, _("You cannot register to this group. The Group is full."))
        
        # go back to the view that called the registration
        default_back_url = "courses/group_details.html"
        back_url = request.META.get('HTTP_REFERER', default_back_url)
        if back_url:
            return HttpResponseRedirect(back_url)
        else:
            return HttpResponseRedirect(default_back_url)
Example #2
0
class RegistratorTestCase(unittest.TestCase, CoursesTestDataMixin):
    
    def setUp(self):
        self.make_test_data()
        
        self.registrator = Registrator()
        
    def tearDown(self):
        self.delete_test_data()
    
    def test_user_registration(self):
        registration, created = self.registrator.register_user_for_group(self.user1, self.group1)
        self.assertNotEqual(registration, None)
        self.assertTrue(created)
    
    def test_already_registered_for_group(self):
        registration1, created1 = self.registrator.register_user_for_group(self.user1, self.group1)
        self.assertNotEqual(registration1, None)
        self.assertTrue(created1)
        registration2, created2 = self.registrator.register_user_for_group(self.user1, self.group1)
        self.assertNotEqual(registration2, None)
        self.assertFalse(created2)
        
    def test_already_registered_for_course(self):
        registration1, created1 = self.registrator.register_user_for_group(self.user1, self.group1)
        self.assertTrue(created1)
        self.assertNotEqual(registration1, None)
        registration2, created2 = self.registrator.register_user_for_group(self.user1, self.group2)
        self.assertFalse(created2)
        self.assertNotEqual(registration2, None)
    
    def test_group_full_registration(self):
        registration1, created1 = self.registrator.register_user_for_group(self.user1, self.group1)
        self.assertTrue(created1)
        self.assertNotEqual(registration1, None)
        registration2, created2 = self.registrator.register_user_for_group(self.user2, self.group1)
        self.assertFalse(created2)
        self.assertEqual(registration2, None)
Example #3
0
 def setUp(self):
     self.make_test_data()
     
     self.registrator = Registrator()