Exemple #1
0
    def get(self, request, *args, **kwargs):
        if not self.object.editoritem.can_be_viewed_by(request.user):
            return forbidden(request)
        else:
            if not self.user.is_anonymous:
                self.user.notifications.filter(target_object_id=self.object.pk).mark_all_as_read()

            return super(BaseUpdateView, self).get(request, *args, **kwargs)
Exemple #2
0
    def get(self, request, *args, **kwargs):
        if not self.object.editoritem.can_be_viewed_by(request.user):
            return forbidden(request)
        else:
            if not self.user.is_anonymous():
                self.user.notifications.filter(target_object_id=self.object.pk).mark_all_as_read()

            return super(BaseUpdateView,self).get(request,*args,**kwargs)
Exemple #3
0
 def get(self, request, *args, **kwargs):
     self.object = self.get_object()
     if self.editoritem.can_be_viewed_by(self.request.user):
         return self.access_valid()
     else:
         token = self.request.GET.get('token', '')
         if token == str(self.editoritem.share_uuid_view):
             return self.access_valid()
         else:
             return forbidden(self.request)
Exemple #4
0
 def get(self, request, *args, **kwargs):
     if super(EditorItem,
              self.object.editoritem).can_be_viewed_by(request.user):
         for q in self.object.questions.all():
             if not q.editoritem.can_be_viewed_by(request.user):
                 return forbidden(
                     request,
                     message=
                     "Sorry, you're not allowed to see this. This exam contains one or more questions that you don't have access to."
                 )
     return super().get(request, *args, **kwargs)
Exemple #5
0
    def get(self, request, *args, **kwargs):
        if not self.object.editoritem.can_be_viewed_by(request.user):
            return forbidden(request)
        else:
            if not self.user.is_anonymous:
                self.user.notifications.filter(target_object_id=self.object.pk).mark_all_as_read()
                item = self.object.editoritem
                v, created = EditorItemViewed.objects.get_or_create(userprofile=self.user.userprofile,item=item)
                if not created:
                    v.save()

            return super(BaseUpdateView, self).get(request, *args, **kwargs)