Merge remote-tracking branch 'downstream/release_3.8.0' into devel

This commit is contained in:
Ryan Petrello
2020-11-03 15:11:50 -05:00
2 changed files with 7 additions and 8 deletions

View File

@@ -453,7 +453,7 @@ class BaseSerializer(serializers.ModelSerializer, metaclass=BaseSerializerMetacl
if 'capability_map' not in self.context: if 'capability_map' not in self.context:
if hasattr(self, 'polymorphic_base'): if hasattr(self, 'polymorphic_base'):
model = self.polymorphic_base.Meta.model model = self.polymorphic_base.Meta.model
prefetch_list = self.polymorphic_base._capabilities_prefetch prefetch_list = self.polymorphic_base.capabilities_prefetch
else: else:
model = self.Meta.model model = self.Meta.model
prefetch_list = self.capabilities_prefetch prefetch_list = self.capabilities_prefetch
@@ -640,12 +640,9 @@ class EmptySerializer(serializers.Serializer):
class UnifiedJobTemplateSerializer(BaseSerializer): class UnifiedJobTemplateSerializer(BaseSerializer):
# As a base serializer, the capabilities prefetch is not used directly # As a base serializer, the capabilities prefetch is not used directly,
_capabilities_prefetch = [ # instead they are derived from the Workflow Job Template Serializer and the Job Template Serializer, respectively.
'admin', 'execute', capabilities_prefetch = []
{'copy': ['jobtemplate.project.use', 'jobtemplate.inventory.use',
'organization.workflow_admin']}
]
class Meta: class Meta:
model = UnifiedJobTemplate model = UnifiedJobTemplate
@@ -695,7 +692,7 @@ class UnifiedJobTemplateSerializer(BaseSerializer):
serializer.polymorphic_base = self serializer.polymorphic_base = self
# capabilities prefetch is only valid for these models # capabilities prefetch is only valid for these models
if isinstance(obj, (JobTemplate, WorkflowJobTemplate)): if isinstance(obj, (JobTemplate, WorkflowJobTemplate)):
serializer.capabilities_prefetch = self._capabilities_prefetch serializer.capabilities_prefetch = serializer_class.capabilities_prefetch
else: else:
serializer.capabilities_prefetch = None serializer.capabilities_prefetch = None
return serializer.to_representation(obj) return serializer.to_representation(obj)

View File

@@ -29,6 +29,7 @@ function AddEditCredentialsController (
const isExternal = credentialType.get('kind') === 'external'; const isExternal = credentialType.get('kind') === 'external';
const mode = $state.current.name.startsWith('credentials.add') ? 'add' : 'edit'; const mode = $state.current.name.startsWith('credentials.add') ? 'add' : 'edit';
vm.isEditable = credential.get('summary_fields.user_capabilities.edit');
vm.mode = mode; vm.mode = mode;
vm.strings = strings; vm.strings = strings;
@@ -52,6 +53,7 @@ function AddEditCredentialsController (
vm.form = credential.createFormSchema({ omit }); vm.form = credential.createFormSchema({ omit });
vm.form.disabled = !isEditable; vm.form.disabled = !isEditable;
} }
vm.form.disabled = !vm.isEditable;
vm.form._organization._disabled = !isOrgEditableByUser; vm.form._organization._disabled = !isOrgEditableByUser;
// Only exists for permissions compatibility // Only exists for permissions compatibility