def topic(request, slug, id): t = get_object_or_404(Topic, pk=id) if t.forum.slug != slug: # topic was moved return redirect(topic, t.forum.slug, t.pk) if request.method == 'POST': form = forms.ArticleForm(t, request.user, request.META.get('REMOTE_ADDR'), request.POST) if form.is_valid(): article = form.save() return _process_new_article(request, article, False, True) else: form = forms.ArticleForm(t, request.user, request.META.get('REMOTE_ADDR')) if request.user.is_authenticated(): profile = request.user.cicero_profile changed = profile.add_read_articles(t.article_set.all()) if changed: profile.save() caching.invalidate_by_user(request) return object_list( request, t.article_set.filter(spam_status='clean').select_related(), { 'topic': t, 'form': form, 'page_id': 'topic', 'show_last_link': True, })
def mark_read(request, slug=None): qs = Article.objects.all() if slug: qs = qs.filter(topic__forum__slug=slug) if request.user.is_authenticated(): profile = request.user.cicero_profile profile.add_read_articles(qs) profile.save() caching.invalidate_by_user(request) return HttpResponseRedirect(request.META.get('HTTP_REFERER') or '../')
def mark_read(request, slug=None): qs = Article.objects.all() if slug: qs = qs.filter(topic__forum__slug=slug) if request.user.is_authenticated(): profile = request.user.cicero_profile profile.add_read_articles(qs) profile.save() caching.invalidate_by_user(request) return redirect(request.META.get('HTTP_REFERER') or '../')
def user_authenticated(sender, user, op=None, acquire=None, **kwargs): if op == 'login': caching.invalidate_by_user(sender) if acquire is not None: try: article = Article.objects.get(pk=acquire) article.author = user.cicero_profile article.save() return _process_new_article(sender, article, article.topic.article_set.count() == 1, False) except Article.DoesNotExist: pass
def user_authenticated(sender, user, op=None, acquire=None, **kwargs): if op == 'login': caching.invalidate_by_user(sender) if acquire is not None: try: article = Article.objects.get(pk=acquire) article.author = user.cicero_profile article.save() return _process_new_article( sender, article, article.topic.article_set.count() == 1, False ) except Article.DoesNotExist: pass
def topic(request, slug, id, **kwargs): topic = get_object_or_404(Topic, forum__slug=slug, pk=id) if request.method == 'POST' and is_user_can_add_topic_or_article(request): form = forms.ArticleForm(topic, request.user, request.META.get('REMOTE_ADDR'), request.POST) if form.is_valid(): article = form.save() inc_article_cntr(request) r = _process_new_article(request, article, False, True) return r else: form = forms.ArticleForm(topic, request.user, request.META.get('REMOTE_ADDR')) if request.user.is_authenticated(): profile = request.user.cicero_profile is_can_change_carmas = profile.today_change_carmas < profile.max_change_carmas changed = profile.add_read_articles(topic.article_set.all()) if changed: profile.save() caching.invalidate_by_user(request) else: is_can_change_carmas = False kwargs['queryset'] = topic.article_set.filter( spam_status='clean', is_forum=True).select_related() kwargs['extra_context'] = { 'topic': topic, 'form': form, 'page_id': 'topic', 'show_last_link': True, 'groups': _get_left_side_cont(), 'summary': _get_summary_cont(request), 'is_user_can_add_topic_or_article': is_user_can_add_topic_or_article(request), 'is_can_change_carmas': is_can_change_carmas } return object_list(request, **kwargs)
def carma(request, tgt_user, inc_dec, **kwargs): #print tgt_user u = '%s' % (request.user, ) #print u if request.user.is_authenticated() and tgt_user != u and ( inc_dec == "inc" or inc_dec == "dec"): profile = request.user.cicero_profile is_can_change_carmas = profile.today_change_carmas < profile.max_change_carmas #print is_can_change_carmas if is_can_change_carmas: profile.today_change_carmas += 1 profile.save() from my_django.contrib.auth.models import User try: u = User.objects.get(username__exact=tgt_user) profile = Profile.objects.filter(user=u).get() if inc_dec == "inc": profile.carma += 1 else: profile.carma -= 1 profile.save() except User.DoesNotExist: pass caching.invalidate_by_user(request) else: is_can_change_carmas = False #kwargs['queryset'] = topic.article_set.filter(spam_status='clean', is_forum=True).select_related() #kwargs['extra_context'] = {'topic': topic, 'form': form, 'page_id': 'topic', 'show_last_link': True, # 'groups': _get_left_side_cont(), # 'is_user_can_add_topic_or_article': is_user_can_add_topic_or_article(request)} #return object_list(request, **kwargs) if is_can_change_carmas: return HttpResponseRedirect( post_redirect(request) ) #HttpResponse(u"carma of %s succesfully changed" % (tgt_user,)) else: return HttpResponse(u"you can not change this carma")
def topic(request, slug, id): t = get_object_or_404(Topic, pk=id) if t.forum.slug != slug: # topic was moved return redirect(topic, t.forum.slug, t.pk) if request.method == 'POST': form = forms.ArticleForm(t, request.user, request.META.get('REMOTE_ADDR'), request.POST) if form.is_valid(): article = form.save() return _process_new_article(request, article, False, True) else: form = forms.ArticleForm(t, request.user, request.META.get('REMOTE_ADDR')) if request.user.is_authenticated(): profile = request.user.cicero_profile changed = profile.add_read_articles(t.article_set.all()) if changed: profile.save() caching.invalidate_by_user(request) return object_list(request, t.article_set.filter(spam_status='clean').select_related(), { 'topic': t, 'form': form, 'page_id': 'topic', 'show_last_link': True, })