def uploadpublication(request, form_class=PublicationUploadForm, template_name="publications/upload.html"): """ upload form for publications """ publication = Publication() publication.author = request.user publication_form = form_class() if request.method == "POST": if request.POST.get("action") == "upload": publication_form = form_class(request.user, request.POST, request.FILES, instance=publication) if publication_form.is_valid(): if not is_valid_format(request.FILES["file_name"].name, request.FILES["file_name"].content_type): request.user.message_set.create( message=u"Tipo de arquivo inválido (Somente arquivos PDF/CBR/CBZ ou Imagem: JPG/GIF/PNG) ou nome do arquivo muito longo" ) else: publication = publication_form.save(commit=False) publication.date_added = datetime.datetime.now() publication.status = 0 publication.nr_pages = 0 publication.save() request.user.message_set.create(message=_(u"Publicação feita com sucesso '%s'") % publication.title) return HttpResponseRedirect(reverse("publications", args=(publication.author,))) calc_age(request.user.get_profile()) return render_to_response( template_name, {"form": publication_form, "is_me": True, "other_user": request.user}, context_instance=RequestContext(request), )