Beispiel #1
0
def search(request):

    context = {}
    current_date = timezone.now()
    context['q'] = request.GET.get("q", None)
    context['page'] = request.GET.get("page", 1)
    if (len(context['q']) > 0):
        f1 = Q(publish=True)
        f2 = Q(publish_date__lte=current_date)
        f3 = Q(publish_date=None)
        f5 = Q(post_type="page")
        f6 = Q(title__icontains=context['q'])
        f7 = Q(post_type="post")
        f8 = Q(post_type="game")
        f9 = Q(post_type="game_engine")
        f10 = Q(post_type="video")

        context['posts'] = paginator(
            context['page'],
            PostItem.objects.filter(f1 & (f2 | f3) & f6
                                    & f7).exclude(f5).order_by(
                                        "-publish_date", '-id'))
    else:
        context['posts'] = []

    template_name = ['modules/%s/search.html' % 'search']
    return TemplateResponse(request, template_name, context)
Beispiel #2
0
def tag_list(request):
        
    if request.method == 'POST':
        page = int(request.data.get('page',1))
        posts = paginator(
                page, 
                GlobalyTags.objects.all().order_by('-id'),
                100
            )
        
        serializer = GlobalyTagsSerializer(
            posts, 
            many=True,
            context={'request': request}
        )
        next_page = 0
        previous_page = 0
        if posts.has_next():
            next_page = posts.next_page_number()
        if posts.has_previous():
            previous_page = posts.previous_page_number()

        return Response({
            'pages':posts.paginator.num_pages,
            'items':serializer.data,
            'next_page':next_page,
            'previous_page':previous_page,
        })
Beispiel #3
0
def tags(request, slug=None, page=1, model=None):

    context = {}
    current_date = timezone.now()

    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f4 = Q(tags__slug=slug)
    f5 = Q(post_type="post")

    post_type = "post"
    context['slug'] = slug
    context['tag'] = get_object_or_404(GlobalyTags, slug=slug)
    context['posts'] = paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f4 & f5).order_by(
            "-publish_date", '-id'))

    template_name = [
        #'modules/%s/autor-%d.html' % (post_type, model.id),
        'modules/%s/tag-%s.html' % (post_type, context['tag']),
        'modules/%s/tag.html' % post_type
    ]
    return TemplateResponse(request, template_name, context)
Beispiel #4
0
def search_list(request):

    if request.method == 'POST':

        query = request.data.get('query', None)
        page = int(request.data.get('page', 1))
        post_type = request.data.get('post_type', 'post')

        f1 = Q()

        f4 = Q(post_type=post_type)
        if (query is not None):
            f1 = Q(title__icontains=query)
        posts = paginator(page,
                          PostItem.objects.filter(f1 & f4).order_by('-id'),
                          100)

        serializer = PostItemSerializer(posts,
                                        many=True,
                                        context={'request': request})
        next_page = 0
        previous_page = 0
        if posts.has_next():
            next_page = posts.next_page_number()
        if posts.has_previous():
            previous_page = posts.previous_page_number()

        return Response({
            'pages': posts.paginator.num_pages,
            'items': serializer.data,
            'next_page': next_page,
            'previous_page': previous_page,
        })
    return Response(status=status.HTTP_204_NO_CONTENT)
Beispiel #5
0
def category(request, slug=None, page=1, model=None):

    context = {}
    current_date = timezone.now()

    f1 = Q(publish=True)
    f6 = Q(slug=slug)

    if model is None:
        model = get_object_or_404(PostCategory, f1 & f6)

    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f4 = Q(categories__id=model.id)
    f5 = Q(post_type="post")

    context['category'] = model
    context['slug'] = slug
    context['page'] = int(page)
    context['posts'] = paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f4 & f5).order_by(
            "-publish_date", '-id'))

    template_name = [
        'modules/%s/category-%d.html' % (model.post_type, model.id),
        'modules/%s/category-%s.html' % (model.post_type, slug),
        'modules/%s/category.html' % model.post_type
    ]
    return TemplateResponse(request, template_name, context)
Beispiel #6
0
def post_list(request):

    if request.method == 'POST':
        page = int(request.data.get('page', 1))
        post_type = request.data.get('post_type', 'post')

        f3 = Q(post_type=post_type)
        posts = paginator(page,
                          PostItem.objects.filter(f3).order_by('-id'), 100)

        serializer = PostItemSerializer(posts,
                                        many=True,
                                        context={'request': request})
        next_page = 0
        previous_page = 0
        if posts.has_next():
            next_page = posts.next_page_number()
        if posts.has_previous():
            previous_page = posts.previous_page_number()

        return Response({
            'pages': posts.paginator.num_pages,
            'items': serializer.data,
            'next_page': next_page,
            'previous_page': previous_page,
        })
Beispiel #7
0
def get_recent_articles(context, limit=10, post_type="post"):
    page = context.get('page', 1)
    #lt for less than
    current_date = timezone.now()
    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f4 = Q(post_type=post_type)
    f5 = Q(is_on_feed=False)
    return paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f4).exclude(f5).order_by(
            "-publish_date", '-id'), limit)
Beispiel #8
0
def get_comments_ajax(request, id, page=1):
    post = get_object_or_404(PostItem, pk=int(id))
    context = {'comments': []}

    for comment in paginator(
            page, Comments.objects.filter(target=post, status='published')):
        c = {
            'logo': comment.autor.get_logo(64, 64),
            'message': comment.comment,
            'publish_date': comment.created.strftime("%Y-%m-%d %H:%M:%S"),
            'modify_date': comment.modified.strftime("%Y-%m-%d %H:%M:%S"),
            'level': comment.level,
        }
        context['comments'].append(c)

    return HttpResponse(json.dumps(context), content_type="application/json")
Beispiel #9
0
def get_recent_articles_by_tags(context, limit=4,post_type="post",tags_slug=None):
    page = context.get('page',1)
    #lt for less than
    
    current_date =  timezone.now()
    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)     
    f4 = Q(post_type=post_type)      
    f5 = Q(is_on_feed=True)  
    f6 = Q(tags__slug=tags_slug) 
    post = paginator(
            page, 
            PostItem.objects.filter(f1 & (f2 | f3) & f4 & f5 & f6 ).order_by("-publish_date",'-id'),
            limit
        )
    return post
Beispiel #10
0
def games_engines(request, slug=None, page=1, model=None):

    context = {}
    current_date = timezone.now()

    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f5 = Q(post_type="game_engine")

    context['slug'] = slug
    context['posts'] = paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f5).order_by(
            "-publish_date", '-id'))

    template_name = ['modules/%s/category.html' % 'game_engine']
    return TemplateResponse(request, template_name, context)
Beispiel #11
0
def year_month_archive(request, year=None, month=None, page=1, model=None):

    context = {}
    current_date = timezone.now()

    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f5 = Q(post_type="post")
    f6 = Q(created__year=year)
    f7 = Q(created__month=month)
    context['year'] = year
    context['month'] = month
    context['posts'] = paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f5 & f6 & f7).order_by(
            "-publish_date", '-id'))

    template_name = ['archive-year-month.html']
    return TemplateResponse(request, template_name, context)
Beispiel #12
0
def get_comments(request, id, page=1):
    post = get_object_or_404(PostItem, pk=int(id))
    context = {'comments': []}

    for comment in paginator(
            page, Comments.objects.filter(target=post, status='published')):
        c = {
            'logo': comment.autor.get_logo(64, 64),
            'message': comment.comment,
            'publish_date': comment.created.strftime("%Y-%m-%d %H:%M:%S"),
            'modify_date': comment.modified.strftime("%Y-%m-%d %H:%M:%S"),
        }
        context['comments'].append(c)
    template_name = [
        'modules/comments/%s-post-%d.html' % (post.post_type, post.id),
        'modules/comments/%s-post-%s.html' % (post.post_type, post.slug),
        'modules/comments/%s-post.html' % post.post_type,
        'modules/comments/comments.html'
    ]
    return TemplateResponse(request, template_name, context)
Beispiel #13
0
def order_list(request):

    if request.method == 'POST':
        page = int(request.data.get('page', 1))
        media = paginator(page, Orders.objects.all(), 100)
        next_page = 0
        previous_page = 0
        if media.has_next():
            next_page = media.next_page_number()
        if media.has_previous():
            previous_page = media.previous_page_number()

        serializer = OrdersSerializer(media,
                                      many=True,
                                      context={'request': request})
        return Response({
            'pages': media.paginator.num_pages,
            'items': serializer.data,
            'next_page': next_page,
            'previous_page': previous_page,
        })
Beispiel #14
0
def get_game_articles(context,title=None, limit=10,post_type="post"):
    page = context.get('page',1)
    #lt for less than
    current_date =  timezone.now()
    
    
    f6 = Q(title__icontains=title.lower())
    f8 = Q(title__icontains=title)
    f7 = Q(content__icontains=title.lower())
    f9 = Q(content__icontains=title)
    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)     
    f4 = Q(post_type=post_type)    


    return paginator(
            page, 
            PostItem.objects.filter(((f6 | f8) | (f9 | f7)) & f1 & (f2 | f3) & f4 ).order_by("-publish_date",'-id'),
            limit
        ) 
Beispiel #15
0
def tags_sub_tag(request, slug=None, sub_slug=None, page=1):

    context = {}
    current_date = timezone.now()

    f1 = Q(publish=True)
    f2 = Q(publish_date__lte=current_date)
    f3 = Q(publish_date=None)
    f5 = Q(categories__slug=sub_slug)
    f4 = Q(tags__slug__in=[slug])

    context['slug'] = slug
    context['sub_slug'] = sub_slug
    context['posts'] = paginator(
        page,
        PostItem.objects.filter(f1 & (f2 | f3) & f4 & f5).order_by(
            "-publish_date", '-id'))
    post_type = 'post'
    template_name = [
        #'modules/%s/autor-%d.html' % (post_type, model.id),
        'modules/%s/tag.html' % post_type
    ]
    return TemplateResponse(request, template_name, context)