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))
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))