diff --git a/djautotask/sync.py b/djautotask/sync.py index 2d05d93..5563c2d 100644 --- a/djautotask/sync.py +++ b/djautotask/sync.py @@ -974,6 +974,18 @@ def _assign_field_data(self, instance, json_data): return instance def fetch_sync_by_id(self, instance_id): + if self.queue_sync_filter: + api_instance = self.get_single(instance_id) + json_data = api_instance.get('item', api_instance) + queue_id = json_data.get('queueID') + + if queue_id is not None and queue_id not in self.queue_sync_filter: + # Ticket is in a non-permitted queue, ignore this callback + raise InvalidObjectException( + 'Ticket {} is in queue {} which is not in the permitted ' + 'queues list.'.format(instance_id, queue_id) + ) + instance = super().fetch_sync_by_id(instance_id) if not instance.status or \ instance.status.id != models.Status.COMPLETE_ID: diff --git a/setup.py b/setup.py index 445f4d9..75076c5 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages -VERSION = (1, 7, 4) +VERSION = (1, 7, 5) project_version = '.'.join(map(str, VERSION))