Example #1
0
    def get(self, request, id, slug):
        tag = get_object_or_404(Tag, id=id)
        filters = self.get_filters()

        if tag.tag_type == TagType.TANK:
            filters['tank'] = tag
            order_by = 'tank_chapter'
        elif tag.tag_type == TagType.COLLECTION:
            filters['collection'] = tag
            order_by = 'collection_part'
        else:
            filters['tags'] = tag
            order_by = '-published_on'

        manga_list = Manga.published.filter(**filters).order_by(order_by)
        manga_list = paginate(manga_list, self.page_size, request.GET.get('p'))

        lang = request.GET.get('lang' ) or Language.ENGLISH

        tag_alias_list = TagAlias.objects.filter(tag=tag).order_by('language', 'name')
        tag_data = get_object_or_none(TagData, tag=tag, language=lang)
        return self.render_to_response({
            'lang': lang,
            'manga_list': manga_list,
            'tag': tag,
            'tag_alias_list': tag_alias_list,
            'tag_data': tag_data,
        })
Example #2
0
    def get(self, request):
        form = MangaSearchForm(request=request, data=request.GET, load_all=False)
        sqs = form.search()

        manga_list = paginate(sqs, self.page_size, request.GET.get("p", 1))
        manga_list = MangaSearchResultsPage(manga_list)

        return self.render_to_response({"manga_list": manga_list})
Example #3
0
 def get(self, request):
     filters = self.get_filters()
     filters['favorite_users'] = request.user
     manga_list = Manga.published.filter(**filters).order_by('-published_on')
     manga_list = paginate(manga_list, self.page_size, request.GET.get('p'))
     return self.render_to_response({
         'manga_list': manga_list,
     })
Example #4
0
    def get(self, request):
        if not SiteSetting.as_dict().get(SiteSettingKey.ENABLE_UPLOADS):
            messages.warning(request, _('Uploading at Fufufuu has been disabled.'))

        manga_list = Manga.objects.filter(created_by=request.user).order_by('-created_on')
        manga_list = paginate(manga_list, self.page_size, request.GET.get('p'))
        upload_slots_used = min(self.get_upload_slots_used(), request.user.upload_limit)
        return self.render_to_response({
            'manga_list': manga_list,
            'upload_slots_used': upload_slots_used,
        })
Example #5
0
    def get(self, request, username):
        target_user = self.get_user(username)

        filters = self.get_filters()
        filters['created_by_id'] = target_user.id

        manga_list = Manga.published.filter(**filters).order_by('-published_on')
        manga_list = paginate(manga_list, self.page_size, request.GET.get('p'))

        return self.render_to_response({
            'manga_list': manga_list,
            'target_user': target_user,
        })
Example #6
0
    def get(self, request):
        lang = request.GET.get('lang')
        tag_alias_dict = self.get_tag_alias_dict(request, lang)
        tag_list = Tag.objects.filter(tag_type=self.tag_type).order_by('slug')
        tag_list = paginate(tag_list, self.page_size, request.GET.get('p'))
        for tag in tag_list:
            tag.alias_list = tag_alias_dict.get(tag.id)

        return self.render_to_response({
            'lang': lang,
            'tag_list': tag_list,
            'tag_type': self.tag_type,
            'title': TagType.plural[self.tag_type],
        })
Example #7
0
    def get(self, request):
        blog_entry_list = BlogEntry.objects.select_related('created_by').order_by('-created_on')
        blog_entry_list = paginate(blog_entry_list, self.page_size, request.GET.get('p'))

        id_list = [b.id for b in blog_entry_list]
        comment_count_list = Comment.objects\
            .filter(content_type=ContentType.objects.get_for_model(BlogEntry), object_id__in=id_list)\
            .values('object_id')\
            .annotate(count=Count('object_id'))
        comment_count_dict = dict([(c['object_id'], c['count']) for c in comment_count_list])

        for blog_entry in blog_entry_list:
            blog_entry.comment_count = comment_count_dict.get(blog_entry.id, 0)

        return self.render_to_response({
            'blog_entry_list': blog_entry_list,
        })
Example #8
0
 def get(self, request):
     manga_list = Manga.published.filter(**self.get_filters()).order_by('-published_on')
     manga_list = paginate(manga_list, self.page_size, request.GET.get('p'))
     return self.render_to_response({
         'manga_list': manga_list,
     })