def get_initial(self): initial = {} for o in self.om_dict: initial[o[ 0]] = True if self.scenario.monitoring.SurveyOptions.__contains__( o[1]) else False val = self.scenario.monitoring.detectionLimit if val == 100 or val == 200 or val == 7: initial['parasite_detection_diagnostic_type'] = str(int(val)) else: initial['parasite_detection_diagnostic_type'] = 'custom' initial['sim_start_date'] = self.model_scenario.start_date monitor_info = get_survey_times(self.scenario.monitoring, self.model_scenario.start_date) initial['measure_outputs'] = monitor_info["type"] initial['monitor_yrs'] = monitor_info["yrs"] initial['monitor_mos'] = monitor_info["mos"] initial['monitor_start_date'] = monitor_info["start_date"] return initial
def get_context_data(self, **kwargs): context = super(ScenarioSummaryView2, self).get_context_data(**kwargs) scenario_id = self.kwargs["scenario_id"] self.model_scenario = ScenarioModel.objects.get(id=scenario_id) if self.request.user != self.model_scenario.user: raise PermissionDenied try: self.scenario = Scenario(self.model_scenario.xml) except ParseError: self.scenario = None vectors = [] for v in self.scenario.entomology.vectors: vectors.append(v) if self.scenario: context["scenario"] = self.model_scenario context["scenario_id"] = self.model_scenario.id context["name"] = self.model_scenario.name context["desc"] = self.model_scenario.description if self.model_scenario.description else "" context["deleted"] = self.model_scenario.deleted context["version"] = self.scenario.schemaVersion if self.model_scenario.simulation: context['sim_id'] = self.model_scenario.simulation.id context["xml"] = self.scenario.xml monitor_info = get_survey_times(self.scenario.monitoring, self.model_scenario.start_date) context["monitor_type"] = monitor_info["type"] context["monitor_yrs"] = monitor_info["yrs"] context["monitor_mos"] = monitor_info["mos"] context["timesteps"] = monitor_info["timesteps"] context["demography"] = self.scenario.demography.name context["pop_size"] = self.scenario.demography.popSize context["first_line_drug"] = self.scenario.healthSystem.ImmediateOutcomes.firstLine context["vectors"] = vectors if hasattr(self.scenario.entomology, 'scaledAnnualEIR'): context["annual_eir"] = self.scenario.entomology.scaledAnnualEIR else: context["annual_eir"] = None interventions = [] for component in self.scenario.interventions.human: interventions.append(component.id) for vectorPop in self.scenario.interventions.vectorPop: interventions.append(vectorPop.name) context["interventions"] = interventions return context
def get_context_data(self, **kwargs): context = super(ScenarioSummaryView, self).get_context_data(**kwargs) try: self.scenario = Scenario(self.model_scenario.xml) except ParseError: set_notification(self.request, "Invalid XML Document", DANGER) self.scenario = None context["scenario"] = self.model_scenario context["xml"] = self.model_scenario.xml context["desc"] = self.model_scenario.description if self.model_scenario.description else "" if self.scenario: vectors = list(self.scenario.entomology.vectors) context["scenario_id"] = self.model_scenario.id context["name"] = self.model_scenario.name context["deleted"] = self.model_scenario.deleted context["version"] = self.scenario.schemaVersion if self.model_scenario.new_simulation: context['sim_id'] = self.model_scenario.new_simulation.id monitor_info = get_survey_times(self.scenario.monitoring, self.model_scenario.start_date) context["monitor_type"] = monitor_info["type"] context["monitor_yrs"] = monitor_info["yrs"] context["monitor_mos"] = monitor_info["mos"] context["timesteps"] = monitor_info["timesteps"] context["demography"] = self.scenario.demography.name context["pop_size"] = self.scenario.demography.popSize context["first_line_drug"] = self.scenario.healthSystem.ImmediateOutcomes.firstLine context["vectors"] = vectors if hasattr(self.scenario.entomology, 'scaledAnnualEIR'): context["annual_eir"] = self.scenario.entomology.scaledAnnualEIR else: context["annual_eir"] = None interventions = [] for component in self.scenario.interventions.human: interventions.append(component.id) for vectorPop in self.scenario.interventions.vectorPop: interventions.append(vectorPop.name) context["interventions"] = interventions return context
def update_monitoring_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] start_date = int(request.POST['start_date']) form_values = {'valid': valid} for o in ScenarioMonitoringView.om_dict: form_values[o[ 0]] = True if temp_scenario.monitoring.SurveyOptions.__contains__( o[1]) else False val = temp_scenario.monitoring.detectionLimit if val == 100 or val == 200 or val == 7: form_values['parasite_detection_diagnostic_type'] = str(int(val)) else: form_values['parasite_detection_diagnostic_type'] = 'custom' form_values['sim_start_date'] = start_date monitor_info = get_survey_times(temp_scenario.monitoring, start_date) form_values['measure_outputs'] = monitor_info["type"] form_values['monitor_yrs'] = monitor_info["yrs"] form_values['monitor_mos'] = monitor_info["mos"] form_values['monitor_start_date'] = monitor_info["start_date"] form_values['surveys'] = json.dumps(temp_scenario.monitoring.surveys) return HttpResponse(json.dumps(form_values), content_type="application/json")
def update_monitoring_form(request, scenario_id): data = update_form(request, scenario_id) temp_scenario = None if "valid" not in data: return data valid = data["valid"] if not valid: return data if "scenario" in data: temp_scenario = data["scenario"] start_date = int(request.POST['start_date']) form_values = {'valid': valid} for o in ScenarioMonitoringView.om_dict: form_values[o[0]] = True if temp_scenario.monitoring.SurveyOptions.__contains__(o[1]) else False val = temp_scenario.monitoring.detectionLimit if val == 100 or val == 200 or val == 7: form_values['parasite_detection_diagnostic_type'] = str(int(val)) else: form_values['parasite_detection_diagnostic_type'] = 'custom' form_values['sim_start_date'] = start_date monitor_info = get_survey_times(temp_scenario.monitoring, start_date) form_values['measure_outputs'] = monitor_info["type"] form_values['monitor_yrs'] = monitor_info["yrs"] form_values['monitor_mos'] = monitor_info["mos"] form_values['monitor_start_date'] = monitor_info["start_date"] form_values['surveys'] = json.dumps(temp_scenario.monitoring.surveys) return HttpResponse(json.dumps(form_values), content_type="application/json")
def get_initial(self): initial = {} for o in self.om_dict: initial[o[0]] = True if self.scenario.monitoring.SurveyOptions.__contains__(o[1]) else False val = self.scenario.monitoring.detectionLimit if val == 100 or val == 200 or val == 7: initial['parasite_detection_diagnostic_type'] = str(int(val)) else: initial['parasite_detection_diagnostic_type'] = 'custom' initial['sim_start_date'] = self.model_scenario.start_date monitor_info = get_survey_times(self.scenario.monitoring, self.model_scenario.start_date) initial['measure_outputs'] = monitor_info["type"] initial['monitor_yrs'] = monitor_info["yrs"] initial['monitor_mos'] = monitor_info["mos"] initial['monitor_start_date'] = monitor_info["start_date"] return initial