Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
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")
Ejemplo n.º 5
0
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")
Ejemplo n.º 6
0
    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