From 1e9310bf0c2f9b69958dd011f95ad0184eb1cd7c Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 12 Jun 2023 19:00:59 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=20applet=20?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/terminal/models/applet/applet.py | 2 +- apps/terminal/serializers/applet.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/terminal/models/applet/applet.py b/apps/terminal/models/applet/applet.py index 86c21f7e5..3193b5ea5 100644 --- a/apps/terminal/models/applet/applet.py +++ b/apps/terminal/models/applet/applet.py @@ -138,7 +138,7 @@ class Applet(JMSBaseModel): name = manifest['name'] instance = cls.objects.filter(name=name).first() serializer = AppletSerializer(instance=instance, data=manifest) - serializer.is_valid() + serializer.is_valid(raise_exception=True) instance = serializer.save(builtin=builtin) instance.load_platform_if_need(path) diff --git a/apps/terminal/serializers/applet.py b/apps/terminal/serializers/applet.py index 79427b4b6..aa3623436 100644 --- a/apps/terminal/serializers/applet.py +++ b/apps/terminal/serializers/applet.py @@ -27,7 +27,8 @@ class AppletPublicationSerializer(serializers.ModelSerializer): class AppletSerializer(serializers.ModelSerializer): icon = serializers.ReadOnlyField(label=_("Icon")) type = LabeledChoiceField(choices=Applet.Type.choices, label=_("Type")) - edition = LabeledChoiceField(choices=Applet.Edition.choices, label=_("Edition")) + edition = LabeledChoiceField(choices=Applet.Edition.choices, label=_("Edition"), required=False, + default=Applet.Edition.community) class Meta: model = Applet From 44d92b9dece05d851c2d6586d15badbd8bfea05d Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 12 Jun 2023 19:12:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=20acl=20user=20r?= =?UTF-8?q?eview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/orgs/models.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/orgs/models.py b/apps/orgs/models.py index de2b087a3..647c37cb9 100644 --- a/apps/orgs/models.py +++ b/apps/orgs/models.py @@ -9,10 +9,21 @@ logger = get_logger(__name__) class OrgRoleMixin: + ROOT_ID = '00000000-0000-0000-0000-000000000000' + ROOT_NAME = _('GLOBAL') + DEFAULT_ID = '00000000-0000-0000-0000-000000000002' + DEFAULT_NAME = _('DEFAULT') + SYSTEM_ID = '00000000-0000-0000-0000-000000000004' + SYSTEM_NAME = _('SYSTEM') members: models.Manager + id: str def get_members(self): - return self.members.all().distinct() + from users.models import User + if self.id == self.ROOT_ID: + return User.objects.all().exclude(is_service_account=True) + else: + return self.members.all().distinct() def add_member(self, user, role=None): from rbac.builtin import BuiltinRole @@ -72,12 +83,6 @@ class Organization(OrgRoleMixin, JMSBaseModel): 'users.User', related_name='orgs', through='rbac.RoleBinding', through_fields=('org', 'user') ) - ROOT_ID = '00000000-0000-0000-0000-000000000000' - ROOT_NAME = _('GLOBAL') - DEFAULT_ID = '00000000-0000-0000-0000-000000000002' - DEFAULT_NAME = _('DEFAULT') - SYSTEM_ID = '00000000-0000-0000-0000-000000000004' - SYSTEM_NAME = _('SYSTEM') orgs_mapping = None class Meta: