提交 8f7ae26b 编写于 作者: baltery's avatar baltery

fix: 暂存

上级 865df56b
......@@ -106,11 +106,8 @@ class Organization(models.Model):
else:
return ''
def org_auditors(self):
return self.members.filter(role=OrganizationMembers.ROLE_AUDITOR)
def get_org_auditors(self):
return self.org_auditors()
return self.members.filter(role=OrganizationMembers.ROLE_AUDITOR)
def get_org_members(self, role=None):
from users.models import User
......@@ -138,21 +135,19 @@ class Organization(models.Model):
return self.id not in (self.DEFAULT_NAME, self.ROOT_ID, self.SYSTEM_ID)
@classmethod
def get_user_joined_orgs(cls, user, role=None, role_in=None):
def get_user_joined_orgs(cls, user, roles=None):
if user.is_anonymous:
return cls.objects.none()
kwargs = {'user': user}
if role:
kwargs['role'] = role
elif role_in:
kwargs['role__in'] = role_in
if roles:
kwargs['role__in'] = roles
orgs_id = OrganizationMembers.objects.filter(**kwargs).values_list('org', flat=True)
return cls.objects.filter(id__in=orgs_id)
@classmethod
def get_user_admin_or_audit_orgs(cls, user):
roles = [OrganizationMembers.ROLE_ADMIN, OrganizationMembers.ROLE_AUDITOR]
return cls.get_user_joined_orgs(role_in=roles)
return cls.get_user_joined_orgs(user, roles=roles)
@classmethod
def default(cls):
......
......@@ -13,12 +13,9 @@ class OrgSerializer(ModelSerializer):
fields_mini = ['id', 'name']
fields_small = fields_mini + ['comment', 'created_by', 'date_created']
fields = fields_small
field_m2m = ['members']
read_only_fields = ['created_by', 'date_created']
extra_kwargs = {
'admins': {'write_only': True},
'users': {'write_only': True},
'auditors': {'write_only': True},
}
class OrgReadSerializer(ModelSerializer):
admins_amount = serializers.SlugRelatedField(slug_field='name', many=True, read_only=True)
......@@ -63,6 +60,3 @@ class OrgRetrieveSerializer(OrgReadSerializer):
admins = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
auditors = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
users = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta(OrgReadSerializer.Meta):
pass
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册