Skip to content

Commit 778b706

Browse files
committed
fix: update license validation logic in profile and user role update functions
1 parent c7a9a4d commit 778b706

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

apps/system_manage/serializers/system.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from django.core.cache import cache
1414

1515
from common.constants.cache_version import Cache_Version
16+
from common.database_model_manage.database_model_manage import DatabaseModelManage
1617
from maxkb import settings
1718

1819

@@ -35,7 +36,6 @@ class SystemProfileSerializer(serializers.Serializer):
3536
@staticmethod
3637
def profile():
3738
version = os.environ.get('MAXKB_VERSION')
38-
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
39-
version=Cache_Version.SYSTEM.get_version())
39+
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
4040
return {'version': version, 'edition': settings.edition,
4141
'license_is_valid': license_is_valid if license_is_valid is not None else False}

apps/users/serializers/user.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -567,9 +567,21 @@ def get_all_user_list(self):
567567
def update_user_role(instance, user, user_id=None):
568568
workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping")
569569
if workspace_user_role_mapping_model:
570+
role_setting = instance.get('role_setting')
571+
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
572+
license_is_valid = license_is_valid if license_is_valid is not None else False
573+
if not license_is_valid and isinstance(role_setting, list) and len(role_setting) == 0:
574+
workspace_user_role_mapping_model.objects.create(
575+
id=uuid.uuid7(),
576+
user_id=user.id,
577+
role_id=RoleConstants.USER.name,
578+
workspace_id='default'
579+
)
580+
return
581+
570582
is_admin = workspace_user_role_mapping_model.objects.filter(user_id=user_id,
571583
role_id=RoleConstants.ADMIN.name).exists()
572-
role_setting = instance.get('role_setting')
584+
573585
if not role_setting or (len(role_setting) == 1
574586
and role_setting[0].get('role_id') == ''
575587
and len(role_setting[0].get('workspace_ids', [])) == 0):

0 commit comments

Comments
 (0)