def datetime_not_after(self, datetime_field1: str, datetime_field2: str, msg=None) -> None: datetime_field1 = self.cleaned_data.get(datetime_field1) datetime_field2 = self.cleaned_data.get(datetime_field2) msg = msg or f"Invalid. Cannot be before date of {datetime_field2} " if datetime_field1: datetime_field1 = to_utc(datetime_field1) datetime_field2 = to_utc(datetime_field2) if datetime_field1 > datetime_field2: raise forms.ValidationError({datetime_field1: f"{msg}"})
def datetime_equal(self, datetime_field1: str, datetime_field2: str, msg=None) -> None: datetime_field1 = self.cleaned_data.get(datetime_field1) datetime_field2 = self.cleaned_data.get(datetime_field2) msg = msg or f"Invalid. Cannot be before date of {datetime_field2} " if datetime_field1: datetime_field1 = to_utc(datetime_field1) datetime_field2 = to_utc(datetime_field2) if datetime_field1 == datetime_field2: raise forms.ValidationError( {datetime_field1: f"{msg}. Got {formatted_datetime(datetime_field2)}."} )
def datetime_not_before( self, datetime_field1: str, datetime_field2: str, msg=None ) -> None: datetime1 = self.cleaned_data.get(datetime_field1) datetime2 = self.cleaned_data.get(datetime_field2) if datetime1: datetime1 = to_utc(datetime1) if datetime2: datetime2 = to_utc(datetime2) msg = msg or f"Invalid. Cannot be before {datetime_field2} " if datetime1 and datetime2: if datetime1 < datetime2: raise forms.ValidationError( {datetime_field1: f"{msg}. Got {formatted_datetime(datetime2)}."} )
def consent_datetime(self): if not self._consent_datetime: if "consent_datetime" in self.cleaned_data: if self.add_form and not self.cleaned_data.get("consent_datetime"): raise forms.ValidationError( {"consent_datetime": "This field is required."} ) self._consent_datetime = to_utc(self.cleaned_data.get("consent_datetime")) else: self._consent_datetime = self.instance.consent_datetime return self._consent_datetime