def clean_relative_date(self): """ Returns a tuple start_date, end_date, representing the date range from (today + N seconds) to today. """ if self.cleaned_data['relative_date']: today = to_datetime(datetime.datetime.now()) delta = self.cleaned_data['relative_date'] from_date = today + delta return to_datetime(from_date), today
def test_clean_on_date(self): now = datetime.datetime.now().date() p, c, form = self.get_form(datetype="on", on_date=now) self.assertTrue(form.is_valid()) start_date, end_date = form.get_date_range() self.assertEquals(form.cleaned_data["datetype"], "on") self.assertEquals(start_date, to_datetime(now)) self.assertEquals(end_date - start_date, DAY_DELTA) self.assertTrue(end_date != start_date) p, c, form = self.get_form(datetype="on") self.assertFalse(form.is_valid())
def test_clean_on_date(self): now = datetime.datetime.now().date() p, c, form = self.get_form(datetype="on", on_date=now) self.assertTrue(form.is_valid()) start_date = form.cleaned_data["start_date"] end_date = form.cleaned_data["end_date"] self.assertEquals(form.cleaned_data["datetype"], "between") self.assertEquals(form.cleaned_data["start_date"], to_datetime(now)) self.assertEquals(end_date - start_date, DAY_DELTA) self.assertTrue(end_date != start_date) p, c, form = self.get_form(datetype="on") self.assertFalse(form.is_valid())
def clean_on_date(self): on_date = self.cleaned_data["on_date"] if on_date: on_date = to_datetime(on_date) if "datetype" not in self.cleaned_data: # Don't bother checking, datetype raised ValidationError return on_date datetype = self.cleaned_data["datetype"] if datetype == "on" and not on_date: raise ValidationError("'On date' should be defined when dateype is 'on'", code="missing") if datetype == "on": self.cleaned_data["datetype"] = "between" self.cleaned_data["start_date"] = on_date self.cleaned_data["end_date"] = on_date + DAY_DELTA return None
def clean_on_date(self): on_date = self.cleaned_data["on_date"] if on_date: on_date = to_datetime(on_date) if "datetype" not in self.cleaned_data: # Don't bother checking, datetype raised ValidationError return on_date datetype = self.cleaned_data["datetype"] if datetype == "on" and not on_date: raise ValidationError( "'On date' should be defined when dateype is 'on'", code="missing") if datetype == "on": self.cleaned_data["datetype"] = "between" self.cleaned_data["start_date"] = on_date self.cleaned_data["end_date"] = on_date + DAY_DELTA return None
def clean_end_date(self): if self.cleaned_data["end_date"]: return to_datetime(self.cleaned_data["end_date"])
def clean_start_date(self): if self.cleaned_data["start_date"]: return to_datetime(self.cleaned_data["start_date"])
def clean_end_date(self): if self.cleaned_data["end_date"]: return to_datetime(self.cleaned_data["end_date"]) + DAY_DELTA
def clean_on_date(self): on_date = self.cleaned_data["on_date"] if on_date: on_date = to_datetime(on_date) return on_date