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