Esempio n. 1
0
def add_post(request, forum_id, topic_id):
    topic = get_object_or_404(Topic, pk=topic_id)
    if not topic.forum.category.has_access(request.user):
        return HttpResponseForbidden()
    if topic.closed:
        return HttpResponseRedirect(topic.get_absolute_url())

    posts = topic.posts.all().select_related()[:5]

    if request.method == 'GET':
        form = AddPostForm()
        if 'post_id' in request.GET:
            post_id = request.GET['post_id']
            post = get_object_or_404(Post, pk=post_id)
            form.fields['body'].initial = '[quote]%s:\n%s[/quote]\n%s' %\
                (unicode(post.user), post.body, _('write here'))
    else:
        form = AddPostForm(request.POST)
        if form.is_valid():
            _inject_form(form,
                         ip=request.META.get('REMOTE_ADDR', None),
                         user=request.user,
                         topic=topic)
            post = form.save()
            return HttpResponseRedirect(post.get_absolute_url())

    return 'feincmsforum/add_post.html', {
        'form': form,
        'posts': posts,
        'topic': topic
    }
Esempio n. 2
0
def wall(request, wall_owner=None):
    """Страница стены юзера. Пользователь может постить себе на стену и другим пользователям"""
    # определяем владельца стены
    if wall_owner == "":
        wall_owner = request.user.username

    form = AddPostForm()
    if request.method == "POST":
        form = AddPostForm(request.POST, request.FILES)
        if form.is_valid():
            post = form.save(commit=False)
            post.commentator_name = request.user.username
            post.wall_owner = wall_owner
            post.save()

    # извлекаем посты хозяина стены
    posts = Post.objects.filter(wall_owner=wall_owner)
    prepared_posts = []
    for post in posts:
        prepared_posts.append({"photo": post.photo, "comment": post.message})

    # извлекаем имена всех зарегистрированных пользователей
    users = list(User.objects.values_list('username', flat=True))
    users.remove("admin")
    context = {"wall_owner": wall_owner, "all_users": users, "form": form, "posts": prepared_posts}

    return render(request, template_name='blog/wall.html', context=context)
Esempio n. 3
0
def add_post(request, forum_id, topic_id):
    topic = get_object_or_404(Topic, pk=topic_id)
    if not topic.forum.category.has_access(request.user):
        return HttpResponseForbidden()
    if topic.closed:
        return HttpResponseRedirect(topic.get_absolute_url())
    
    posts = topic.posts.all().select_related()[:5]
    
    if request.method == 'GET':
        form = AddPostForm()
        if 'post_id' in request.GET:
            post_id = request.GET['post_id']
            post = get_object_or_404(Post, pk=post_id)
            form.fields['body'].initial = '[quote]%s:\n%s[/quote]\n%s' %\
                (unicode(post.user), post.body, _('write here'))
    else:
        form = AddPostForm(request.POST)
        if form.is_valid():
            _inject_form(form, ip=request.META.get('REMOTE_ADDR', None),
                         user=request.user, topic=topic)
            post = form.save();
            return HttpResponseRedirect(post.get_absolute_url())

    return {
        'form': form,
        'posts': posts,
        'topic': topic
    }
Esempio n. 4
0
def add_post(request):
    form = AddPostForm(request.POST or None)
    if form.is_valid():
        form.save()
        return HttpResponseRedirect('/blog')

    return render_to_response('add_post.html', {'form': form}, context_instance=RequestContext(request))