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
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)
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
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.
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
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
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)
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)
def items(self): blog_articles = ArticleService.get_feed_articles() return blog_articles