mirror of
https://github.com/ansible/awx.git
synced 2026-01-16 12:20:45 -03:30
get WFJT nodes in activity stream
This commit is contained in:
parent
6d590ca985
commit
0dbd9e4839
@ -2958,6 +2958,10 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
|
||||
changes = serializers.SerializerMethodField()
|
||||
object_association = serializers.SerializerMethodField()
|
||||
# Needed related fields that are not in the default summary fields
|
||||
extra_listing = [
|
||||
('workflow_job_template_node', ('id', 'unified_job_template_id'))
|
||||
]
|
||||
|
||||
class Meta:
|
||||
model = ActivityStream
|
||||
@ -2999,7 +3003,7 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
rel = {}
|
||||
if obj.actor is not None:
|
||||
rel['actor'] = reverse('api:user_detail', args=(obj.actor.pk,))
|
||||
for fk, __ in SUMMARIZABLE_FK_FIELDS.items():
|
||||
for fk, __ in SUMMARIZABLE_FK_FIELDS.items() + self.extra_listing:
|
||||
if not hasattr(obj, fk):
|
||||
continue
|
||||
allm2m = getattr(obj, fk).all()
|
||||
@ -3021,7 +3025,7 @@ class ActivityStreamSerializer(BaseSerializer):
|
||||
|
||||
def get_summary_fields(self, obj):
|
||||
summary_fields = OrderedDict()
|
||||
for fk, related_fields in SUMMARIZABLE_FK_FIELDS.items():
|
||||
for fk, related_fields in SUMMARIZABLE_FK_FIELDS.items() + self.extra_listing:
|
||||
try:
|
||||
if not hasattr(obj, fk):
|
||||
continue
|
||||
|
||||
@ -3107,7 +3107,7 @@ class WorkflowJobTemplateActivityStreamList(WorkflowsEnforcementMixin, ActivityS
|
||||
self.check_parent_access(parent)
|
||||
qs = self.request.user.get_queryset(self.model)
|
||||
return qs.filter(Q(workflow_job_template=parent) |
|
||||
Q(workflow_job_template_node__workflow_job_template=parent))
|
||||
Q(workflow_job_template_node__workflow_job_template=parent)).distinct()
|
||||
|
||||
|
||||
class WorkflowJobList(WorkflowsEnforcementMixin, ListCreateAPIView):
|
||||
|
||||
@ -2101,7 +2101,7 @@ class ActivityStreamAccess(BaseAccess):
|
||||
'job_template', 'job', 'ad_hoc_command',
|
||||
'notification_template', 'notification', 'label', 'role', 'actor',
|
||||
'schedule', 'custom_inventory_script', 'unified_job_template',
|
||||
'workflow_job_template', 'workflow_job')
|
||||
'workflow_job_template', 'workflow_job', 'workflow_job_template_node')
|
||||
if self.user.is_superuser or self.user.is_system_auditor:
|
||||
return qs.all()
|
||||
|
||||
|
||||
@ -126,4 +126,5 @@ activity_stream_registrar.connect(Notification)
|
||||
activity_stream_registrar.connect(Label)
|
||||
activity_stream_registrar.connect(User)
|
||||
activity_stream_registrar.connect(WorkflowJobTemplate)
|
||||
activity_stream_registrar.connect(WorkflowJobTemplateNode)
|
||||
activity_stream_registrar.connect(WorkflowJob)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user