Exemplo n.º 1
0
class BaseImpactModelForm(forms.ModelForm):
    region = MyModelMultipleChoiceField(allowcustom=True,
                                        queryset=Region.objects,
                                        required=True)

    class Meta:
        model = BaseImpactModel
        exclude = ('owners', 'public', 'sector', 'name', 'drkz_folder_name')
        widgets = {
            'short_description': MyTextInput(textarea=True),
        }
Exemplo n.º 2
0
class BiodiversityForm(BaseSectorForm):
    template = 'edit_biodiversity.html'
    model_output = MyModelMultipleChoiceField(
        allowcustom=True,
        queryset=BiodiversityModelOutput.objects,
        required=False)

    class Meta:
        model = Biodiversity
        exclude = ('impact_model', )
        widgets = {
            'model_algorithm': MyMultiSelect(allowcustom=False),
            'explanatory_variables': MyTextInput(textarea=True),
            'response_variable': MyMultiSelect(allowcustom=False),
            'additional_information_response_variable':
            MyTextInput(textarea=True),
            'distribution_response_variable': MyMultiSelect(allowcustom=False),
            'parameters': MyTextInput(textarea=True),
            'additional_info_parameters': MyTextInput(textarea=True),
            'software_function': MyMultiSelect(allowcustom=False),
            'software_package': MyMultiSelect(allowcustom=False),
            'software_program': MyTextInput(textarea=True),
            'additional_info_model_output': MyTextInput(textarea=True),
        }
Exemplo n.º 3
0
class InputDataInformationModelForm(forms.ModelForm):
    simulated_atmospheric_climate_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    observed_atmospheric_climate_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    simulated_ocean_climate_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    observed_ocean_climate_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    emissions_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    socio_economic_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    land_use_data_sets = MyModelMultipleChoiceField(allowcustom=False,
                                                    queryset=InputData.objects)
    other_human_influences_data_sets = MyModelMultipleChoiceField(
        allowcustom=False, queryset=InputData.objects)
    other_data_sets = MyModelMultipleChoiceField(allowcustom=False,
                                                 queryset=InputData.objects)
    climate_variables = MyModelMultipleChoiceField(
        allowcustom=False, queryset=ClimateVariable.objects)

    class Meta:
        model = InputDataInformation
        exclude = ('impact_model', )
        widgets = {
            'climate_variables_info': MyTextInput(textarea=True),
            'additional_input_data_sets': MyTextInput(textarea=True),
        }

    def __init__(self, *args, **kwargs):
        instance = kwargs.get('instance', None)
        simulation_round = instance.impact_model.simulation_round
        super(InputDataInformationModelForm, self).__init__(*args, **kwargs)
        self.fields[
            'climate_variables'].queryset = ClimateVariable.objects.filter(
                inputdata__data_type__is_climate_data_type=True,
                inputdata__simulation_round=simulation_round).distinct()
        self.fields['emissions_data_sets'].queryset = InputData.objects.filter(
            data_type__name='Emissions',
            simulation_round=simulation_round).distinct()
        self.fields['land_use_data_sets'].queryset = InputData.objects.filter(
            data_type__name='Land use',
            simulation_round=simulation_round).distinct()
        self.fields[
            'observed_atmospheric_climate_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Observed atmospheric climate',
                simulation_round=simulation_round).distinct()
        self.fields[
            'observed_ocean_climate_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Observed ocean climate',
                simulation_round=simulation_round).distinct()
        self.fields['other_data_sets'].queryset = InputData.objects.filter(
            data_type__name='Other',
            simulation_round=simulation_round).distinct()
        self.fields[
            'other_human_influences_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Other human influences',
                simulation_round=simulation_round).distinct()
        self.fields[
            'simulated_atmospheric_climate_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Simulated atmospheric climate',
                simulation_round=simulation_round).distinct()
        self.fields[
            'simulated_ocean_climate_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Simulated ocean climate',
                simulation_round=simulation_round).distinct()
        self.fields[
            'socio_economic_data_sets'].queryset = InputData.objects.filter(
                data_type__name='Socio-economic',
                simulation_round=simulation_round).distinct()