修正:无法删除远程账号组(web日志提示没有'ga_id'字段);修正:批量导入主机和账号时会失败(忘记处理username_prompt和password_prompt字段);
							parent
							
								
									d88af1ed77
								
							
						
					
					
						commit
						fe6f036abe
					
				| 
						 | 
				
			
			@ -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)})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue