fetch resources info and set choices in job submission form
[qcg-portal.git] / qcg / views.py
index c52d59c..b5c5315 100644 (file)
@@ -23,7 +23,7 @@ from filex.ftp import FTPOperation, FTPError
 from filex.views import make_url
 from qcg.forms import FiltersForm, ColumnsForm, JobDescriptionForm, EnvFormSet, JobTemplateForm
 from qcg.models import JobTemplate
-from qcg.utils import paginator_context, to_job_desc, to_form_data, restricted
+from qcg.utils import paginator_context, to_job_desc, to_form_data, restricted, cached_resources
 from qcg.service import update_user_data, update_job, cancel, clean, submit
 
 
@@ -208,9 +208,10 @@ def job_submit(request, template_id=None):
         env_formset_data = [{'name': name, 'value': value} for name, value in form_data.pop('env_variables', ())]
     else:
         form_data, env_formset_data = None, None
+    hosts, applications, modules = cached_resources(request.session['proxy'])
 
     if request.method == 'POST':
-        form = JobDescriptionForm(request.POST, initial=form_data)
+        form = JobDescriptionForm(request.POST, form_data, hosts, applications, modules)
         env_formset = EnvFormSet(request.POST, initial=env_formset_data)
         template_form = JobTemplateForm(request.POST, prefix='template', instance=template)
 
@@ -255,7 +256,7 @@ def job_submit(request, template_id=None):
             
             return redirect('jobs')
     else:
-        form = JobDescriptionForm(initial=form_data)
+        form = JobDescriptionForm(initial=form_data, hosts=hosts, applications=applications, modules=modules)
         env_formset = EnvFormSet(initial=env_formset_data)
         template_form = JobTemplateForm(prefix='template', instance=template)