X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;ds=sidebyside;f=qcg%2Fviews.py;h=a1986adf387e11fdc3545662ac6468baad70f9ac;hb=eb9d69959469d2041b34dbd1a827b8882cc0505c;hp=adc4676854a6b80b474802b0dac090862a453b66;hpb=d0df2c3b90c52193545c6fa6a1a128cb1c61ff5e;p=qcg-portal.git diff --git a/qcg/views.py b/qcg/views.py index adc4676..a1986ad 100644 --- a/qcg/views.py +++ b/qcg/views.py @@ -17,6 +17,8 @@ from django_openid_auth.views import make_consumer from openid.extensions import ax from filex.forms import HostPathNameForm, RenameForm, ArchiveForm, HostPathForm +from filex.ftp import FTPOperation, FTPError +from filex.views import make_url from qcg.forms import FiltersForm, ColumnsForm, JobDescriptionForm, EnvFormSet from qcg.utils import paginator_context from qcg.service import update_user_data, submit_job @@ -185,7 +187,7 @@ def job_new(request): @login_required def gridftp(request): return render(request, 'qcg/gridftp.html', - {'new_dir_form': HostPathNameForm(), 'rename_form': RenameForm(), 'archive_form': ArchiveForm()}) + {'new_dir_form': HostPathNameForm(), 'rename_form': RenameForm(), 'archive_form': ArchiveForm()}) @login_required @@ -195,7 +197,13 @@ def gridftp_upload(request): if not form.is_valid(): raise SuspiciousOperation('Invalid parameters for `gridftp_upload`!') + error = None + try: + FTPOperation(request.session['proxy']).info(make_url(form.cleaned_data, 'path')) + except FTPError as e: + error = e.message + return render(request, 'qcg/gridftp_upload.html', - {'url': reverse('filex:upload') + '?' + urlencode(form.cleaned_data), + {'error': error, 'url': reverse('filex:upload') + '?' + urlencode(form.cleaned_data), 'host': form.cleaned_data['host'], 'path': form.cleaned_data['path'], 'sep': '/' if form.cleaned_data['path'].startswith('~') else ''})