def view_job(request, id): job = Job.objects.get(id=id) # xml_string = job.parameters ui_holder = UIModulesHolder(UIModulesHolder.XML, xml_parse(job.parameters.encode('utf-8'))) forms = ui_holder.forms() return render(request, 'jobs/view.html', { 'id': id, 'user': request.user, 'job': job, 'ui_holder': ui_holder, 'forms': forms, 'forms_size': len(forms)+1, })
def index(request): user = request.user if not user.check_disk_usage_within_quota(): message = ( "Please reduce your disk usage below " + user.display_user_disk_quota() + ". " 'If you would like additional quota, please <a href="' + reverse("support_page") + '">submit</a> ' "a request with the reason for the request." ) messages.info(request, mark_safe(message)) # return jobs.index(request) return redirect(reverse("job_index")) if request.method == "POST": if len(request.FILES) > 0: parameter_file = request.FILES.itervalues().next() ui_holder = UIModulesHolder(UIModulesHolder.POST) try: if parameter_file.content_type != "text/xml": raise Exception("Wrong mime-type") params_ui_holder = UIModulesHolder(UIModulesHolder.XML, xml_parse(parameter_file.read())) message = "Parameter file '%s' uploaded successfully." % parameter_file.name messages.info(request, message) return render( request, "mock_galaxy_factory/index.html", { "forms": ui_holder.forms(), "ui_holder": params_ui_holder, "TAB_SUMMARY_ID": settings.MODULE_INDICES["summary"], }, ) except: message = "Failed to process parameter file: '%s'." % parameter_file.name messages.error(request, message) return render( request, "mock_galaxy_factory/index.html", { "forms": ui_holder.forms(), # 'ui_holder': params_ui_holder, "TAB_SUMMARY_ID": settings.MODULE_INDICES["summary"], }, ) elif "survey_presets" in request.POST: preset = SurveyPreset.objects.get(pk=request.POST.get("survey_presets")) params_ui_holder = UIModulesHolder(UIModulesHolder.XML, xml_parse(preset.parameters.encode())) ui_holder = UIModulesHolder(UIModulesHolder.POST) message = "Survey Preset '%s' loaded successfully." % preset.name messages.info(request, message) return render( request, "mock_galaxy_factory/index.html", { "forms": ui_holder.forms(), "ui_holder": params_ui_holder, "TAB_SUMMARY_ID": settings.MODULE_INDICES["summary"], }, ) else: ui_holder = UIModulesHolder(UIModulesHolder.POST, request.POST) response_dict = {} response_dict["job_submitted"] = False if ui_holder.validate(): UserModel = get_user_model() user = UserModel.objects.get(username=request.user.username) job_description = request.POST.get("job-description") response_dict["job_id"] = workflow.save(user, ui_holder, job_description).pk messages.info(request, _(settings.INITIAL_JOB_MESSAGE % models.initial_job_status().lower())) response_dict["job_submitted"] = True response_dict["next_page"] = reverse("job_index") else: response_dict["errors"] = ui_holder.errors # Simple answer the errors dictionary # If the dictionary is empty, the client knows the job was created successfully response = json.dumps(response_dict) callback = request.GET.get("callback", None) if callback is not None: response = "%s(%s)" % (callback, response) return HttpResponse(response, mimetype="application/json") # Assume GET ui_holder = UIModulesHolder(UIModulesHolder.POST) return render( request, "mock_galaxy_factory/index.html", { "forms": ui_holder.forms(), # 'forms_size' : len(ui_holder.forms())+1, "TAB_SUMMARY_ID": settings.MODULE_INDICES["summary"], }, )