Exemple #1
0
def create_topic(request, forum, topic=None):
    from forms import TopicForm, PostForm, AddPostForm, EditPostForm
    from django import forms

    forum = get_object_or_404(Forum, active=True, slug=forum)
    if request.method == "GET":
        if topic:
            topic       = get_object_or_404(Topic, id=topic)
            apf         = EditPostForm(topic=topic, instance=topic.get_body)
        else:
            apf         = AddPostForm()

        return render(request, "forum/create_topic.html", {
            "forum"         : forum,
            "apf"           : apf,
        })
    if request.method == "POST":
        ip = request.META.get('HTTP_X_FORWARDED_FOR', None)
        post_form_kwargs = {
            "forum"     : forum, 
            "user"      : request.user, 
            "ip"        : ip, 
        }

        apf         = AddPostForm(request.POST, **post_form_kwargs)
        if apf.is_valid():
            url = reverse('forum:forum', args=[str(forum.slug),])
            apf.save()
            return redirect(url)
        else:
            return HttpResponse("Invalid")
Exemple #2
0
def create_topic(request, forum, topic=None):
    from forms import TopicForm, PostForm, AddPostForm, EditPostForm
    from django import forms

    forum = get_object_or_404(Forum, active=True, slug=forum)
    if request.method == "GET":
        if topic:
            topic = get_object_or_404(Topic, id=topic)
            apf = EditPostForm(topic=topic, instance=topic.get_body)
        else:
            apf = AddPostForm()

        return render(request, "forum/create_topic.html", {
            "forum": forum,
            "apf": apf,
        })
    if request.method == "POST":
        ip = request.META.get('HTTP_X_FORWARDED_FOR', None)
        post_form_kwargs = {
            "forum": forum,
            "user": request.user,
            "ip": ip,
        }

        apf = AddPostForm(request.POST, **post_form_kwargs)
        if apf.is_valid():
            url = reverse('forum:forum', args=[
                str(forum.slug),
            ])
            apf.save()
            return redirect(url)
        else:
            return HttpResponse("Invalid")
Exemple #3
0
def edit_post(request, post_id): 
    # Obtain the instance of the post 
    instance = Post.objects.get(id=post_id)

    # Get the context from the request.
    context = RequestContext(request, {
        'p' : instance,
        })

    # A HTTP POST?
    if request.method == 'POST':
        form = EditPostForm(request.POST, instance=instance)

        # Have we been provided with a valid form?
        if form.is_valid():
            # Save the new category to the database.
            form.save(commit=True)

            # User show the post that they just edited
            return HttpResponseRedirect('/posts/'+str(post_id))
        else:
            # The supplied form contained errors - just print them to the terminal.
            print form.errors
    else:
        # If the request was not a POST, display the form to enter details.
        form = PostForm(instance=instance)

    # Bad form (or form details), no form supplied...
    # Render the form with error messages (if any).
    return render_to_response('posts/edit_post.html', {'form': form}, context)
Exemple #4
0
def edit_post(key):
    post = ndb.Key(urlsafe=key).get()
    form = EditPostForm(obj=post)
    if form.validate_on_submit():
        form.save()
        flash(u'文章修改成功')
        return go_delay_redirect(url_for("admin.post.edit", key=key))
    return render_template('admin/new_or_edit_post.html',
                           form=form,
                           post=post,
                           new=False)
Exemple #5
0
def edit_post(request,tid=0,pid=0):
    tag = get_object_or_404(Tag,pk=1)
    user = get_object_or_404(User,pk=1)
    topic = get_object_or_404(Topic,pk=tid)
    post = get_object_or_404(Post,pk=pid)
    if request.method == "POST":
        f = EditPostForm(request.POST,topic=topic,post=post,user = user)
        if f.is_valid():
            edit_post = f.save()
            ##return HttpResponseRedirect('../')
        return HttpResponseRedirect(reverse(index))
    else:
        f = EditPostForm(post=post,topic=topic)
    args = {}
    args.update(csrf(request))
    args['form'] = f
    return render_to_response('post.html',args)