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)
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)
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)
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)
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)