Ejemplo n.º 1
0
class ValidDateValidationForm(forms.Form):
    """Validate DateValidationForm with start_date and end_date attribute."""

    start_date = forms.DateField()
    end_date = forms.DateField()

    def clean(self):
        """Modify the form's cleaned data dictionary."""
        cleaned_data = super(ValidDateValidationForm, self).clean()
        start_date = cleaned_data.get('start_date', None)
        end_date = cleaned_data.get('end_date', None)
        if start_date and not end_date:
            self._errors['end_date'] = ["End date is missing"]

        if end_date and not start_date:
            self._errors['start_date'] = ["Start date is missing"]

        if not start_date and not end_date:
            del self._errors['start_date']
            del self._errors['end_date']

        if start_date and end_date:
            self.cleaned_data['type'] = 'valid'

        return self.cleaned_data
Ejemplo n.º 2
0
class CoverageTemporalForm(forms.Form):
    """Render Coverage Temporal Form."""

    start = forms.DateField(label='Start Date')
    end = forms.DateField(label='End Date')

    def __init__(self, allow_edit=True, res_short_id=None, element_id=None, *args, **kwargs):
        """Render Coverage Temporal Form."""
        file_type = kwargs.pop('file_type', False)
        super(CoverageTemporalForm, self).__init__(*args, **kwargs)
        self.helper = CoverageTemporalFormHelper(allow_edit, res_short_id, element_id,
                                                 element_name='Temporal Coverage',
                                                 file_type=file_type)
        self.number = 0
        self.delete_modal_form = None
        if res_short_id:
            self.action = "/hsapi/_internal/%s/coverage/add-metadata/" % res_short_id
        else:
            self.action = ""

        if not allow_edit:
            for field in self.fields.values():
                field.widget.attrs['readonly'] = True

    def clean(self):
        """Modify the form's cleaned_data dictionary."""
        is_form_errors = False
        super(CoverageTemporalForm, self).clean()
        start_date = self.cleaned_data.get('start', None)
        end_date = self.cleaned_data.get('end', None)
        if not start_date:
            self._errors['start'] = ["Data for start date is missing"]
            is_form_errors = True

        if not end_date:
            self._errors['end'] = ["Data for end date is missing"]
            is_form_errors = True

        if start_date > end_date:
            self._errors['end'] = ["End date should be date after the start date"]
            is_form_errors = True

        if is_form_errors:
            return self.cleaned_data

        if 'name' in self.cleaned_data:
            if len(self.cleaned_data['name']) == 0:
                del self.cleaned_data['name']

        self.cleaned_data['start'] = self.cleaned_data['start'].isoformat()
        self.cleaned_data['end'] = self.cleaned_data['end'].isoformat()
        self.cleaned_data['value'] = copy.deepcopy(self.cleaned_data)
        self.cleaned_data['type'] = 'period'
        if 'name' in self.cleaned_data:
            del self.cleaned_data['name']
        del self.cleaned_data['start']
        del self.cleaned_data['end']

        return self.cleaned_data
Ejemplo n.º 3
0
class ValidDateValidationForm(forms.Form):
    start_date = forms.DateField()
    end_date = forms.DateField()

    def clean(self):
        cleaned_data = super(ValidDateValidationForm, self).clean()
        start_date = cleaned_data.get('start_date', None)
        end_date = cleaned_data.get('end_date', None)
        if start_date and not end_date:
            self._errors['end_date'] = ["End date is missing"]

        if end_date and not start_date:
            self._errors['start_date'] = ["Start date is missing"]

        if not start_date and not end_date:
            del self._errors['start_date']
            del self._errors['end_date']

        if start_date and end_date:
            self.cleaned_data['type'] = 'valid'

        return self.cleaned_data