Merge pull request #6277 from jumpserver/dev

v2.11.0 rc5
pull/6298/head
Jiangjie.Bai 2021-06-16 13:03:17 +08:00 committed by GitHub
commit 4f1b2aceda
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 27 additions and 13 deletions

View File

@ -47,8 +47,13 @@ class BaseFileParser(BaseParser):
def convert_to_field_names(self, column_titles):
fields_map = {}
fields = self.serializer_fields
fields_map.update({v.label: k for k, v in fields.items()})
fields_map.update({k: k for k, _ in fields.items()})
for k, v in fields.items():
if v.read_only:
continue
fields_map.update({
v.label: k,
k: k
})
field_names = [
fields_map.get(column_title.strip('*'), '')
for column_title in column_titles

View File

@ -83,14 +83,17 @@ class AssetPermissionSerializer(BulkOrgResourceModelSerializer):
return queryset
def to_internal_value(self, data):
# 系统用户是必填项
if 'system_users_display' in data:
# system_users_display 转化为 system_users
system_users = data.get('system_users', [])
system_users_display = data.pop('system_users_display', '')
for i in range(len(system_users_display)):
system_user = SystemUser.objects.filter(name=system_users_display[i]).first()
system_users_display = data.pop('system_users_display')
for name in system_users_display:
system_user = SystemUser.objects.filter(name=name).first()
if system_user and system_user.id not in system_users:
system_users.append(system_user.id)
data['system_users'] = system_users
return super().to_internal_value(data)
def perform_display_create(self, instance, **kwargs):

View File

@ -26,6 +26,7 @@ from common.const import LDAP_AD_ACCOUNT_DISABLE
from common.utils import timeit, get_logger
from users.utils import construct_user_email
from users.models import User
from orgs.models import Organization
from authentication.backends.ldap import LDAPAuthorizationBackend, LDAPUser
logger = get_logger(__file__)
@ -364,12 +365,17 @@ class LDAPImportUtil(object):
def perform_import(self, users):
logger.info('Start perform import ldap users, count: {}'.format(len(users)))
errors = []
instances = []
for user in users:
try:
self.update_or_create(user)
obj, created = self.update_or_create(user)
if created:
instances.append(user)
except Exception as e:
errors.append({user['username']: str(e)})
logger.error(e)
# 默认添加用户到 Default 组织
Organization.default().members.add(*instances)
logger.info('End perform import ldap users')
return errors

View File

@ -83,7 +83,7 @@ class CommandAlertMessage(CommandAlertMixin, SystemMessage):
'command': input
}
message = self._get_message(command)
message = self._get_message()
return {
'subject': subject,
@ -134,7 +134,7 @@ class CommandExecutionAlert(CommandAlertMixin, SystemMessage):
subject = _("Insecure Web Command Execution Alert: [%(name)s]") % {
'name': command['user'],
}
message = self._get_message(command)
message = self._get_message()
return {
'subject': subject,