refactor: update license validation logic to ensure proper function calls
This commit is contained in:
parent
173cf52584
commit
8231ae66e4
@ -41,7 +41,7 @@ class ChatEmbedSerializer(serializers.Serializer):
|
|||||||
show_guide = 'true'
|
show_guide = 'true'
|
||||||
float_icon = f"{self.data.get('protocol')}://{self.data.get('host')}{CONFIG.get_chat_path()}/MaxKB.gif"
|
float_icon = f"{self.data.get('protocol')}://{self.data.get('host')}{CONFIG.get_chat_path()}/MaxKB.gif"
|
||||||
is_license_valid = DatabaseModelManage.get_model('license_is_valid')
|
is_license_valid = DatabaseModelManage.get_model('license_is_valid')
|
||||||
X_PACK_LICENSE_IS_VALID = is_license_valid if is_license_valid is not None else False
|
X_PACK_LICENSE_IS_VALID = is_license_valid() if is_license_valid() is not None else False
|
||||||
# 获取接入的query参数
|
# 获取接入的query参数
|
||||||
query = self.get_query_api_input(application_access_token.application, params)
|
query = self.get_query_api_input(application_access_token.application, params)
|
||||||
float_location = {"x": {"type": "right", "value": 0}, "y": {"type": "bottom", "value": 30}}
|
float_location = {"x": {"type": "right", "value": 0}, "y": {"type": "bottom", "value": 30}}
|
||||||
|
|||||||
@ -242,7 +242,7 @@ def valid_license(model=None, count=None, message=None):
|
|||||||
def inner(func):
|
def inner(func):
|
||||||
def run(*args, **kwargs):
|
def run(*args, **kwargs):
|
||||||
is_license_valid = DatabaseModelManage.get_model('license_is_valid')
|
is_license_valid = DatabaseModelManage.get_model('license_is_valid')
|
||||||
is_license_valid = is_license_valid if is_license_valid is not None else False
|
is_license_valid = is_license_valid() if is_license_valid() is not None else False
|
||||||
record_count = QuerySet(model).count()
|
record_count = QuerySet(model).count()
|
||||||
|
|
||||||
if not is_license_valid and record_count >= count:
|
if not is_license_valid and record_count >= count:
|
||||||
|
|||||||
@ -38,4 +38,4 @@ class SystemProfileSerializer(serializers.Serializer):
|
|||||||
version = os.environ.get('MAXKB_VERSION')
|
version = os.environ.get('MAXKB_VERSION')
|
||||||
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
|
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
|
||||||
return {'version': version, 'edition': settings.edition,
|
return {'version': version, 'edition': settings.edition,
|
||||||
'license_is_valid': license_is_valid if license_is_valid is not None else False}
|
'license_is_valid': license_is_valid() if license_is_valid() is not None else False}
|
||||||
|
|||||||
@ -569,8 +569,11 @@ def update_user_role(instance, user, user_id=None):
|
|||||||
if workspace_user_role_mapping_model:
|
if workspace_user_role_mapping_model:
|
||||||
role_setting = instance.get('role_setting')
|
role_setting = instance.get('role_setting')
|
||||||
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
|
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
|
||||||
license_is_valid = license_is_valid if license_is_valid is not None else False
|
license_is_valid = license_is_valid() if license_is_valid() is not None else False
|
||||||
if not license_is_valid and isinstance(role_setting, list) and len(role_setting) == 0:
|
if not role_setting or (len(role_setting) == 1
|
||||||
|
and role_setting[0].get('role_id') == ''
|
||||||
|
and len(role_setting[0].get('workspace_ids', [])) == 0):
|
||||||
|
if not license_is_valid:
|
||||||
workspace_user_role_mapping_model.objects.create(
|
workspace_user_role_mapping_model.objects.create(
|
||||||
id=uuid.uuid7(),
|
id=uuid.uuid7(),
|
||||||
user_id=user.id,
|
user_id=user.id,
|
||||||
@ -582,10 +585,6 @@ def update_user_role(instance, user, user_id=None):
|
|||||||
is_admin = workspace_user_role_mapping_model.objects.filter(user_id=user_id,
|
is_admin = workspace_user_role_mapping_model.objects.filter(user_id=user_id,
|
||||||
role_id=RoleConstants.ADMIN.name).exists()
|
role_id=RoleConstants.ADMIN.name).exists()
|
||||||
|
|
||||||
if not role_setting or (len(role_setting) == 1
|
|
||||||
and role_setting[0].get('role_id') == ''
|
|
||||||
and len(role_setting[0].get('workspace_ids', [])) == 0):
|
|
||||||
return
|
|
||||||
if str(user.id) == 'f0dd8f71-e4ee-11ee-8c84-a8a1595801ab':
|
if str(user.id) == 'f0dd8f71-e4ee-11ee-8c84-a8a1595801ab':
|
||||||
# 需要判断当前角色的权限 不能删除系统管理员 空间管理员 普通管理员等角色
|
# 需要判断当前角色的权限 不能删除系统管理员 空间管理员 普通管理员等角色
|
||||||
# role_setting是一个数组 结构式 [{role_id:1,workspace_ids:[1,2]}]
|
# role_setting是一个数组 结构式 [{role_id:1,workspace_ids:[1,2]}]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user