修正:无法删除远程账号组(web日志提示没有'ga_id'字段);修正:批量导入主机和账号时会失败(忘记处理username_prompt和password_prompt字段);

pull/105/head
Apex Liu 2018-04-17 03:34:15 +08:00
parent d88af1ed77
commit fe6f036abe
2 changed files with 7 additions and 2 deletions

View File

@ -476,6 +476,9 @@ class DoImportHandler(TPBaseHandler):
elif args['auth_type'] == TP_AUTH_TYPE_PRIVATE_KEY:
args['pri_key'] = hosts[ip]['acc'][i]['secret']
args['username_prompt'] = _acc['username_prompt']
args['password_prompt'] = _acc['password_prompt']
err, acc_id = account.add_account(self, host_id, args)
if err == TPE_EXISTS:
failed.append({'line': hosts[ip]['acc']['_line'], 'error': '增加账号{}@{}失败,账号已经存在。'.format(args['username'], ip)})

View File

@ -132,8 +132,10 @@ def remove(handler, gtype, glist):
# 将组从审计授权中移除
sql = 'DELETE FROM `{}audit_auz` WHERE `rtype`={rtype} AND `rid` IN ({ids});'.format(db.table_prefix, rtype=gtype, ids=group_ids)
sql_list.append(sql)
sql = 'DELETE FROM `{}audit_map` WHERE `{gname}_id` IN ({ids});'.format(db.table_prefix, gname=gname, ids=group_ids)
sql_list.append(sql)
# 注意,审计授权映射表中,没有远程账号相关信息,所以如果是远程账号组,则忽略
if gtype != TP_GROUP_ACCOUNT:
sql = 'DELETE FROM `{}audit_map` WHERE `{gname}_id` IN ({ids});'.format(db.table_prefix, gname=gname, ids=group_ids)
sql_list.append(sql)
if not db.transaction(sql_list):
return TPE_DATABASE