Ejemplo n.º 1
0
def revision_submit(request, paper_id):
    paper = get_object_or_404(Paper, pk=paper_id, author=request.user)
    if request.method == "POST":
        revision = Revision(paper=paper)
        form = RevisionForm(request.POST, request.FILES, instance=revision)

        if form.is_valid():
            form.save()
            paper.update_status(PENDING)
            # log
            return redirect(submission_index)
    else:
        form = RevisionForm()

    c = {
        "form": form,
    }
    return render(request, "peer/submit_revision.html", c)
Ejemplo n.º 2
0
def edit_page(request, page_id):
    """
    Creates/saves/publishes a page's revision.

    If page is checked out and current user isn't the "checker outer",
    don't allow edit.  Otherwise open the WikiPage.unpublished_revision().

    Templates: ``edit_page.html``
    Context:
        page
            WikiPage object
        form
            RevisionForm ojbect
    """
    page = get_object_or_404(WikiPage, pk=page_id)
    if page.is_checked_out:
        if page.who_checked_out() != request.user:
            request.user.message_set.create(
                message='This wiki page is already checked out.')
            return redirect(page)
        unpublished_revision = page.unpublished_revision()
    else:
        unpublished_revision = page.check_out(user=request.user)

    if request.method == 'POST':
        form = RevisionForm(request.POST, instance=unpublished_revision)
        if form.is_valid():
            Tag.objects.update_tags(page, form.cleaned_data['tags'])
            unpublished_revision = form.save(commit=False)
            if unpublished_revision.is_published:
                unpublished_revision.publish()
                request.user.message_set.create(message="Revision published.")
                return redirect(page)
            else:
                unpublished_revision.save()
    else:
        form = RevisionForm(initial={'tags': page.tags},
            instance=unpublished_revision)

    return render_to_response('vz_wiki/edit_page.html',
        {'form': form, 'wikipage': page,
        'unpublished_revision': unpublished_revision},
        context_instance=RequestContext(request))
Ejemplo n.º 3
0
def paper_submit(request):
    if request.method == "POST":
        paper = Paper(author=request.user)
        paper_form = PaperForm(request.POST, instance=paper)
        rev = Revision(paper=paper)
        rev_form = RevisionForm(request.POST, request.FILES, instance=rev)
        
        # prevent short circuit
        paper_valid = paper_form.is_valid()
        rev_valid = rev_form.is_valid()
        

        if paper_valid and rev_valid:
            new_paper = paper_form.save()
            rev = Revision(paper=new_paper)
            rev_form = RevisionForm(request.POST, request.FILES, instance=rev)
            rev_form.save()
            # log
            return redirect(submission_index)
    else:
        paper_form = PaperForm()
        rev_form = RevisionForm()

    c = {
        "paper_form": paper_form,
        "rev_form": rev_form,
    }
    return render(request, "peer/submit_paper.html", c)
Ejemplo n.º 4
0
def NuevaRevision(request, idp):
    if request.method == 'POST':
        revisionForm = RevisionForm(request.POST)

        if revisionForm.is_valid():
            publicacion= Publicacion.objects.get(id=idp)
            revision=revisionForm.save(commit=False)
            revision.publicacion=publicacion
            revision.save()
            messages.success(request, 'Revisión creada exitosamente!')
            return redirect('repositorio:actualizapublicacion', id=idp)
    else:
        revisionForm = RevisionForm()
    return render(request, 'nuevarevision.html', {
        'revisionForm': revisionForm,
    })