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