Skip to content

Unpublished change query can pickup changes originating from the backend #4202

@bjester

Description

@bjester

Observed behavior

A channel was showing as publishable even though it had no new changes. We need to enforce that created_by is set more often, so _unpublished_changes_query can't rely on that for filtering out changes which simply need to be returned from the backend and do not influence the status.

chs = Change.objects.filter(channel_id='22fd1359d8d75ff1b0cad8e401a08f16').values_list('created_by_id', 'table', 'change_type', 'applied', 'errored', 'kwargs').order_by('-server_rev')[:10]
>>> 
>>> for ch in chs:
...     print(ch)
... 
(7035, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'version': 4, 'modified': '2023-07-06T19:08:47.832214Z'}})
(7035, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'publishing': False, 'last_published': '2023-07-06T19:08:47.467597Z'}})
(None, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'__TASK_ID': None}})
(None, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'published': True, 'publishing': False, 'primary_token': 'tugofranod', 'last_published': '2023-07-06T19:08:47.467597Z', 'unpublished_changes': True}})
(7035, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'publishing': True}})
(None, 'channel', 2, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'mods': {'__TASK_ID': 'bdf2e408301a446dab7abb4105ce4c06'}})
(7035, 'channel', 6, True, False, {'key': '22fd1359d8d75ff1b0cad8e401a08f16', 'language': 'en', 'version_notes': 'updated video resolution'})

Expected behavior

The _unpublished_changes_query produces the correct output for when there are actual publishable changes.

User-facing consequences

Confusion regarding what changes haven't been published

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions