def test_submit_valid_box_job(self): from tao import models ## fill in form (correctly) self.select(self.lc_id('catalogue_geometry'), 'Box') self.clear(self.lc_id('box_size')) self.fill_in_fields({ 'box_size': '9', 'snapshot': "%.5g" % float(self.redshifts[0]), }, id_wrap=self.lc_id) self.click(self.lc_2select('op_add_all')) self.click('tao-tabs-record_filter') self.fill_in_fields({ 'min': '1\n', 'max': '10\n', }, id_wrap=self.rf_id) self.submit_mgf_form() self.assert_on_page('job_index') self.assert_page_has_content(settings.INITIAL_JOB_MESSAGE % models.initial_job_status().lower())
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"], }, )