|
13 | 13 | import re |
14 | 14 | from collections import defaultdict |
15 | 15 |
|
16 | | -from django.core.cache import cache |
17 | | -from django.core.mail.backends.smtp import EmailBackend |
18 | | -from django.db import transaction |
19 | | -from django.db.models import Q, QuerySet |
20 | | -from django.utils import translation |
21 | | -from rest_framework import serializers |
22 | 16 | import uuid_utils.compat as uuid |
23 | | - |
24 | 17 | from common.constants.cache_version import Cache_Version |
25 | 18 | from common.constants.exception_code_constants import ExceptionCodeConstants |
26 | | -from common.constants.permission_constants import RoleConstants, Auth, ResourceAuthType, ResourcePermissionRole, \ |
27 | | - ResourcePermission |
| 19 | +from common.constants.permission_constants import ( |
| 20 | + Auth, |
| 21 | + ResourceAuthType, |
| 22 | + ResourcePermission, |
| 23 | + ResourcePermissionRole, |
| 24 | + RoleConstants, |
| 25 | +) |
28 | 26 | from common.database_model_manage.database_model_manage import DatabaseModelManage |
29 | 27 | from common.db.search import page_search |
30 | 28 | from common.exception.app_exception import AppApiException |
31 | | -from common.utils.common import valid_license, password_encrypt, password_verify, get_random_chars |
| 29 | +from common.utils.common import get_random_chars, password_encrypt, password_verify, valid_license |
32 | 30 | from common.utils.rsa_util import decrypt |
| 31 | +from django.core import validators |
| 32 | +from django.core.cache import cache |
| 33 | +from django.core.mail import send_mail |
| 34 | +from django.core.mail.backends.smtp import EmailBackend |
| 35 | +from django.db import transaction |
| 36 | +from django.db.models import Q, QuerySet |
| 37 | +from django.utils import translation |
| 38 | +from django.utils.translation import get_language, to_locale |
| 39 | +from django.utils.translation import gettext_lazy as _ |
33 | 40 | from maxkb import settings |
34 | 41 | from maxkb.conf import PROJECT_DIR |
35 | 42 | from maxkb.const import CONFIG |
36 | | -from system_manage.models import SystemSetting, SettingType, AuthTargetType, WorkspaceUserResourcePermission |
| 43 | +from rest_framework import serializers |
| 44 | +from system_manage.models import AuthTargetType, SettingType, SystemSetting, WorkspaceUserResourcePermission |
37 | 45 | from users.models import User |
38 | | -from django.utils.translation import gettext_lazy as _, to_locale |
39 | | -from django.core import validators |
40 | | -from django.core.mail import send_mail |
41 | | -from django.utils.translation import get_language |
42 | 46 |
|
43 | 47 | PASSWORD_REGEX = re.compile( |
44 | 48 | r"^" # 开始 |
@@ -555,28 +559,35 @@ def re_password(self, instance, with_valid=True): |
555 | 559 | user.save() |
556 | 560 | return True |
557 | 561 |
|
558 | | - def get_user_list(self, workspace_id, nick_name): |
| 562 | + def get_user_list(self, user_id,workspace_id, nick_name): |
559 | 563 | """ |
560 | 564 | 获取用户列表 |
561 | 565 | :param workspace_id: 工作空间ID |
562 | 566 | :return: 用户列表 |
563 | 567 | """ |
564 | 568 | workspace_user_role_mapping_model = DatabaseModelManage.get_model("workspace_user_role_mapping") |
565 | 569 | if workspace_user_role_mapping_model: |
566 | | - user_ids = ( |
567 | | - workspace_user_role_mapping_model.objects |
568 | | - .filter(workspace_id=workspace_id) |
569 | | - .values_list('user_id', flat=True) |
570 | | - .distinct() |
571 | | - ) |
| 570 | + # 判断当前用户是否属于该空间,不属于直接返回空 |
| 571 | + if not workspace_user_role_mapping_model.objects.filter( |
| 572 | + workspace_id=workspace_id, user_id=user_id |
| 573 | + ).exists(): |
| 574 | + query_set = User.objects.none() |
| 575 | + else: |
| 576 | + query_set = User.objects.filter( |
| 577 | + id__in=workspace_user_role_mapping_model.objects.filter(workspace_id=workspace_id).values("user_id") |
| 578 | + ) |
| 579 | + |
572 | 580 | else: |
573 | | - user_ids = User.objects.filter(role__in=RoleConstants.USER.name).values_list('id', flat=True) |
| 581 | + if user_id == "f0dd8f71-e4ee-11ee-8c84-a8a1595801ab": |
| 582 | + query_set = User.objects.all() |
| 583 | + else: |
| 584 | + query_set = User.objects.filter(role=RoleConstants.USER.name) |
574 | 585 |
|
575 | | - query_set = User.objects.filter(id__in=user_ids) |
576 | 586 | if nick_name: |
577 | 587 | query_set = query_set.filter(nick_name__contains=nick_name) |
578 | 588 |
|
579 | | - users = query_set.values('id', 'nick_name')[:200] |
| 589 | + users = query_set.values("id", "nick_name")[:200] |
| 590 | + |
580 | 591 | return list(users) |
581 | 592 |
|
582 | 593 | def get_user_members(self, workspace_id): |
@@ -813,11 +824,12 @@ def _get_resource_maps(workspace_ids): |
813 | 824 | """ |
814 | 825 | 获取各类型资源按工作空间的映射 |
815 | 826 | """ |
| 827 | + from collections import defaultdict |
| 828 | + |
816 | 829 | from application.models import Application, ApplicationFolder |
817 | 830 | from knowledge.models import Knowledge, KnowledgeFolder |
818 | | - from tools.models import Tool, ToolFolder |
819 | 831 | from models_provider.models import Model |
820 | | - from collections import defaultdict |
| 832 | + from tools.models import Tool, ToolFolder |
821 | 833 |
|
822 | 834 | resource_maps = { |
823 | 835 | 'apps': defaultdict(list), |
|
0 commit comments