def upload2(request): # Handle file upload logger = logging.getLogger(__name__) if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) if form.is_valid(): newdoc = Document(docfile = request.FILES['docfile'], docfile1 = request.FILES['docfile1'], docfile2 = request.FILES['docfile2']) newdoc.usersname = request.user.username newdoc.price=request.POST.get('price','') newdoc.category= request.POST.get('category','') newdoc.isover18s =request.POST.get('isover18s','') newdoc.name =request.POST.get('name','') newdoc.description =request.POST.get('description','') form.clean_content() newdoc.save() return HttpResponseRedirect(reverse('main.views.upload')) else: form = DocumentForm() # A empty, unbound form # Load documents for the list page documents = Document.objects.all() # Render list page with the documents and the form return render_to_response( 'upload2.html', {'documents': documents, 'form': form}, context_instance=RequestContext(request) )
def edit_preview(request, document_id): ##This is where a user can go in and edit all the details ##of and existing video that they have uploaded ##This is all a bit verbose but at least its clear whats going on if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) form.fields['docfile'].required = False form.fields['docfile1'].required = False form.fields['docfile2'].required = False form.fields['category'].required = False form.fields['document_type'].required = False form.fields['price'].required = False form.fields['description'].required = False form.fields['name'].required = False if form.is_valid(): #Get the particular video uploaded record from the database newdoc = Document.objects.get(id=document_id) newdoc.usersname = request.user.username #Certain fields may or may not have changed #If they are present then they will be updated #otherwise they wont if request.FILES.get('docfile'): myfile=request.FILES.get('docfile') else: myfile=None if request.FILES.get('docfile1'): myfile1=request.FILES.get('docfile1') else: myfile1=None if request.FILES.get('docfile2'): myfile2=request.FILES.get('docfile2') else: myfile2=None if myfile: newdoc.docfile = myfile if myfile1: newdoc.docfile1 = myfile1 if myfile2: newdoc.docfile2 = myfile2 newdoc.price=request.POST.get('price','') newdoc.category= request.POST.get('category','') if request.POST.get('document_type',''): newdoc.document_type=1 newdoc.isover18s =request.POST.get('isover18s','') newdoc.name =request.POST.get('name','') newdoc.description =request.POST.get('description','') #Clean the fields and save the record form.clean_content() if myfile: newdoc.save(update_fields=['docfile']) if myfile1: newdoc.save(update_fields=['docfile1']) if myfile2: newdoc.save(update_fields=['docfile2']) if request.POST.get('price'): newdoc.save(update_fields=['price']) if request.POST.get('category'): newdoc.save(update_fields=['category']) if request.POST.get('document_type'): newdoc.save(update_fields=['document_type']) if request.POST.get('isover18s'): newdoc.save(update_fields=['isover18s']) if request.POST.get('name'): newdoc.save(update_fields=['name']) if request.POST.get('description'): newdoc.save(update_fields=['description']) p =request.POST.get('docfile') messages.error(request, 'docfile is: %s ' %p) messages.error(request, 'Form Errors: %s' %form.errors) document = Document.objects.get(id=document_id) form = DocumentForm() #Return the updated record to be rendered on the front end return render_to_response( 'edit_preview.html', {'document': document, 'form': form}, context_instance=RequestContext(request) )