示例#1
0
    def get_secondary_form(self, preview_form, request, content):
        action = preview_form.cleaned_data['preview_action']

        form = None
        form_action = None

        if action == 'new-reply':
            Form = utils.conditionally_captchatize(request, forms.NewPostForm)
            thread = preview_form.cleaned_data['thread']
            form_action = reverse('new-reply', kwargs={'thread_id': thread.pk})
            form = Form(request.POST, author=request.user)

        elif action == 'edit-post':
            post = preview_form.cleaned_data['post'] 
            form_action = reverse('edit-post', kwargs={'post_id': post.pk})
            form = forms.EditPostForm(request.POST)

        elif action == 'new-thread':
            forum = preview_form.cleaned_data['forum'] 
            form_action = reverse('new-thread', kwargs={'forum_id': forum.pk})
            Form = utils.conditionally_captchatize(request, forms.NewThreadForm)
            form = Form(request.POST, author=request.user)

        elif action == 'compose-pm':
            form_action = reverse('compose-pm')
            form = forms.NewPrivateMessageForm(request.POST, author=request.user)

        return (form_action, form)
示例#2
0
    def GET(self, request):
        initials = {}
        if 'replyto' in request.GET:
            rt = get_object_or_404(PrivateMessage, pk=request.GET['replyto'])

            if rt.inbox != request.user:
                raise PermissionDenied('You can\'t quote that!')

            if rt.subject.startswith(('re:', 'RE:')):
                initials['subject'] = rt.subject
            else:
                initials['subject'] = 're: ' + rt.subject

            initials['to'] = rt.sender.username
            initials['content'] = rt.quote_content()

        elif 'to' in request.GET:
            recipient = get_object_or_404(Poster, pk=request.GET['to'])
            initials['to'] = recipient.username

        form = forms.NewPrivateMessageForm(author=request.user, initial=initials)
        
        ctx = { 'form': form }
        ctx.update(self.ctx_defaults)

        return render(request, 'private_messages/compose.html', ctx)
示例#3
0
    def POST(self, request):
        form = forms.NewPrivateMessageForm(request.POST, author=request.user)

        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('inbox'))

        else:
            ctx = { 'form': form }
            ctx.update(self.ctx_defaults)

            return render(request, 'private_messages/compose.html', ctx)