def save(self): if self.forum: topic = Topic(forum=self.forum, user=self.user, name=self.cleaned_data['name']) topic.save() #aumentando 5 puntos al user profile############## self.user.get_profile().add_points(5) ################################################## else: topic = self.topic #aumentando 5 puntos al user profile############## self.user.get_profile().add_points(2) ################################################## post = Post(topic=topic, user=self.user, user_ip=self.ip, markup=self.user.forum_profile.markup, body=self.cleaned_data['body']) post.save() if forum_settings.ATTACHMENT_SUPPORT: self.save_attachment(post, self.cleaned_data['attachment']) return post
def save(self): if self.forum: topic = Topic(forum=self.forum, user=self.user, name=self.cleaned_data['name']) topic.save() else: topic = self.topic if self.cleaned_data['subscribe']: # User would like to subscripe to this topic topic.subscribers.add(self.user) post = Post(topic=topic, user=self.user, user_ip=self.ip, markup=self.user.forum_profile.markup, body=self.cleaned_data['body']) post.save() if self.user.groups.filter(name="New Scratchers").exists(): tracking_data = dict(**self.request_data) tracking_data['permalink'] = self.url status = PostStatus.objects.create_for_post(post, **tracking_data) if forum_settings.ATTACHMENT_SUPPORT: self.save_attachment(post, self.cleaned_data['attachment']) return post
def save(self): from djangobb_forum.models import Forum, Topic, Post from accounts.models import User is_create = self.pk is None if is_create: user = User.objects.get(username='******') forum = Forum.objects.get(name='Обсуждение рецептов') topic = Topic(forum=forum, name=self.title, user=user) topic.save() self.topic_id = topic.pk super(Example, self).save() if is_create: body_plain = u"""Обсуждение рецепта "%s" (http://djbook.ru%s).""" body_html = u"""Обсуждение рецепта «<a href="%s">%s</a>».""" title = self.title url = self.get_absolute_url() post = Post(topic=topic, user=user, body=body_plain % (title, url), body_html=body_html % (url, title)) post.save()
def save(self): if self.forum: topic = Topic(forum=self.forum, user=self.user, name=self.cleaned_data['name']) topic.save() else: topic = self.topic post = Post(topic=topic, user=self.user, user_ip=self.ip, markup=self.user.forum_profile.markup, body=self.cleaned_data['body']) post.save() if forum_settings.ATTACHMENT_SUPPORT: self.save_attachment(post, self.cleaned_data['attachment']) return post
def save(self): if self.forum: topic = Topic(forum=self.forum, user=self.user, name=self.cleaned_data['name']) topic.save() else: topic = self.topic if self.cleaned_data['subscribe']: # User would like to subscripe to this topic topic.subscribers.add(self.user) post = Post(topic=topic, user=self.user, user_ip=self.ip, markup=self.user.forum_profile.markup, body=self.cleaned_data['body']) post.save() if forum_settings.ATTACHMENT_SUPPORT: self.save_attachment(post, self.cleaned_data['attachment']) return post
def forwards(self, orm): u"""Create topic for each recipe that already exists.""" user = User.objects.get(username='******') forum = Forum.objects.get(name='Обсуждение рецептов') examples = Example.objects.all() for item in examples: topic = Topic(forum=forum, name=item.title, user=user) topic.save() body_plain = u"""Обсуждение рецепта "%s" (http://djbook.ru%s).""" body_html = u"""Обсуждение рецепта «<a href="%s">%s</a>».""" title = item.title url = item.get_absolute_url() post = Post(topic=topic, user=user, body=body_plain % (title, url), body_html=body_html % (url, title)) post.save() item.topic_id = topic.pk item.save()
def new_topic(request, forum_id, subject, text_body, prefix_id='', attachment_id_array=[], group_id=''): from djangobb_forum.models import Topic, Post t = Topic() t.forum_id = int(forum_id) t.name = str(subject) t.user_id = request.user.pk t.save() p = Post() p.user_id = request.user.pk p.topic_id = t.id p.body = str(text_body) p.save() return { 'result': True, 'topic_id': t.id, }
def index(request, full=True): users_cached = cache.get('users_online', {}) users_online = users_cached and User.objects.filter( id__in=users_cached.keys()) or [] guests_cached = cache.get('guests_online', {}) guest_count = len(guests_cached) users_count = len(users_online) cats = {} forums = {} user_groups = request.user.groups.all() if request.user.is_anonymous( ): # in django 1.1 EmptyQuerySet raise exception user_groups = [] _forums = Forum.objects.filter( Q(category__groups__in=user_groups) | \ Q(category__groups__isnull=True)).select_related('last_post__topic', 'last_post__user', 'category') for forum in _forums: cat = cats.setdefault(forum.category.id, { 'id': forum.category.id, 'cat': forum.category, 'forums': [] }) cat['forums'].append(forum) forums[forum.id] = forum if request.user.is_authenticated(): if request.method == "POST": form = AddQuickPostForm( request.POST, initial={'markup': request.user.forum_profile.markup}) if form.is_valid(): post = form.save(commit=False) topic = Topic(forum=form.cleaned_data["forum"], user=request.user, name=form.cleaned_data['name']) topic.save() post.topic = topic post.user = request.user post.user_ip = request.META.get('REMOTE_ADDR', None) post.save() request.user.get_profile().add_points(5) return HttpResponseRedirect(post.get_absolute_url()) else: form = AddQuickPostForm( initial={'markup': request.user.forum_profile.markup}) else: form = None cmpdef = lambda a, b: cmp(a['cat'].position, b['cat'].position) cats = sorted(cats.values(), cmpdef) to_return = { 'cats': cats, 'posts': Post.objects.count(), 'topics': Topic.objects.count(), 'users': User.objects.count(), 'users_online': users_online, 'online_count': users_count, 'guest_count': guest_count, 'last_user': User.objects.latest('date_joined'), "form": form, "last_topics": Topic.objects.filter(post_count=1), } if full: return to_return else: to_return['TEMPLATE'] = 'forum/lofi/index.html' return to_return
def index(request, full=True): users_cached = cache.get('users_online', {}) users_online = users_cached and User.objects.filter(id__in = users_cached.keys()) or [] guests_cached = cache.get('guests_online', {}) guest_count = len(guests_cached) users_count = len(users_online) cats = {} forums = {} user_groups = request.user.groups.all() if request.user.is_anonymous(): # in django 1.1 EmptyQuerySet raise exception user_groups = [] _forums = Forum.objects.filter( Q(category__groups__in=user_groups) | \ Q(category__groups__isnull=True)).select_related('last_post__topic', 'last_post__user', 'category') for forum in _forums: cat = cats.setdefault(forum.category.id, {'id': forum.category.id, 'cat': forum.category, 'forums': []}) cat['forums'].append(forum) forums[forum.id] = forum if request.user.is_authenticated(): if request.method == "POST": form = AddQuickPostForm( request.POST, initial={'markup': request.user.forum_profile.markup} ) if form.is_valid(): post = form.save(commit=False) topic = Topic(forum=form.cleaned_data["forum"], user=request.user, name=form.cleaned_data['name']) topic.save() post.topic = topic post.user = request.user post.user_ip = request.META.get('REMOTE_ADDR', None) post.save() request.user.get_profile().add_points(5) return HttpResponseRedirect(post.get_absolute_url()) else: form = AddQuickPostForm( initial={'markup': request.user.forum_profile.markup} ) else: form = None cmpdef = lambda a, b: cmp(a['cat'].position, b['cat'].position) cats = sorted(cats.values(), cmpdef) to_return = {'cats': cats, 'posts': Post.objects.count(), 'topics': Topic.objects.count(), 'users': User.objects.count(), 'users_online': users_online, 'online_count': users_count, 'guest_count': guest_count, 'last_user': User.objects.latest('date_joined'), "form": form, "last_topics": Topic.objects.filter(post_count=1), } if full: return to_return else: to_return['TEMPLATE'] = 'forum/lofi/index.html' return to_return