Be more strict when verifying dtstart

This commit is contained in:
Matthew Jones 2014-03-31 11:33:49 -04:00
parent a3ca786758
commit 96a4752f2f
2 changed files with 3 additions and 3 deletions

View File

@ -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():

View File

@ -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)