|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
from django.utils.translation import ugettext_lazy as _ |
|
|
|
|
from rest_framework import serializers |
|
|
|
|
|
|
|
|
|
from assets.const import SecretType |
|
|
|
|
from assets.const import SecretType, Source |
|
|
|
|
from assets.models import Account, AccountTemplate, Asset |
|
|
|
|
from assets.tasks import push_accounts_to_assets |
|
|
|
|
from common.drf.fields import ObjectRelatedField, LabeledChoiceField |
|
|
|
@ -74,6 +74,7 @@ class AccountAssetSerializer(serializers.ModelSerializer):
|
|
|
|
|
|
|
|
|
|
class AccountSerializer(AccountSerializerCreateMixin, BaseAccountSerializer): |
|
|
|
|
asset = AccountAssetSerializer(label=_('Asset')) |
|
|
|
|
source = LabeledChoiceField(choices=Source.choices, label=_("Source"), read_only=True) |
|
|
|
|
su_from = ObjectRelatedField( |
|
|
|
|
required=False, queryset=Account.objects, allow_null=True, allow_empty=True, |
|
|
|
|
label=_('Su from'), attrs=('id', 'name', 'username') |
|
|
|
@ -83,7 +84,7 @@ class AccountSerializer(AccountSerializerCreateMixin, BaseAccountSerializer):
|
|
|
|
|
model = Account |
|
|
|
|
fields = BaseAccountSerializer.Meta.fields \ |
|
|
|
|
+ ['su_from', 'version', 'asset'] \ |
|
|
|
|
+ ['template', 'push_now'] |
|
|
|
|
+ ['template', 'push_now', 'source'] |
|
|
|
|
extra_kwargs = { |
|
|
|
|
**BaseAccountSerializer.Meta.extra_kwargs, |
|
|
|
|
'name': {'required': False, 'allow_null': True}, |
|
|
|
|