コード例 #1
0
ファイル: articles.py プロジェクト: pombredanne/dworkin
    def get_context_data(self, **kwargs):
        context = super(ArticleList, self).get_context_data(**kwargs)
        context['page'] = 'articles_page'

        self.init_articles()
        context.update(self.get_control_panel_context())

        if context.has_key('own_articles'):
            context['own'] = 'articles'
        elif context.has_key('own_drafts'):
            context['own'] = 'drafts'

        paginator = Paginator(list(self.articles), ARTICLES_LIMIT)

        try:
            page_num = int(self.request.GET.get('page', '1'))
        except ValueError:
            page_num = 1
        try:
            current_page = paginator.page(page_num)
        except (EmptyPage, InvalidPage):
            current_page = paginator.page(paginator.num_pages)

        article_list = list(current_page.object_list)
        for article in article_list:
            article.untranslated_langs = ArticleService.get_untranslated_ids(article)
        context["article_list"] = article_list

        if current_page.has_next():
            preview_page = paginator.page(page_num + 1)
            context['next_page'] = page_num + 1
            context['preview_articles'] = list(preview_page.object_list)

        return context
コード例 #2
0
ファイル: test_articles.py プロジェクト: pombredanne/dworkin
    def test_article_filters_for_anonymous(self):

        article_service = ArticleService()

        request = Request()
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 39)

        request = Request()
        request.GET['own'] = 'articles'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query),39)

        request = Request()
        request.GET['own'] = 'drafts'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query),39)
コード例 #3
0
ファイル: markitup.py プロジェクト: pombredanne/dworkin
    def get_context_data(self, **kwargs):
        context = super(MarkitupPreviewer, self).get_context_data(**kwargs)

        markup = self.args[0]
        data = self.request.POST.get("data")

        context["rendered_data"] = ArticleService.render_markup(markup, data)
        return context
コード例 #4
0
ファイル: models.py プロジェクト: pombredanne/dworkin
    def save(self, *args, **kwargs):

        from techblog.services.articles import ArticleService
        rendered_article = ArticleService.render_markups(self)

        self.short = rendered_article.short
        self.description = rendered_article.description

        super(Article, self).save(*args, **kwargs) # Call the "real" save() method.
コード例 #5
0
ファイル: articles.py プロジェクト: pombredanne/dworkin
    def get_initial(self):
        initial = super(TranslateArticle, self).get_initial().copy()
        article_id = self.kwargs.get('article_id')

        article = get_object_or_404(Article, id=article_id)
        data = ArticleService.get_translation_data(article, self.request.user)

        initial.update(data)
        return initial
コード例 #6
0
ファイル: tags.py プロジェクト: pombredanne/dworkin
 def get_category_tag_cloud():
     from techblog.services.articles import ArticleService
     from techblog.services.categories import CategoryService
     cats = CategoryService.get_categories_with_count()
     for category in cats:
         article_ids = ArticleService.get_article_ids_by_category(category)
         category.tags = list(TagService.get_filtered_tag_cloud([a.id for a in article_ids]))
         if not category.tags:
             category.empty = True
     return cats
コード例 #7
0
ファイル: forms.py プロジェクト: pombredanne/dworkin
    def __init__(self, *args, **kwargs):
        super(TranslateArticleForm, self).__init__(*args, **kwargs)

        original = self.initial.get('original')

        self.fields['category'].widget.attrs['disabled'] = True
        self.fields['tags'].widget.attrs['disabled'] = True

        choices = []
        ids = ArticleService.get_all_translations_ids(original)
        for id, value in self.fields['lang'].widget.choices:
            if id in ids:
                value = {'label': value, 'disabled': True}
            choices.append((id, value))

        self.fields['lang'].widget = SelectWithDisabled(choices=choices)
コード例 #8
0
ファイル: test_articles.py プロジェクト: pombredanne/dworkin
    def test_article_filters_for_authorized(self):

        article_service = ArticleService()

        #-------------------------------------------------------
        user_lexa = User.objects.get(username='******')

        request = Request()
        request.user = user_lexa
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 39)

        request = Request()
        request.user = user_lexa
        request.GET['own'] = 'articles'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 6)

        request = Request()
        request.user = user_lexa
        request.GET['own'] = 'drafts'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 1)

        #-------------------------------------------------------
        user_kottenator = User.objects.get(username='******')

        request = Request()
        request.user = user_kottenator
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 39)

        request = Request()
        request.user = user_kottenator
        request.GET['own'] = 'articles'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 18)

        request = Request()
        request.user = user_kottenator
        request.GET['own'] = 'drafts'
        query = article_service.filter_articles(request)
        self.assertEqual(len(query), 0)
コード例 #9
0
ファイル: feeds.py プロジェクト: webriders/dworkin
 def items(self):
     blog_articles = ArticleService.get_feed_articles()
     return blog_articles