X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;ds=sidebyside;f=filex%2Fviews.py;h=b72432b6a94cb053d169d2acbae5c6f78a907460;hb=551b5fe34b191fd78106178245dcf3ee8563e8d7;hp=b37a6ce359df320d737d516c1378e487732b73f8;hpb=76066c4cd6557fe84369f538d69f64f8955bf03a;p=qcg-portal.git diff --git a/filex/views.py b/filex/views.py index b37a6ce..b72432b 100644 --- a/filex/views.py +++ b/filex/views.py @@ -5,6 +5,7 @@ from django.http import JsonResponse, StreamingHttpResponse from django.template.defaultfilters import filesizeformat from django.utils.formats import date_format from django.views.decorators.http import require_POST +from filex.forms import NewDirForm from filex.ftp import FTPOperation, FTPException from filex.uploadhandler import with_ftp_upload_handler @@ -131,3 +132,31 @@ def delete(request): done.append(name) return JsonResponse({'done': done, 'fail': fail}) + + +@require_POST +def mkdir(request): + check_auth(request) + + # TODO actual data validation + form = NewDirForm(request.POST) + + if form.is_valid(): + host = form.cleaned_data['host'] + path = form.cleaned_data['path'] + name = form.cleaned_data['name'] + + url = 'gsiftp://' + host + path + '/' + name + + print url + + try: + FTPOperation(request.session['proxy']).mkdir(url) + except FTPException as e: + msg = e.message + else: + return JsonResponse({'success': True}) + else: + msg = form.errors + + return JsonResponse({'msg': msg}, status=400)