示例#1
0
文件: views.py 项目: roxit/lilium
def compose(request, board):
    is_reply = False
    post = None
    pid = None
    num = None
    if request.method == 'POST':
        # it's unlikely the session is expired
        lily = get_active_connection(request.user.username)
        form = ComposeForm(data=request.POST)
        if form.is_valid():
            title = form.cleaned_data['title']
            body = form.cleaned_data['body']
            pid = form.cleaned_data.get('pid', None)
            gid = form.cleaned_data.get('gid', None)
            ret = lily.compose(board, title, body, pid, gid)
            if ret:
                if pid is not None:
                    return HttpResponseRedirect('/topic/{0}/{1}'.format(
                        board, pid))
                else:
                    return HttpResponseRedirect('/board/{0}'.format(board))
            else:
                # XXX
                form._errors['__all__'] = u'发送失败'
    else:
        params = request.GET
        pid = params.get('pid', None)
        num = params.get('num', None)
        form = ComposeForm()
    if pid is not None:
        is_reply = True
        lily = Lily()
        post = lily.fetch_post(board, pid, num)
        form.fields['title'].widget = forms.HiddenInput()
        form.fields['title'].widget.attrs['value'] = 'Re: {0}'.format(
            post.title.encode('utf-8'))
        form.fields['pid'].widget.attrs['value'] = post.pid
        form.fields['gid'].widget.attrs['value'] = post.gid

    return render_to_response('compose.html',
                              dict(form=form,
                                   board=board,
                                   is_reply=is_reply,
                                   post=post),
                              context_instance=RequestContext(request))
示例#2
0
文件: views.py 项目: roxit/lilium
def compose(request, board):
    is_reply = False
    post = None
    pid = None
    num = None
    if request.method == 'POST':
        # it's unlikely the session is expired
        lily = get_active_connection(request.user.username)
        form = ComposeForm(data=request.POST)
        if form.is_valid():
            title = form.cleaned_data['title']
            body = form.cleaned_data['body']
            pid = form.cleaned_data.get('pid', None)
            gid = form.cleaned_data.get('gid', None)
            ret = lily.compose(board, title, body, pid, gid)
            if ret:
                if pid is not None:
                    return HttpResponseRedirect('/topic/{0}/{1}'.format(board, pid))
                else:
                    return HttpResponseRedirect('/board/{0}'.format(board))
            else:
                # XXX
                form._errors['__all__'] = u'发送失败'
    else:
        params = request.GET
        pid = params.get('pid', None)
        num = params.get('num', None)
        form = ComposeForm()
    if pid is not None:
        is_reply = True
        lily = Lily()
        post = lily.fetch_post(board, pid, num)
        form.fields['title'].widget = forms.HiddenInput()
        form.fields['title'].widget.attrs['value'] = 'Re: {0}'.format(post.title.encode('utf-8'))
        form.fields['pid'].widget.attrs['value'] = post.pid
        form.fields['gid'].widget.attrs['value'] = post.gid

    return render_to_response('compose.html',
            dict(form=form, board=board, is_reply=is_reply, post=post),
            context_instance=RequestContext(request))