def listings_clean(self, data): # get listing category, publish_from and publish_to pub_from = data.getlist(self.get_part_id('publish_from')) listings = self.cleaned_data['listings'] if len(pub_from) and (len(pub_from) != len(listings)): raise ValidationError(_('Amount of publish_from input fields should be the same as category fields. With kind regards Your PlacementInline and his ListingCustomWidget.')) for lst, pub in zip(listings, pub_from): if not pub: #raise ValidationError(_('This field is required')) continue dt_field = DateTimeField() publish_from = dt_field.clean(pub)
def listings_clean(self, placement_publish_from, data): # get listing category, publish_from and publish_to pub_from = data.getlist(self.get_part_id("publish_from")) listings = self.cleaned_data["listings"] if pub_from and len(pub_from) != len(listings): raise ValidationError(_("Duplicate listings")) for lst, pub in zip(listings, pub_from): if not pub: # raise ValidationError(_('This field is required')) continue dt_field = DateTimeField() publish_from = dt_field.clean(pub) if publish_from < placement_publish_from: raise ValidationError(_("No listing can start sooner than main listing"))
def listings_clean(self, placement_publish_from, data): # get listing category, publish_from and publish_to pub_from = data.getlist(self.get_part_id('publish_from')) listings = self.cleaned_data['listings'] if pub_from and len(pub_from) != len(listings): raise ValidationError(_('Duplicate listings')) for lst, pub in zip(listings, pub_from): if not pub: #raise ValidationError(_('This field is required')) continue dt_field = DateTimeField() publish_from = dt_field.clean(pub) if publish_from < placement_publish_from: raise ValidationError(_('No listing can start sooner than main listing'))
def get_publish_date(self, pub_from): " Tries to save publish_from field specified either by POST parameter or by Placement (self.instance). " if pub_from: dt_field = DateTimeField() return dt_field.clean(pub_from) return self.instance.publish_from