示例#1
0
def index():

    #common.page_stats(db, response['view'])
    #print request.args

    response.title = T(
        "Обмен биткоинов криптовалют на электронные деньги Яндекс")
    response.subtitle = T('Dogecoin Litecoin NEXT')

    if False and session.date_log:
        d_diff = datetime.datetime.today() - session.date_log
        if d_diff.seconds > 1200:
            session.date_log = None
            session.YD_acc = '-'

    acc = session.toDlrAcc
    title = acc and T(
        'Ваш кошелек') + ':' + acc[:3] + '***' + acc[-3:] or response.title
    subtitle = session.date_log and (T('Дата посещения %s') %
                                     session.date_log) or response.subtitle

    try:
        session.date_log = request.now
    except:
        print 'to_wallet session error .date_log:', type(
            request.now), request.now

    # берем только тех кто за рубли и для этого дела
    # причем по 1 аккаунту на диллера тут нужно - для писка
    # какой диллер вообще на кошельки принимает
    ed_name = None
    if request.vars:
        vn = 'ed'
        if vn in request.vars:
            ed_name = request.vars[vn]

    limit_bal, inp_dealers_tab = ed_common.get_edealers_for_to_wallet(
        db, deal, curr_out, ecurr_out_id, ed_name)

    if len(inp_dealers_tab) == 0:
        return err_dict(
            T('ОШИБКА: Нет доступных диллеров') +
            (ed_name and
             (' ' +
              T('или неправильно задано имя [%s] системы электронных денег!') %
              ed_name) or ''))

    inp_dealers = []
    for r in inp_dealers_tab:
        inp_dealers.append(
            [r[0], ('%s [%s], ' + T('доступно') + ' %s, %s...%s') % r[1]])

    from gluon.storage import Storage
    vars = Storage()
    if request.vars:
        vn = 'sum'
        if vn in request.vars:
            vars[vn] = test_vol(request.vars[vn])
        vn = 'acc'
        if vn in request.vars:
            acc = request.vars[vn]
            vars[vn] = acc
            if not ed_name:
                return err_dict(
                    T("ОШИБКА: Не задано имя системы электронных денег для данного кошелька %s! Пример ссылки: %s?ed=yandex&sum=1500&acc=423456780345"
                      ) % (acc, URL()), True)
        vn = 'mess'
        if 'mess' in request.vars:
            vars[vn] = request.vars[vn]

    h = CAT()
    dealer = None
    for rr in db_client.get_xcurrs_for_deal(db, 0, curr_out, deal, dealer):
        #print rr
        id = '%s' % rr['id']
        disabled = rr['expired']
        if disabled:
            memo = CAT(
                T('Курс не найден'), ', ',
                T('Когда курс будет получен платеж пройдёт автоматически'),
                '. ', T('Или попробуйте зайти позже'))
            _class = 'col sel_xcurrNRT'
        else:
            memo = CAT(
                SPAN(' ', T('по курсу'), (' %8g' % rr['price']), ' ',
                     T(' нужно оплатить около')), ' ',
                B(SPAN(_class='pay_vol')), ' ', rr['name'])
            _class = 'col sel_xcurrRTE'

        # пусть клики все равно будут
        onclick = '''
                      //$(this).css('z-index','0');
                      $('#tag%s').hide('fast');
                      $('#cvr%s').css('display','block'); // .css('z-index','10');
                      ajax('%s',['vol','acc','dealer'], 'tag%s');
                      ''' % (id, id, URL('get', args=[id]), id)
        #print rr
        h += DIV(
            DIV(
                DIV(
                    #T('Есть'), ': ', rr['bal_out'],' ',
                    IMG(_src=URL('static',
                                 'images/currs/' + rr['abbrev'] + '.png'),
                        _width=60,
                        __height=36,
                        _class='lst_icon',
                        _id='lst_icon' + id),
                    SPAN(rr['price'], _class='price hidden'),
                    SPAN(rr['abbrev'], _class='abbrev hidden'),
                    memo,
                    '. ',
                    SPAN(T('Всего было продаж:'), rr['used'], _class='small'),
                    _onclick=onclick if onclick else '',
                    _id='btn%s' % id,
                    _class=_class,
                ),
                DIV(TAG.i(_class='fa fa-spin fa-spinner right wait1'),
                    _id='cvr%s' % id,
                    _class='col sel_xcurrCVR'),
                _class='row sel_xcurr'),
            _class='container')
        h += DIV(_id='tag%s' % id, _class='blue-c')
    xcurrs_h = h

    _, reclams = recl.get(db, 2)

    #response.top_line = None

    return dict(
        title=title,
        subtitle=subtitle,
        acc=acc,
        inp_dealers=inp_dealers,
        limit_bal=limit_bal,
        # это для ограничения в поле ввода и пересчета в нем
        MIN=db_common.gMIN(deal, None),
        MAX=int(deal.MAX_pay or 2555),
        vars=vars,
        xcurrs_h=xcurrs_h,
        reclams=reclams)
示例#2
0
def sel():

    addr_out = None

    h = CAT(SCRIPT('''
        $('.btn_sel').removeClass('disabled');
        $('html, body').animate( { scrollTop: $('#sel').offset().top - $('#aside1').height() }, 500 );
      '''))
    try:
        curr_out_id = request.args(0)
        curr_out_id = curr_out_id and int(curr_out_id)
        curr_out = db.currs[ curr_out_id ]
        curr_out_name = curr_out.name
    except:
        return h+'error curr_id'

    deal_name = 'to COIN'
    deal = db(db.deals.name == deal_name).select().first()
    if deal:
        deal_id = deal.id
    else:
        curr_rub = db(db.currs.abbrev=='RUB').select().first()
        deal_id = db.deals.insert(name = deal_name, name2 = deal_name, fee_curr_id = curr_rub.id,
                used = False, fee = 1, MIN_pay = 0, MAX_pay = 0)
        deal = db.deals[ deal_id ]

    from gluon.storage import Storage
    vars = Storage()
    if request.vars:
        vn = 'vol'
        if vn in request.vars:
            vars[vn] = test_vol(request.vars[vn])
        vn = 'addr'
        if vn in request.vars:
            addr_out = request.vars[vn]
            vars[vn] = addr_out
    
    dealer = None
    for rr in db_client.get_xcurrs_for_deal(db, 0, curr_out, deal, dealer):
        if rr['id'] == curr_out.id: continue
        #print rr
        id = '%s' % rr['id']
        disabled = rr['expired']
        if disabled:
            memo = CAT(T('Курс не найден'),', ', T('Когда курс будет получен платеж пройдёт автоматически'), '. ', T('Или попробуйте зайти позже'))
            _class = 'col sel_xcurrNRT'
        else:
            memo = CAT(SPAN(' ', T('по курсу'),  (' %8g' % rr['price']), ' ', T(' нужно оплатить около')),' ',
                    B(SPAN(_class='pay_vol')), ' ', rr['name'])
            _class = 'col sel_xcurrRTE'

        # пусть клики все равно будут
        onclick='''
                      //$(this).css('z-index','0');
                      $('#tag%s').hide('fast');
                      $('#cvr%s').css('display','block'); // .css('z-index','10');
                      ajax('%s',['vol','addr','curr_out'], 'tag%s');
                      ''' % (id, id, URL('get', args=[deal_id, id]), id)
        #print rr
        h += DIV(
            DIV(
                DIV(
                    #T('Есть'), ': ', rr['bal_out'],' ',
                    IMG(_src=URL('static','images/currs/' + rr['abbrev'] + '.png'),
                      _width=60, __height=36, _class='lst_icon', _id='lst_icon' + id),
                    SPAN(rr['price'], _class='price hidden'),
                    SPAN(rr['abbrev'], _class='abbrev hidden'),
                    memo,
                    '. ', SPAN(T('Всего было продаж:'), rr['used'], _class='small'),
                    _onclick=onclick if onclick else '',
                    _id='btn%s' % id,
                    _class=_class,
                ),
              DIV(TAG.i(_class='fa fa-spin fa-spinner right wait1'),
                  _id='cvr%s' % id,
                  _class='col sel_xcurrCVR'),
              _class='row sel_xcurr'),
            _class='container')
        h += DIV(_id='tag%s' % id, _class='blue-c')

    _, reclams = recl.get(db,2)

    #response.top_line = None
    return dict(curr_out_id = curr_out_id, addr=addr_out,
                img_url = URL('static','images/currs/' +  curr_out.abbrev + '.png'),
                curr_out_name = curr_out_name,
                vars=vars,
                xcurrs_h=h, reclams=reclams)
示例#3
0
def index():

    #raise HTTP(200, T('на переработке'))
    #common.page_stats(db, response['view'])

    response.title = T("Купить биткоины криптовалюту за электронные деньги")
    response.subtitle = T("Быстро, надежно и удобно")

    if False and session.date_log:
        d_diff = datetime.datetime.today() - session.date_log
        if d_diff.seconds > 1200:
            session.date_log = None
            session.addr_buy = None

    addr = session.buyAddr
    title = addr and T('Ваш кошелек') + ':' + addr[:3] + '****' + addr[
        -3:] or response.title or ''
    subtitle = addr and T(
        'Дата посещения %s') % session.date_log or response.subtitle or ''

    try:
        session.date_log = request.now
    except:
        print 'to_buy session error .date_log:', type(request.now), request.now

    # берем только тех кто за рубли и для этого дела
    # причем по 1 аккаунту на диллера тут нужно - для писка
    # какой диллер вообще на кошельки принимает
    ecurr_in_id = ecurr.id
    #print ecurr_in_id
    inp_dealers = []
    for r in db((db.dealers.id == db.dealers_accs.dealer_id)
                & (db.dealers_accs.ecurr_id == ecurr_in_id)
                & (db.dealers_accs.used == True)
                & (db.dealers.used == True)).select(db.dealers.ALL,
                                                    groupby=db.dealers.id):
        MIN = db_common.gMIN(deal, r.dealers)
        ##MAX = db_common.gMAX(deal, r.dealers)
        inp_dealers.append([
            r.dealers.id,
            '%s [%s] %s...%s' % (r.dealers.name, curr_in.abbrev, MIN, MAX)
        ])

    #print dd
    if len(inp_dealers) == 0:
        # ошибка какаято что нет диллера
        return err_dict(
            T('Не найден диллер для выплаты, просьба сообщить об ошибке в службу поддержки!'
              ))

    xcurrs = db_client.get_xcurrs_for_buy(db, curr_in, deal)
    h = CAT()
    for rr in xcurrs:
        #print rr
        id = '%s' % rr['id']
        disabled = rr['expired']
        if disabled:
            memo = CAT(
                T('Курс не найден'), ', ',
                T('Когда курс будет получен платеж пройдёт автоматически'),
                '. ', T('Или попробуйте зайти позже'))
            _class = 'col sel_xcurrNRT'
        else:
            memo = CAT(
                ' ',
                T('по курсу'),
                B(' %8g' % rr['price']),
                ', ',  #' =', rr['price'] * rr['bal_out'],
                T('это около'),
                ' ',
                int(rr['price'] * float(rr['bal_out'])),
                #curr_in.abbrev,
                TAG.i(_class='fa fa-rub blue-c'),
                ', ',
                ' а Вы хотите купить около ',
                B(SPAN(_class='pay_vol')),
                ' ',
                rr['name'])
            _class = 'col sel_xcurrRTE'

        # пусть клики все равно будут
        onclick = '''
                      //$(this).css('z-index','0');
                      $('#tag%s').hide('fast');
                      $('#cvr%s').css('display','block'); // .css('z-index','10');
                      ajax('%s',['vol', 'wallet','dealer'], 'tag%s');
                      ''' % (id, id, URL('get', args=[id]), id)
        #print r
        h += DIV(
            DIV(
                DIV(
                    IMG(_src=URL('static',
                                 'images/currs/' + rr['abbrev'] + '.png'),
                        _width=60,
                        __height=36,
                        _class='lst_icon',
                        _id='lst_icon' + id),
                    ' ',
                    T('есть'),
                    ' ',
                    B(rr['bal_out']),
                    ' ',
                    SPAN(rr['price'], _class='price hidden'),
                    SPAN(rr['abbrev'], _class='abbrev hidden'),
                    memo,
                    #' ', SPAN(T('Всего покупок:'), rr['used']),
                    #if rr['expired'] else ''
                    _onclick=onclick if onclick else '',
                    #_style=style,
                    _id='btn%s' % id,
                    _class=_class,
                ),
                DIV(
                    TAG.i(_class='fa fa-spin fa-spinner right wait1'),
                    _id='cvr%s' % id,
                    _class='col sel_xcurrCVR',
                ),
                _class='row sel_xcurr',
            ),
            _class='container')
        h += DIV(_id='tag%s' % id, _class='blue-c')
    xcurrs_h = h

    _, reclams = recl.get(db, 2)
    #response.top_line = None

    return dict(title=title,
                subtitle=subtitle,
                inp_dealers=inp_dealers,
                MIN=MIN,
                MAX=MAX,
                xcurrs_h=xcurrs_h,
                reclams=reclams)
示例#4
0
def index():

    response.title = T("Перевод криптоденег в электронные деньги")

    if session.visitor_date_log:
        d_diff = datetime.datetime.today() - session.visitor_date_log
        if d_diff.seconds > 1200:
            session.visitor_date_log = None
            session.visitor_wallet = '-'

    h = CAT()

    for ecurr_out in db(db.ecurrs).select():
        curr = db.currs[ecurr_out.curr_id]
        hh = CAT(
            H3(
                IMG(_src=URL('default', 'download', args=['db', curr.icon]),
                    _width=42,
                    _height=42,
                    _class='lst_icon',
                    _id='lst_icon%s' % id),
                curr.name,
                ' ',
                INPUT(_name=curr.abbrev, _value='123'),
            ))
        for r in db((db.dealers_accs.ecurr_id == ecurr_out.id)
                    & (db.dealers_accs.used == True)
                    & (db.dealers.id == db.dealers_accs.dealer_id)
                    & (db.dealers.used == True)
                    & (db.dealer_deals.dealer_id == db.dealers.id)
                    & (db.dealer_deals.deal_id == deal.id)).select(
                        groupby=db.dealers_accs.dealer_id):

            min = 10
            dealer_acc = ed_common.sel_acc_max(db, r.dealers, ecurr_out, 0,
                                               True)
            bal, max = get_e_bal(deal, r.dealers, dealer_acc)

            _id = r.dealers.id
            tag = 'tag%s' % _id
            url = URL('to_wallet2', 'go2', args=[curr.id, _id])
            st = 'display: table-cell; vertical-align: middle;'
            fee = curr.fee_out
            tax = r.dealer_deals.tax + curr.tax_out

            hh += DIV(
                u(
                    r.dealers.name,
                    #URL('to_wallet2', 'go1', args=[curr.id, r.dealers.id]),
                    None,
                    'col-sm-5',
                    onclick="$('#%s').text('%s');ajax('%s', ['%s'], '%s')" %
                    (tag, T('Working...'), url, curr.abbrev, tag)),
                DIV(T('Min / Max'),
                    ': ',
                    min,
                    ' / ',
                    max,
                    BR(),
                    T('Is:'),
                    ' ',
                    bal,
                    BR(),
                    T('Fee & Tax'),
                    ' - ',
                    fee,
                    ' & ',
                    tax,
                    '%',
                    _class='btn_mc col-sm-5'),
                _class='row')
            hh += DIV(_id=tag, _class='row')
        h += hh

    return dict(h=h)

    if len(dd) == 0:
        response.subtitle = T("ОШИБКА: Нет подходящих работников!")
        return dict(vars=None)

    ed_sel = SELECT(dd, value='1', _name='dealer')

    volume_out = float(100)
    pairs = db_client.get_xcurrs_for_deal(db, volume_out, curr_out, deal, None)

    vars = {
        'phone': session.visitor_wallet or None,
        #'mess' = request.args,
        'MIN': deal.MIN_pay or 3,
        'MAX': deal.MAX_pay or 1333,
        'ed_sel': ed_sel,
        'last_visit': session.visitor_date_log
    }
    wallet = None
    if request.vars:
        vn = 'sum'
        if vn in request.vars:
            vars[vn] = request.vars[vn]
        vn = 'wallet'
        if vn in request.vars:
            wallet = request.vars[vn]
            vars[vn] = wallet
            if not ed_name:
                response.subtitle = T(
                    "ОШИБКА: Не задано имя системы электронных денег для данного кошелька %s!"
                ) % wallet
                return dict(vars=None)

        vn = 'mess'
        if 'mess' in request.vars:
            vars[vn] = request.vars[vn]

    title1 = wallet and T('Оплата на %s') % ed_name or T('Ваш кошелек')
    wallet = wallet or session.visitor_wallet or None
    if wallet:
        response.title = title1 + ':' + wallet[:3] + '****' + wallet[-3:]

    #print request.args
    if len(request.args) > 0: response.flash = ERRS[request.args[0]]

    _, reclams = recl.get(db, 2)

    # тут балансы у разных диллеров vars['e_bal'] = get_e_bal(deal, dealer, dealer_acc)

    return dict(reclams=reclams, vars=vars, xcurrs_list=pairs)
示例#5
0
def index():

    #common.page_stats(db, response['view'])

    response.title = T("Пополнить биткоинами телефон")
    response.subtitle = T('Оплатить телефон биткоинами')

    if False and session.date_log:
        d_diff = datetime.datetime.today() - session.date_log
        if d_diff.seconds > 1200:
            session.date_log = None
            session.toPhone = None

    #print request.vars
    if request.vars:
        #print 'reset'
        vol = test_vol(request.vars.sum)
        session.vol = vol if vol else None
        phone = request.vars.phone
        phone = phone and valid_phone(phone)
        print phone
        if phone: session.toPhone = phone
    else:
        phone = session.toPhone

    ##print 'phone, session.phone:', phone, session.toPhone
    if phone and len(phone) == 10:
        phone = session.toPhone = '7' + phone
    title = phone and CAT(
        T('Ваш телефон') + ':' + phone[:3] + '***' + phone[-3:] + ' ',
        SPAN(response.title, _class='small')) or response.title
    subtitle = session.date_log and (T('Дата посещения %s') %
                                     session.date_log) or response.subtitle

    try:
        session.date_log = request.now
    except:
        print 'to_phone session error .date_log:', type(
            request.now), request.now

    h = CAT()
    hh = CAT(H1(response.title), response.subtitle and H3(response.subtitle)
             or '')
    h += DIV(hh, _class='container')

    phone_deal7 = phone
    if phone and len(phone) == 11 and phone[0] == '7':
        phone_deal7 = phone[1:]

    h = CAT()
    for rr in db_client.get_xcurrs_for_deal(db, 0, curr_out, deal, dealer):
        #print row
        id = '%s' % rr['id']
        disabled = rr['expired']
        #bgc = 'gold'
        if disabled:
            memo = CAT(
                T('Курс не найден'), ', ',
                T('Когда курс будет получен платеж пройдёт автоматически'),
                '. ', T('Или попробуйте зайти позже'))
            _class = 'col sel_xcurrNRT'
        else:
            memo = CAT(
                SPAN(' ', T('по курсу'), (' %8g' % rr['price']), ' ',
                     T('нужно оплатить примерно')), ' ',
                B(SPAN(_class='pay_vol')), ' ', rr['name'])
            _class = 'col sel_xcurrRTE'

        # пусть клики все равно будут
        onclick = '''
                      //$(this).css('z-index','0');
                      $('#tag%s').hide('fast');
                      $('#cvr%s').css('display','block'); // .css('z-index','10');
                      ajax('%s',['vol', 'phone', 'gift_cod'], 'tag%s');
                      ''' % (id, id, URL('get', args=[id]), id)
        #print row
        h += DIV(
            DIV(
                DIV(
                    #T('Есть'), ': ', rr['bal_out'],' ',
                    IMG(_src=URL('static',
                                 'images/currs/' + rr['abbrev'] + '.png'),
                        _width=60,
                        __height=36,
                        _class='lst_icon',
                        _id='lst_icon' + id),
                    SPAN(rr['price'], _class='price hidden'),
                    SPAN(rr['abbrev'], _class='abbrev hidden'),
                    memo,
                    '. ',
                    SPAN(T('Всего было оплат:'), rr['used'], _class='small'),
                    _onclick=onclick if onclick else '',
                    #_style=style,
                    _id='btn%s' % id,
                    _class=_class,
                ),
                DIV(TAG.i(_class='fa fa-spin fa-spinner right wait1'),
                    _id='cvr%s' % id,
                    _class='col sel_xcurrCVR'),
                _class='row sel_xcurr'),
            _class='container')
        h += DIV(_id='tag%s' % id, _class='blue-c')
    xcurrs_h = h

    import recl
    _, reclams = recl.get(db, 2)
    '''
    response.top_line = DIV(
        TAG.center(tl),
        _id="top_line")
    '''
    response.top_line = None

    return dict(title=title,
                subtitle=subtitle,
                MIN=MIN,
                MAX=MAX,
                phone_deal7=phone_deal7,
                free_bal=free_bal,
                xcurrs_h=xcurrs_h,
                reclams=reclams)