Exemplo n.º 1
0
    def dispatch(self, request, *args, **kwargs):
        try:
            self.catalog = Catalog.objects.get(url_name=kwargs['catalog_name'])
        except Catalog.DoesNotExist:
            raise ProblemDetailException(request,
                                         _("Catalog not found"),
                                         status=HTTPStatus.NOT_FOUND)
        except KeyError as e:
            raise ProblemDetailException(request,
                                         _("Internal server error"),
                                         status=HTTPStatus.NOT_FOUND,
                                         previous=e)

        if request.method not in self.UNSECURED_METHODS and not self.catalog.is_public:
            self._authenticate(request)

        return View.dispatch(self, request, *args, **kwargs)
Exemplo n.º 2
0
    def dispatch(self, request, *args, **kwargs):
        self.related_fields = self.related_fields or []
        self.context_rel = {}
        getparams = []
        self.getparams = ''
        for related in self.related_fields:
            if self.request.GET.get(related, False) is not False:
                Classrelated = utils.get_related_class_field(
                    self.model, related)
                self.context_rel[related] = get_object_or_404(
                    Classrelated, pk=self.request.GET.get(related, '0'))
                getparams.append("%s=%s" % (
                    related, str(self.context_rel[related].pk)))

        if getparams:
            self.getparams = "?" + "&".join(getparams)
        for perm in self.perms:
            if not request.user.has_perm(perm):
                return HttpResponseForbidden()
        return View.dispatch(self, request, *args, **kwargs)
Exemplo n.º 3
0
    def dispatch(self, request, *args, **kwargs):
        self.related_fields = self.related_fields or []
        self.context_rel = {}
        getparams = []
        self.getparams = ''
        for related in self.related_fields:
            pk = self.request.GET.get(related, '')
            if pk:
                Classrelated = utils.get_related_class_field(
                    self.model, related)
                self.context_rel[related] = get_object_or_404(Classrelated,
                                                              pk=pk)
                getparams.append("%s=%s" %
                                 (related, str(self.context_rel[related].pk)))

        if getparams:
            self.getparams = "&".join(getparams)
        for perm in self.perms:
            if not self.validate_user_perms(request.user, perm,
                                            self.view_type):
                return HttpResponseForbidden()
        return View.dispatch(self, request, *args, **kwargs)
Exemplo n.º 4
0
    def dispatch(self, request, *args, **kwargs):
        self.related_fields = self.related_fields or []
        self.context_rel = {}
        getparams = []
        self.getparams = ''
        for related in self.related_fields:
            pk = self.request.GET.get(related, '')
            if pk:
                Classrelated = utils.get_related_class_field(
                    self.model, related)
                self.context_rel[related] = get_object_or_404(
                    Classrelated, pk=pk)
                getparams.append("%s=%s" % (
                    related, str(self.context_rel[related].pk)))

        if getparams:
            self.getparams = "&".join(getparams)
        for perm in self.perms:
            if not request.user.has_perm(perm):
                template = loader.get_template('403.html')
                return HttpResponseForbidden(template.render(request=request))
        return View.dispatch(self, request, *args, **kwargs)
Exemplo n.º 5
0
    def dispatch_to(self, step: View):
        """Dispatch to a view expected by this pipeline.

        A subclass may override this if its views take other parameters.
        """
        return step.dispatch(request=self.request, pipeline=self)
Exemplo n.º 6
0
 def dispatch(self, request, *args, **kwargs):
     return View.dispatch(self, request, *args, **kwargs)
Exemplo n.º 7
0
 def dispatch_to(self, step: View):
     return step.dispatch(request=self.request, helper=self)