def validate(self, data): data = super().validate(data) full_data = self.to_internal_value(self.to_representation(self.instance)) if self.instance else {} full_data.update(data) Event.clean_dates(data.get('date_from'), data.get('date_to')) Event.clean_presale(data.get('presale_start'), data.get('presale_end')) return data
def validate(self, data): data = super().validate(data) event = self.context['request'].event full_data = self.to_internal_value(self.to_representation(self.instance)) if self.instance else {} full_data.update(data) Event.clean_dates(data.get('date_from'), data.get('date_to')) Event.clean_presale(data.get('presale_start'), data.get('presale_end')) SubEvent.clean_items(event, [item['item'] for item in full_data.get('subeventitem_set', [])]) SubEvent.clean_variations(event, [item['variation'] for item in full_data.get('subeventitemvariation_set', [])]) return data
def validate(self, data): data = super().validate(data) full_data = self.to_internal_value(self.to_representation(self.instance)) if self.instance else {} full_data.update(data) Event.clean_dates(data.get('date_from'), data.get('date_to')) Event.clean_presale(data.get('presale_start'), data.get('presale_end')) if full_data.get('has_subevents') and full_data.get('seating_plan'): raise ValidationError('Event series should not directly be assigned a seating plan.') return data