コード例 #1
0
def edit_paper(request, paper_id):
    """
    Allow paper submitters to edit their paper. Only the user that submitted
    the paper is allowed to edit it.
    """
    try:
        paper = Paper.objects.get(id=paper_id)
    except Paper.DoesNotExist:
        return HttpResponseRedirect(reverse("django_conference_home"))
    notice = ""
    paper_form = None
    if paper.submitter != request.user:
        email = settings.DJANGO_CONFERENCE_CONTACT_EMAIL
        notice = 'According to our records, you are not the submitter for '+\
            'the paper "%s" and thus may not edit it. If you believe this '+\
            'to be an error, please contact <a href="mailto:%s">%s</a>.'
        notice = notice % (unicode(paper), email, email)
    else:
        paper_form = PaperForm(request.POST or None, instance=paper)
        if request.POST and paper_form.is_valid():
            paper_form.save(request.user)
            notice = "Your paper has been updated"

    return render_to_response('django_conference/edit_paper.html', {
        'paper_form': paper_form,
        'notice': notice,
    }, context_instance=RequestContext(request))
コード例 #2
0
def submit_paper(request):
    """
    Allow users to submit a paper for approval
    """
    meeting = current_meeting_or_none()
    if not meeting or not meeting.can_submit_paper():
        return HttpResponseRedirect(reverse("django_conference_home"))

    paper_form = PaperForm(request.POST or None)
    paper_presenter_form = PaperPresenterForm(request.POST or None)

    if request.POST and paper_form.is_valid() and \
        paper_presenter_form.is_valid():
        presenter = paper_presenter_form.save()
        paper = paper_form.save(request.user, presenter)
        paper.send_submission_email()
        kwargs = {'id': paper.id}
        url = reverse('django_conference_submission_success', kwargs=kwargs)
        return HttpResponseRedirect(url)

    return render_to_response('django_conference/submit_paper.html', {
        'forms': [paper_presenter_form, paper_form],
        'meeting': meeting,
    }, context_instance=RequestContext(request))