diff --git a/awx/main/models/schedules.py b/awx/main/models/schedules.py index 394cd556b2..09fd755d62 100644 --- a/awx/main/models/schedules.py +++ b/awx/main/models/schedules.py @@ -19,6 +19,7 @@ from awx.main.models.jobs import LaunchTimeConfig from awx.main.utils import ignore_inventory_computed_fields from awx.main.consumers import emit_channel_notification + logger = logging.getLogger('awx.main.models.schedule') __all__ = ['Schedule'] @@ -91,40 +92,6 @@ class Schedule(CommonModel, LaunchTimeConfig): help_text=_("The next time that the scheduled action will run.") ) - # extra_data is actually a string with a JSON payload in it. This - # is technically OK because a string is a valid JSON. One day we will - # enforce non-string JSON. - def _clean_extra_data_system_jobs(self): - extra_data = self.extra_data - if not isinstance(extra_data, dict): - try: - extra_data = json.loads(self.extra_data) - except Exception: - raise ValidationError(_("Expected JSON")) - - if extra_data and 'days' in extra_data: - try: - if type(extra_data['days']) is bool: - raise ValueError - if float(extra_data['days']) != int(extra_data['days']): - raise ValueError - days = int(extra_data['days']) - if days < 0: - raise ValueError - except ValueError: - raise ValidationError(_("days must be a positive integer.")) - return self.extra_data - - def clean_extra_data(self): - if not self.unified_job_template: - return self.extra_data - - # Compare class by string name because it's hard to import SystemJobTemplate - if type(self.unified_job_template).__name__ is not 'SystemJobTemplate': - return self.extra_data - - return self._clean_extra_data_system_jobs() - def __unicode__(self): return u'%s_t%s_%s_%s' % (self.name, self.unified_job_template.id, self.id, self.next_run)