python类HttpResponseForbidden()的实例源码

views.py 文件源码 项目:drapo 作者: andgein 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def task_file(request, contest_id, file_id):
    contest = get_object_or_404(models.TaskBasedContest, pk=contest_id)
    if not contest.is_visible_in_list and not request.user.is_staff:
        return HttpResponseNotFound()

    file = get_object_or_404(tasks_models.TaskFile, pk=file_id)
    if not contest.has_task(file.task):
        return HttpResponseNotFound()

    if not contest.is_started() and not request.user.is_staff:
        return HttpResponseForbidden('Contest is not started')

    participant = contest.get_participant_for_user(request.user)
    if not is_task_open(contest, file.task, participant) and not request.user.is_staff:
        return HttpResponseForbidden('Task is closed')

    if file.participant is not None and file.participant.id != request.user.id:
        return HttpResponseForbidden()

    file_path = file.get_path_abspath()
    return respond_as_attachment(request, file_path, file.name, file.content_type)
views.py 文件源码 项目:tumanov_castleoaks 作者: Roamdev 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def get(self, request, **kwargs):
        form = SearchForm(request.GET)
        if not form.is_valid():
            return HttpResponseForbidden()

        query = form.cleaned_data.get('q')
        paginator = SearchPaginator(
            request,
            query=query,
            per_page=20,
            page_neighbors=1,
            side_neighbors=1,
        )

        # SEO
        seo = Seo()
        seo.title = _('Search results')
        seo.save(request)

        return self.render_to_response({
            'form': form,
            'title': _('Search by «%s»') % query,
            'paginator': paginator,
        })
views.py 文件源码 项目:pyconjp-website 作者: pyconjp 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def tutorial_message(request, pk):

    tutorial = get_object_or_404(PyConTutorialProposal, pk=pk)
    presentation = Presentation.objects.get(proposal_base=tutorial)
    if not request.user.is_staff:
        if not is_attendee_or_speaker(request.user, presentation):
            return HttpResponseForbidden(_(u"Not authorized for this page"))

    message_form = TutorialMessageForm()
    if request.method == 'POST':
        message = PyConTutorialMessage(user=request.user,
                                       tutorial=tutorial)
        message_form = TutorialMessageForm(request.POST, instance=message)
        if message_form.is_valid():
            message = message_form.save()
            context = email_context(request, tutorial, message)
            sender_email = request.user.email
            speakers = [x.email for x in tutorial.speakers()
                        if x.email != sender_email]
            attendees = [x.email for x in tutorial.registrants.all()
                         if x.email != sender_email]
            recipients = speakers + attendees

            # Send new message notice to speakers/attendees
            send_email_message("message",
                               from_=settings.DEFAULT_FROM_EMAIL,
                               to=[request.user.email],
                               bcc=recipients,
                               context=context)
        messages.add_message(request, messages.INFO, _(u"Message sent"))
        url = reverse('schedule_presentation_detail', args=[presentation.pk])
        return redirect(url)

    return render(request, "tutorials/message.html", {
        'presentation': presentation,
        'form': message_form
        })
multiforms.py 文件源码 项目:LDERP 作者: Ignoramuss 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def _process_individual_form(self, form_name, form_classes):
        forms = self.get_forms(form_classes, (form_name,))
        form = forms.get(form_name)
        if not form:
            return HttpResponseForbidden()
        elif form.is_valid():
            return self.forms_valid(forms, form_name)
        else:
            return self.forms_invalid(forms)
views.py 文件源码 项目:intake 作者: codeforamerica 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def dispatch(self, *args, **kwargs):
        if not self.request.user.has_perm('clips.add_clip'):
            return HttpResponseForbidden()
        return super(ClipCreateView, self).dispatch(*args, **kwargs)
views.py 文件源码 项目:intake 作者: codeforamerica 项目源码 文件源码 阅读 87 收藏 0 点赞 0 评论 0
def dispatch(self, *args, **kwargs):
        if not self.request.user.has_perm('clips.change_clip'):
            return HttpResponseForbidden()
        return super(ClipUpdateView, self).dispatch(*args, **kwargs)
views.py 文件源码 项目:intake 作者: codeforamerica 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def dispatch(self, *args, **kwargs):
        if not self.request.user.has_perm('clips.delete_clip'):
            return HttpResponseForbidden()
        return super(ClipDeleteView, self).dispatch(*args, **kwargs)
views.py 文件源码 项目:djamazing 作者: sunscrapers 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def get(self, request):
        username = request.user.get_username()
        filename = request.GET['filename']
        signature = request.GET['signature']

        if not check_signature(signature, filename, username):
            return HttpResponseForbidden()
        return HttpResponseRedirect(
            redirect_to=self.storage.cloud_front_url(filename)
        )
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def post(self, request, *args, **kwargs):
        # Check if the secret key matches
        if request.META.get('HTTP_AUTH_SECRET') != 'supersecretkey':
            return HttpResponseForbidden('Auth key incorrect')

        form_class = modelform_factory(DataPoint, fields=['node_name', 'data_type', 'data_value'])
        form = form_class(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponse()
        else:
            return HttpResponseBadRequest()
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def post(self, request, *args, **kwargs):
        # Check if the secret key matches
        if request.META.get('HTTP_AUTH_SECRET') != 'supersecretkey':
            return HttpResponseForbidden('Auth key incorrect')

        form_class = modelform_factory(DataPoint, fields=['node_name', 'data_type', 'data_value'])
        form = form_class(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponse()
        else:
            return HttpResponseBadRequest()
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        user = request.user
        if Blog.objects.filter(owner=user).exists():
            return HttpResponseForbidden ('You can not create more than one blogs per account')
        else:
            return super(NewBlogView, self).dispatch(request, *args, **kwargs)
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def get(self, request, post_pk, blog_pk):
        blog_post = BlogPost.objects.get(pk=post_pk)
        if blog_post.blog.owner != request.user:
            return HttpResponseForbidden('You can only share posts that you created')

        blog = Blog.objects.get(pk=blog_pk)
        blog_post.shared_to.add(blog)

        return HttpResponseRedirect(reverse('home'))
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get(self, request, post_pk, blog_pk):
        blog_post = BlogPost.objects.get(pk=post_pk)
        if blog_post.blog.owner != request.user:
            return HttpResponseForbidden('You can only stop sharing posts that you created')

        blog = Blog.objects.get(pk=blog_pk)
        blog_post.shared_to.remove(blog)

        return HttpResponseRedirect(reverse('home'))
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 30 收藏 0 点赞 0 评论 0
def get(self, request, post_pk, blog_pk):
        blog_post = BlogPost.objects.get(pk=post_pk)
        if blog_post.blog.owner != request.user:
            return HttpResponseForbidden('You can only share posts that you created')

        blog = Blog.objects.get(pk=blog_pk)
        blog_post.shared_to.add(blog)

        return HttpResponseRedirect(reverse('home'))
views.py 文件源码 项目:Django-Projects-Blueprints 作者: PacktPublishing 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def get(self, request, post_pk, blog_pk):
        blog_post = BlogPost.objects.get(pk=post_pk)
        if blog_post.blog.owner != request.user:
            return HttpResponseForbidden('You can only stop sharing posts that you created')

        blog = Blog.objects.get(pk=blog_pk)
        blog_post.shared_to.remove(blog)

        return HttpResponseRedirect(reverse('home'))
mixins.py 文件源码 项目:Django-Code-Review-CodeEntrepreneurs 作者: guinslym 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        obj = self.get_object()

        if obj.author != self.request.user:
            #add a message here (see DeleteView)
            #add a redirect instead of ResponseForbidden
            #this mixin only works with Author
            return HttpResponseForbidden()

        return super(UserRequiredMixin, self).dispatch(request, *args, **kwargs)
mixins.py 文件源码 项目:Django-Code-Review-CodeEntrepreneurs 作者: guinslym 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        obj = self.get_object()

        if obj.author != self.request.user:
            #add a message here (see DeleteView)
            #add a redirect instead of ResponseForbidden
            #this mixin only works with Author
            return HttpResponseForbidden()

        return super(UserRequiredMixin, self).dispatch(request, *args, **kwargs)
views.py 文件源码 项目:sh8email-django 作者: triplepy 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def detail(request, pk):
    mail = get_object_or_404(Mail, pk=pk)
    can_read = mail.can_read(request)
    if can_read == (True, None):
        mail.read()
        return render(request, 'web/detail.html', {
            'mail': mail, 'recipient': mail.recipient
        })
    elif can_read == (False, {CannotReadReasons.secret_code}):
        return render(request, 'web/secretcode_form.html', {
            'mail': mail, 'recipient': mail.recipient
        })
    else:
        return HttpResponseForbidden()
contract_type.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 15 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        if request.user.userprofile.gym_id != int(self.kwargs['gym_pk']):
            return HttpResponseForbidden()

        return super(AddView, self).dispatch(request, *args, **kwargs)
contract_type.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 15 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        contract_type = self.get_object()
        if request.user.userprofile.gym_id != contract_type.gym_id:
            return HttpResponseForbidden()

        return super(UpdateView, self).dispatch(request, *args, **kwargs)
contract_type.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        contract_type = self.get_object()
        if request.user.userprofile.gym_id != contract_type.gym_id:
            return HttpResponseForbidden()

        return super(DeleteView, self).dispatch(request, *args, **kwargs)
contract_type.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only list contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        self.gym = get_object_or_404(Gym, id=self.kwargs['gym_pk'])
        if request.user.userprofile.gym_id != self.gym.id:
            return HttpResponseForbidden()

        return super(ListView, self).dispatch(request, *args, **kwargs)
contract_option.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        if request.user.userprofile.gym_id != int(self.kwargs['gym_pk']):
            return HttpResponseForbidden()

        return super(AddView, self).dispatch(request, *args, **kwargs)
contract_option.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add contract option in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        contract_type = self.get_object()
        if request.user.userprofile.gym_id != contract_type.gym_id:
            return HttpResponseForbidden()

        return super(DeleteView, self).dispatch(request, *args, **kwargs)
contract_option.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only list contract types in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        self.gym = get_object_or_404(Gym, id=self.kwargs['gym_pk'])
        if request.user.userprofile.gym_id != self.gym.id:
            return HttpResponseForbidden()

        return super(ListView, self).dispatch(request, *args, **kwargs)
contract.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add documents to users in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        user = get_object_or_404(User, pk=self.kwargs['user_pk'])
        self.member = user
        if user.userprofile.gym_id != request.user.userprofile.gym_id:
            return HttpResponseForbidden()
        return super(AddView, self).dispatch(request, *args, **kwargs)
contract.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 34 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only see contracts for own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        contract = self.get_object()
        if contract.member.userprofile.gym_id != request.user.userprofile.gym_id:
            return HttpResponseForbidden()
        return super(DetailView, self).dispatch(request, *args, **kwargs)
contract.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 33 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Only trainers for this gym can edit user notes
        '''

        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        contract = self.get_object()
        if contract.member.userprofile.gym_id != request.user.userprofile.gym_id:
            return HttpResponseForbidden()
        return super(UpdateView, self).dispatch(request, *args, **kwargs)
config.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Only managers for this gym can add new members
        '''
        if request.user.has_perm('gym.change_gymconfig'):
            gym_id = request.user.userprofile.gym_id
            if gym_id != int(self.kwargs['pk']):
                return HttpResponseForbidden()
        return super(GymConfigUpdateView, self).dispatch(request, *args, **kwargs)
admin_notes.py 文件源码 项目:wger-lycan-clan 作者: andela 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def dispatch(self, request, *args, **kwargs):
        '''
        Can only add notes to users in own gym
        '''
        if not request.user.is_authenticated():
            return HttpResponseForbidden()

        user = User.objects.get(pk=self.kwargs['user_pk'])
        self.member = user
        if user.userprofile.gym_id != request.user.userprofile.gym_id:
            return HttpResponseForbidden()
        return super(ListView, self).dispatch(request, *args, **kwargs)


问题


面经


文章

微信
公众号

扫码关注公众号