diff --git a/awx/api/serializers.py b/awx/api/serializers.py index d873841b17..a315a1f481 100644 --- a/awx/api/serializers.py +++ b/awx/api/serializers.py @@ -1330,8 +1330,8 @@ class ScheduleSerializer(BaseSerializer): # - BYWEEKNO def validate_rrule(self, attrs, source): rrule_value = attrs[source] - if not 'dtstart' in rrule_value.lower(): - raise serializers.ValidationError('DTSTART required in rrule') + if not re.match("DTSTART[\:\=][0-9]+T[0-9]+Z", rrule_value): + raise serializers.ValidationError('DTSTART required in rrule, value should match: DTSTART:YYYYMMDDTHHMMSSZ') if not 'interval' in rrule_value.lower(): raise serializers.ValidationError('INTERVAL required in rrule') if 'tzid' in rrule_value.lower(): diff --git a/awx/main/models/schedules.py b/awx/main/models/schedules.py index ce6ac0f2f2..a3a6f7a1cf 100644 --- a/awx/main/models/schedules.py +++ b/awx/main/models/schedules.py @@ -98,6 +98,6 @@ class Schedule(CommonModel): self.unified_job_template.update_computed_fields() def save(self, *args, **kwargs): - # Check if new rrule, if so set dtstart and dtend to null + # TODO: Check if new rrule, if so set dtstart and dtend to null self.update_computed_fields() super(Schedule, self).save(*args, **kwargs)