def kill_user(user_id, ip_address): if not validate_integer(user_id): return False try: ibs = IBSManager() if IBSUserInfo.objects.filter(user=user_id).exists(): ibs_uid = IBSUserInfo.objects.get(user=user_id).ibs_uid else: ibs_uid = ibs.get_user_id_by_username( User.objects.get(pk=user_id).username) if ibs.kill_user(ibs_uid): return True failed_user_id = read_config('service_failed_users', 3306) failed_user_ids = failed_user_id.split(',') for f in failed_user_ids: if IBSUserInfo.objects.filter(user=f).exists(): f_ibi = IBSUserInfo.objects.get(user=f).ibs_uid elif ip_address is not None: fu = User.objects.get(pk=f) f_ibi = ibs.get_user_id_by_username(fu.username, True) else: return False connections = ibs.get_user_connection_info_1(f_ibi) for c in connections: if c[4] == ip_address: ibs = IBSManager() if ibs.kill_failed_user(c[2], f_ibi, c[0]): return True return False except Exception as e: print e.message return False
def get_user_name_from_ip(request): ibs = IBSManager() try: ip = get_client_ip(request) res = ibs.get_username_from_ip(ip) failed = read_config('service_failed_users') failed_ids = failed.split(',') tmp_res = None for f in failed_ids: if User.objects.filter(username=res).exists(): u = User.objects.get(username=res) if u.pk == int(f): if IBSUserInfo.objects.filter(user=f).exists(): failed_ibs_id = IBSUserInfo.objects.get(user=f).ibs_uid else: failed_ibs_id = ibs.get_user_id_by_username(res) ras_username = get_username_from_ras( ip, int(failed_ibs_id)) return ras_username else: tmp_res = res else: return None return tmp_res except Exception as e: print e.message res = None return res
def create_internet_account(request): if request.method == 'GET': uid = request.GET.get('u') if not validate_integer(uid): return send_error(request, _('no user selected')) if not User.objects.filter(pk=uid).exists(): return redirect('/') ibs = IBSManager() rnd = ''.join(random.choice(string.lowercase) for i in range(5)) u = User.objects.get(pk=uid) u.is_active = True if not ibs.add_new_user(u.username, rnd, 0): return send_error(request, _('unable to create ibs user')) u.set_password(rnd) u.save() ib_id = ibs.get_user_id_by_username(u.username) ibi = IBSUserInfo() ibi.ibs_uid = int(ib_id) ibi.user = u ibi.save() u.groups.add(Group.objects.get(pk=int(read_config('groups_customer', 1)))) update_ibs_user_from_crm(u.pk) fire_event(4537, u, None, request.user.pk) return redirect('/user/nav/?uid=%s' % uid) else: return redirect('/')
def __import_to_ibs(self): all_users = IBSUserInfo.objects.all() for u in all_users: ibs = IBSManager(username='******') user_id = ibs.get_user_id_by_username(u.user.username) if user_id: self.__update_ibs_user_service(u.user_id, user_id, False) else: print('New User Detected : %s' % u.ibs_uid) ibs_id = create_user_in_ibs(u.user_id, u.user.username, '123456789') self.__update_ibs_user_service(u.user_id, ibs_id, True, True)
def create_user_in_ibs(user_id, username, password): ibs = IBSManager() ibs.add_new_user(username, password, 0) ib_id = ibs.get_user_id_by_username(username) if IBSUserInfo.objects.filter(user_id=user_id).exists(): ibi = IBSUserInfo.objects.filter(user_id=user_id).first() else: ibi = IBSUserInfo() ibi.ibs_uid = int(ib_id) ibi.user_id = int(user_id) ibi.save() update_ibs_user_from_crm(user_id) return ib_id