fix: update license validation logic in profile and user role update functions
This commit is contained in:
parent
c7a9a4d4bd
commit
778b706776
@ -13,6 +13,7 @@ from rest_framework import serializers
|
|||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
|
||||||
from common.constants.cache_version import Cache_Version
|
from common.constants.cache_version import Cache_Version
|
||||||
|
from common.database_model_manage.database_model_manage import DatabaseModelManage
|
||||||
from maxkb import settings
|
from maxkb import settings
|
||||||
|
|
||||||
|
|
||||||
@ -35,7 +36,6 @@ class SystemProfileSerializer(serializers.Serializer):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def profile():
|
def profile():
|
||||||
version = os.environ.get('MAXKB_VERSION')
|
version = os.environ.get('MAXKB_VERSION')
|
||||||
license_is_valid = cache.get(Cache_Version.SYSTEM.get_key(key='license_is_valid'),
|
license_is_valid = DatabaseModelManage.get_model('license_is_valid') or (lambda: False)
|
||||||
version=Cache_Version.SYSTEM.get_version())
|
|
||||||
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}
|
||||||
|
|||||||
@ -567,9 +567,21 @@ class UserManageSerializer(serializers.Serializer):
|
|||||||
def update_user_role(instance, user, user_id=None):
|
def update_user_role(instance, user, user_id=None):
|
||||||
workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping")
|
workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping")
|
||||||
if workspace_user_role_mapping_model:
|
if workspace_user_role_mapping_model:
|
||||||
|
role_setting = instance.get('role_setting')
|
||||||
|
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
|
||||||
|
if not license_is_valid and isinstance(role_setting, list) and len(role_setting) == 0:
|
||||||
|
workspace_user_role_mapping_model.objects.create(
|
||||||
|
id=uuid.uuid7(),
|
||||||
|
user_id=user.id,
|
||||||
|
role_id=RoleConstants.USER.name,
|
||||||
|
workspace_id='default'
|
||||||
|
)
|
||||||
|
return
|
||||||
|
|
||||||
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()
|
||||||
role_setting = instance.get('role_setting')
|
|
||||||
if not role_setting or (len(role_setting) == 1
|
if not role_setting or (len(role_setting) == 1
|
||||||
and role_setting[0].get('role_id') == ''
|
and role_setting[0].get('role_id') == ''
|
||||||
and len(role_setting[0].get('workspace_ids', [])) == 0):
|
and len(role_setting[0].get('workspace_ids', [])) == 0):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user