コード例 #1
0
ファイル: ChargeService.py プロジェクト: sauditore/FCRM
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
コード例 #2
0
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
コード例 #3
0
ファイル: UserSummery.py プロジェクト: sauditore/FCRM
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('/')
コード例 #4
0
 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)
コード例 #5
0
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