def add_publication(request): c = {} c.update(csrf(request)) if request.method == 'POST': publication_dict = { 'title' : request.POST['title'], 'abstract' : request.POST['abstract'], 'publisher' : request.POST['publisher'], 'publish_date' : request.POST['publish_date'], 'url' : request.POST['url'], 'author' : request.POST['author'], 'others_authors' : request.POST['others_authors'], 'pub_datetime': dt.datetime.now(), 'posted_by': request.POST['posted_by']} publication = PublicationForm(publication_dict,auto_id=True) if publication.is_valid(): publication.save() return redirect('/publication/add/complete/') else: publication.error = "Publication did not validate." return render_to_response('poly_assoc_website/publication_add.html', {'form' : publication }, RequestContext(request)) if request.method == 'GET': publication = PublicationForm(auto_id=True) try: return render_to_response('poly_assoc_website/publication_add.html', {'form' : publication }, RequestContext(request)) except TemplateDoesNotExist: raise Http404()
def publication_edit(request, pub_id): c = {} c.update(csrf(request)) if request.method == 'GET': publication = Publication.objects.get(id=pub_id) form = PublicationForm(instance=publication) try: return render_to_response('poly_assoc_website/publication_edit.html', {'form' : form}, RequestContext(request)) except TemplateDoesNotExist: raise Http404() if request.method == 'POST': publication = Publication.objects.get(id=pub_id) form = PublicationForm(request.POST,instance=publication) if form.is_valid(): form.save() return redirect('/my-items/%d/' % publication.posted_by.id) else: form.error = "Publication did not validate. Maybe some field are missing" return render_to_response('poly_assoc_website/publication_edit.html', {'form' : form }, RequestContext(request))