def get_enabled(cls, context): User.test_authenticated(context) Terms.test_agreed_enabled(context) User.test_profile(context) try: User.test_permission(context, 'challenge.full', 'challenge.view') except PermissionRequired: Trigger.test_can_view_challenges(context) queryset = models.Challenge.objects.filter(enabled=True) return [cls(context, obj) for obj in queryset]
def get(cls, context, pk): queryset = models.Challenge.objects.all() try: User.test_permission(context, 'challenge.full', 'challenge.view') except PermissionRequired: User.test_authenticated(context) Terms.test_agreed_enabled(context) User.test_profile(context) Trigger.test_can_view_challenges(context) queryset = queryset.filter(enabled=True) try: return cls(context, queryset.get(pk=pk)) except models.Challenge.DoesNotExist: raise NotFound('题目不存在')