def test_all_permitted(self): """ If login is not required, all requests should pass the permissions check. """ self.site_settings.submission_requires_login = False self.site_settings.save() self.assertTrue(_has_submit_permissions(self.anonymous_request)) self.assertTrue(_has_submit_permissions(self.user_request)) self.assertTrue(_has_submit_permissions(self.admin_request))
def test_admin_required(self): """ If login is required and no submit button is displayed, only admin requests should pass the permissions check. """ self.site_settings.submission_requires_login = True self.site_settings.display_submit_button = False self.site_settings.save() self.assertFalse(_has_submit_permissions(self.anonymous_request)) self.assertFalse(_has_submit_permissions(self.user_request)) self.assertTrue(_has_submit_permissions(self.admin_request))
def _has_contest_submit_permissions(request, pk, *args, **kwargs): if not submit_views._has_submit_permissions(request): return False if request.user_is_admin(): return True try: contest = Contest.objects.get(pk=pk) except Contest.DoesNotExist: raise Http404 return contest.submissions_open