From 534cbf12814d65e562f69b0acaeb95c794148607 Mon Sep 17 00:00:00 2001 From: fit2bot <68588906+fit2bot@users.noreply.github.com> Date: Tue, 22 Feb 2022 11:48:06 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=20(#7666)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf: 修复一些错误权限位 * Pr@fix rbac@fix rbac permissions (#7648) * fix: 确保每次 migrate 执行更新 role permissions * perf: 修改 choices * feat: 兼容apple m1 * perf: 修改 migrations role permissions * perf: pymysql 导入 * perf: admin 判断 * perf: 修改依赖版本 Co-authored-by: ibuler Co-authored-by: Aaron3S --- apps/ops/ansible/callback.py | 2 +- apps/orgs/models.py | 2 -- apps/users/models/user.py | 11 +++++++++-- requirements/requirements.txt | 8 ++++---- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/apps/ops/ansible/callback.py b/apps/ops/ansible/callback.py index cb42350b7..3fe1933ac 100644 --- a/apps/ops/ansible/callback.py +++ b/apps/ops/ansible/callback.py @@ -5,7 +5,7 @@ import json import os from collections import defaultdict -from ansible import constants as C +import ansible.constants as C from ansible.plugins.callback import CallbackBase from ansible.plugins.callback.default import CallbackModule from ansible.plugins.callback.minimal import CallbackModule as CMDCallBackModule diff --git a/apps/orgs/models.py b/apps/orgs/models.py index 5d975ce9a..a1ebbbaf5 100644 --- a/apps/orgs/models.py +++ b/apps/orgs/models.py @@ -98,8 +98,6 @@ class Organization(models.Model): @lazyproperty def resource_statistics_cache(self): - # Todo: 由于 redis 问题,没能获取到 - return {} from .caches import OrgResourceStatisticsCache return OrgResourceStatisticsCache(self) diff --git a/apps/users/models/user.py b/apps/users/models/user.py index 4fcf460fb..6660a1a45 100644 --- a/apps/users/models/user.py +++ b/apps/users/models/user.py @@ -269,15 +269,22 @@ class RoleMixin: @lazyproperty def is_superuser(self): + """ + 由于这里用了 cache ,所以不能改成 self.system_roles.filter().exists() + """ from rbac.builtin import BuiltinRole - return self.system_roles.filter(id=BuiltinRole.system_admin.id).exists() + ids = [str(r.id) for r in self.system_roles.all()] + yes = BuiltinRole.system_admin.id in ids + return yes @lazyproperty def is_org_admin(self): from rbac.builtin import BuiltinRole if self.is_superuser: return True - return self.org_roles.filter(id=BuiltinRole.org_admin.id).exists() + ids = [str(r.id) for r in self.org_roles.all()] + yes = BuiltinRole.org_admin.id in ids + return yes @property def is_staff(self): diff --git a/requirements/requirements.txt b/requirements/requirements.txt index 1ef58842b..e28c5be42 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -1,8 +1,8 @@ -amqp==2.5.2 +amqp==5.0.9 ansible==2.10 asn1crypto==0.24.0 bcrypt==3.1.4 -billiard==3.6.3.0 +billiard==3.6.4.0 boto3==1.18.11 botocore==1.21.11 celery==5.2.2 @@ -41,7 +41,7 @@ itsdangerous==0.24 itypes==1.1.0 Jinja2==2.11.3 jmespath==0.9.3 -kombu==4.6.8 +kombu==5.2.2 ldap3==2.4 MarkupSafe==1.1.1 mysqlclient==2.0.1 @@ -69,7 +69,7 @@ six==1.11.0 sshpubkeys==3.1.0 uritemplate==3.0.0 urllib3==1.26.5 -vine==1.3.0 +vine==5.0.0 drf-yasg==1.20.0 Werkzeug==0.15.3 drf-nested-routers==0.91