From 8f89b022c78a6d2d5e1f87cd6d0127fefde7a27f Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Thu, 22 Apr 2021 02:45:28 +0100 Subject: drawing file upload form working --- core/views/other.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) (limited to 'core/views/other.py') diff --git a/core/views/other.py b/core/views/other.py index 4f27d98..639ea5f 100644 --- a/core/views/other.py +++ b/core/views/other.py @@ -1,4 +1,4 @@ -import re +import re, os from django import forms from django.conf import settings @@ -7,12 +7,13 @@ from django.db.models import Q from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render from django.template import Context, loader +from django.core.files.storage import FileSystemStorage, default_storage import troggle.parsers.imports from troggle.core.models.troggle import Expedition, Person, PersonExpedition from troggle.core.models.caves import LogbookEntry, QM, Cave, PersonTrip from .login import login_required_if_public -from troggle.core.forms import UploadFileForm +from troggle.core.forms import UploadFileForm, SimpleUploadFileForm '''Utility functions and code to serve the control panel and individual user's progress and task list (deprecated as we do not have individual user login). @@ -213,4 +214,26 @@ def newfile(request, pslug = None): return render(request, 'editfile.html', {'fileForm': fileform, }) +@login_required_if_public +def simpleupload(request): + print(f'! - FORM simpleupload - start') + if request.method == 'POST': + form = SimpleUploadFileForm(request.POST,request.FILES) + if form.is_valid(): + #form.save() # comment out so nothing saved in MEDIA_ROOT/fileuploads + f = request.FILES["simplefile"] + w = request.POST["title"] + print(f'! - FORM simpleupload uploaded {f.name}') + fs = FileSystemStorage(os.path.join(settings.SURVEY_SCANS, '2021', w)) + + actual_saved = fs.save(f.name, content=f) # name may chnage to avoid clash + # INSERT check if name is chnaged, to allow user to abort and rename - or lets do a chaecjk anyway. + + print(f'! - FORM simpleupload {actual_saved}') + + form = SimpleUploadFileForm() + return render(request, 'simpleupload.html', {'form': form,'filesaved': True, 'actual_saved': actual_saved}) + else: + form = SimpleUploadFileForm() + return render(request, 'simpleupload.html', {'form':form,}) -- cgit v1.2.3