mirror of
https://github.com/ansible/awx.git
synced 2026-05-12 20:07:37 -02:30
fix a few nits w/ workflow approval activity stream records
This commit is contained in:
@@ -4755,7 +4755,7 @@ class ActivityStreamSerializer(BaseSerializer):
|
|||||||
('o_auth2_application', ('id', 'name', 'description')),
|
('o_auth2_application', ('id', 'name', 'description')),
|
||||||
('credential_type', ('id', 'name', 'description', 'kind', 'managed_by_tower')),
|
('credential_type', ('id', 'name', 'description', 'kind', 'managed_by_tower')),
|
||||||
('ad_hoc_command', ('id', 'name', 'status', 'limit')),
|
('ad_hoc_command', ('id', 'name', 'status', 'limit')),
|
||||||
('workflow_approval', ('id', 'unified_job_id')),
|
('workflow_approval', ('id', 'name', 'unified_job_id')),
|
||||||
]
|
]
|
||||||
return field_list
|
return field_list
|
||||||
|
|
||||||
@@ -4864,7 +4864,7 @@ class ActivityStreamSerializer(BaseSerializer):
|
|||||||
def _summarize_parent_ujt(self, obj, fk, summary_fields):
|
def _summarize_parent_ujt(self, obj, fk, summary_fields):
|
||||||
summary_keys = {'job': 'job_template',
|
summary_keys = {'job': 'job_template',
|
||||||
'workflow_job_template_node': 'workflow_job_template',
|
'workflow_job_template_node': 'workflow_job_template',
|
||||||
'workflow_approval': 'workflow_approval_template',
|
'workflow_approval': 'workflow_job_template',
|
||||||
'schedule': 'unified_job_template'}
|
'schedule': 'unified_job_template'}
|
||||||
if fk not in summary_keys:
|
if fk not in summary_keys:
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2807,8 +2807,7 @@ class WorkflowApprovalAccess(BaseAccess):
|
|||||||
def can_approve_or_deny(self, obj):
|
def can_approve_or_deny(self, obj):
|
||||||
if obj.status != 'pending':
|
if obj.status != 'pending':
|
||||||
return False
|
return False
|
||||||
wfjt = obj.unified_job_node.workflow_job.unified_job_template
|
if self.user in obj.workflow_job_template.approval_role or self.user.is_superuser:
|
||||||
if self.user in wfjt.approval_role or self.user.is_superuser:
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -683,12 +683,14 @@ class WorkflowApproval(UnifiedJob):
|
|||||||
self.save()
|
self.save()
|
||||||
changes = model_to_dict(self, model_serializer_mapping())
|
changes = model_to_dict(self, model_serializer_mapping())
|
||||||
changes['status']=['pending', 'successful']
|
changes['status']=['pending', 'successful']
|
||||||
ActivityStream(
|
activity_entry = ActivityStream(
|
||||||
operation='update',
|
operation='update',
|
||||||
object1='workflow_approval',
|
object1='workflow_approval',
|
||||||
actor=request.user,
|
actor=request.user,
|
||||||
changes=json.dumps(changes),
|
changes=json.dumps(changes),
|
||||||
).save()
|
)
|
||||||
|
activity_entry.save()
|
||||||
|
getattr(activity_entry, 'workflow_approval').add(self.pk)
|
||||||
schedule_task_manager()
|
schedule_task_manager()
|
||||||
return reverse('api:workflow_approval_approve', kwargs={'pk': self.pk}, request=request)
|
return reverse('api:workflow_approval_approve', kwargs={'pk': self.pk}, request=request)
|
||||||
|
|
||||||
@@ -698,11 +700,17 @@ class WorkflowApproval(UnifiedJob):
|
|||||||
self.save()
|
self.save()
|
||||||
changes = model_to_dict(self, model_serializer_mapping())
|
changes = model_to_dict(self, model_serializer_mapping())
|
||||||
changes['status']=['pending', 'failed']
|
changes['status']=['pending', 'failed']
|
||||||
ActivityStream(
|
activity_entry = ActivityStream(
|
||||||
operation='update',
|
operation='update',
|
||||||
object1='workflow_approval',
|
object1='workflow_approval',
|
||||||
actor=request.user,
|
actor=request.user,
|
||||||
changes=json.dumps(changes),
|
changes=json.dumps(changes),
|
||||||
).save()
|
)
|
||||||
|
activity_entry.save()
|
||||||
|
getattr(activity_entry, 'workflow_approval').add(self.pk)
|
||||||
schedule_task_manager()
|
schedule_task_manager()
|
||||||
return reverse('api:workflow_approval_deny', kwargs={'pk': self.pk}, request=request)
|
return reverse('api:workflow_approval_deny', kwargs={'pk': self.pk}, request=request)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def workflow_job_template(self):
|
||||||
|
return self.unified_job_node.workflow_job.unified_job_template
|
||||||
|
|||||||
Reference in New Issue
Block a user