Beispiel #1
0
    def get_object(self):
        path = self.request.GET.get("html_path", None)
        if path is None:
            raise ValidationError({"html_path": "Missing value"})

        if not path.startswith("/"):
            path = "/" + path

        site = Site.find_for_request(self.request)
        if not site:
            raise Http404

        root_page = site.root_page

        path_components = [
            component for component in path.split("/") if component
        ]

        if getattr(settings, 'WAGTAIL_I18N_ENABLED', False):
            language_from_path = translation.get_language_from_path(path)

            if language_from_path:
                path_components.remove(language_from_path)
                translated_root_page = (root_page.get_translations(
                    inclusive=True).filter(
                        locale__language_code=language_from_path).first())
                if not translated_root_page:
                    raise Http404

                root_page = translated_root_page

        page, args, kwargs = root_page.specific.route(self.request,
                                                      path_components)
        return page, args, kwargs
Beispiel #2
0
 def __call__(self, scope):
     path = scope["path"]
     token_key = path.split('/')[4]
     try:
         token = Token.objects.get(key=token_key)
         scope['user'] = token.user
     except Token.DoesNotExist:
         scope['user'] = AnonymousUser()
     return self.inner(scope)
Beispiel #3
0
def protected_serve(request, path, document_root=None, show_indexes=False):
    path=path.split("?Token=")
    if(len(path)>1):
        try:
            token=Token.objects.get(key=path[1])
            return serve(request, path[0], document_root, show_indexes)
        except Token.DoesNotExist:
            return Response({'authentication':'Authentication Credentials not provided/ Wrong Credentials'})
    else:
        return Response({'authentication':'Token should be provided with URL'})
def get_breadcrumbs(query, path):
    """
    Get breadcrumbs.
    """

    breadcrumbs = []
    dir_query = ""
    if path:
        for item in path.split(os.sep):
            dir_query = os.path.join(dir_query, item)
            breadcrumbs.append([item, dir_query])
    return breadcrumbs
Beispiel #5
0
 def get_field_traverse(self, path):
     _next = self.model
     for j, key in enumerate(path.split('__')):
         if j == 0:
             try:
                 _next = _next._meta.get_field(key)
             except FieldDoesNotExist:
                 # VIEW MANAGE BY HERSELF
                 return key
         elif hasattr(_next, 'related_model'):
             _next = _next.related_model._meta.get_field(key)
         else:
             raise Exception('TODO?')
     return _next
Beispiel #6
0
 def get_field_traverse(self, path):
     _next = self.model
     for j, key in enumerate(path.split('__')):
         if j == 0:
             try:
                 _next = _next._meta.get_field(key)
             except FieldDoesNotExist:
                 # non lo ho trovato allora lo lascio alla view list di arrangiarsi
                 return key
         elif hasattr(_next, 'related_model'):
             _next = _next.related_model._meta.get_field(key)
         else:
             raise Exception('TODO?')
     return _next
def index(request):
    for user_name in find_all_user_names():
        names.append(user_name[4])
    name2 = names[1:]
    path = request.path_info
    path1 = path.split("/")
    path = (path1[-2])
    if path not in name2:
        return HttpResponseRedirect('/register/')
    else:
        user_primary_key = find_id_of_user_names(path)
        user_name = select_user_data_with_id(user_primary_key)
        res = views.display_page_view(request, str(user_name))
        return res
Beispiel #8
0
    def find_object(self, queryset, request):
        site = Site.find_for_request(request)
        if 'html_path' in request.GET and site is not None:
            path = request.GET['html_path']
            path_components = [component for component in path.split('/') if component]

            try:
                page, _, _ = site.root_page.specific.route(request, path_components)
            except Http404:
                return

            if queryset.filter(id=page.id).exists():
                return page

        return super().find_object(queryset, request)