mirror of https://github.com/jumpserver/jumpserver
				
				
				
			fix: Account tempale cannot push params (#13671)
Co-authored-by: feng <1304903146@qq.com>pull/13680/head
							parent
							
								
									bb6d077645
								
							
						
					
					
						commit
						cf727d22c0
					
				| 
						 | 
				
			
			@ -81,7 +81,7 @@ class AccountCreateUpdateSerializerMixin(serializers.Serializer):
 | 
			
		|||
    def get_template_attr_for_account(template):
 | 
			
		||||
        # Set initial data from template
 | 
			
		||||
        field_names = [
 | 
			
		||||
            'name', 'username', 'secret',
 | 
			
		||||
            'name', 'username', 'secret', 'push_params',
 | 
			
		||||
            'secret_type', 'privileged', 'is_active'
 | 
			
		||||
        ]
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,10 @@ class AccountCreateUpdateSerializerMixin(serializers.Serializer):
 | 
			
		|||
            value = getattr(template, name, None)
 | 
			
		||||
            if value is None:
 | 
			
		||||
                continue
 | 
			
		||||
            attrs[name] = value
 | 
			
		||||
            if name == 'push_params':
 | 
			
		||||
                attrs['params'] = value
 | 
			
		||||
            else:
 | 
			
		||||
                attrs[name] = value
 | 
			
		||||
        attrs['secret'] = template.get_secret()
 | 
			
		||||
        return attrs
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -225,7 +228,7 @@ class AccountSerializer(AccountCreateUpdateSerializerMixin, BaseAccountSerialize
 | 
			
		|||
        fields = BaseAccountSerializer.Meta.fields + [
 | 
			
		||||
            'su_from', 'asset', 'version',
 | 
			
		||||
            'source', 'source_id', 'connectivity',
 | 
			
		||||
        ] + list(set(AccountCreateUpdateSerializerMixin.Meta.fields) - {'params'})
 | 
			
		||||
        ] + AccountCreateUpdateSerializerMixin.Meta.fields
 | 
			
		||||
        read_only_fields = BaseAccountSerializer.Meta.read_only_fields + [
 | 
			
		||||
            'connectivity'
 | 
			
		||||
        ]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -323,7 +323,9 @@ class AssetSerializer(BulkOrgResourceModelSerializer, ResourceLabelsMixin, Writa
 | 
			
		|||
            template_id = data.get('template', None)
 | 
			
		||||
            if template_id:
 | 
			
		||||
                template = AccountTemplate.objects.get(id=template_id)
 | 
			
		||||
                if template and template.su_from:
 | 
			
		||||
                template.push_params = data.pop('push_params', {})
 | 
			
		||||
                data['params'] = template.push_params
 | 
			
		||||
                if template.su_from:
 | 
			
		||||
                    su_from_name_username_secret_type_map[template.name] = (
 | 
			
		||||
                        template.su_from.username, template.su_from.secret_type
 | 
			
		||||
                    )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue