Esempio n. 1
0
def api():
    uid = _apikeyvalidate(g.db,request.args.get('key', 0))
    if uid == 0:
        abort(404)
    type = request.args.get('t', 0)
    if type == 'A':         #add order
        contract_id = request.args.get('cid', 0,type=int)
        b_s = request.args.get('bs', 0)
        point = request.args.get('pt', 0)
        lots =  request.args.get('lt', 0,type=int)
        res = _add_order(g.db,uid,contract_id,b_s,point,lots,'S')
        return jsonify(res)
    elif type == 'C':       #cancel order
        orderid = request.args.get('oid', 0)
        res = _cancel_order(g.db,uid,orderid)
        return jsonify(res)
    elif type == 'O':       #get orderlist
        res = _update_user(g.db,{'user_id':uid},['orders'])
        return jsonify(res)
    elif type == 'U':       #Update server
        contract_id = request.args.get('cid', 0,type=int)
        _update_contract(g.db,contract_id,'D')
        return jsonify({'category':'suc'})
    else:
        abort(404)
Esempio n. 2
0
def data():
    t = request.args.get('t', 'cl')
    n = request.args.get('n', 0,type=int)
    if t == 'cl':
        return jsonify(gv_contlist)
    elif t=='c':
        if n in gv_contract:
            return jsonify({'data':gv_contract[n]['M'],'name':gv_contract[n]['name']})
        else:
            abort(404)
    elif t=='tc':
        #return 1
        if n in gv_contract:
            return jsonify(gv_contract[n])
        else:
            abort(404)
    elif t=='u':
        if 'user_id' not in session:
            abort(404)
        return jsonify(_update_user(g.db,session,['orders','positions']))
    elif t=='ua':
        if 'user_id' not in session:
            abort(404)
        return jsonify(_update_usergl(g.db,session['user_id'],n))
    elif t=='test':
        return jsonify(request.headers)
Esempio n. 3
0
def trade():
    if 'user_id' not in session:
        return redirect(url_for('home'))
    if request.method == 'POST':
        #---Add order---
        res = _add_order(g.db,session['user_id'],long(request.form['contract_id']),request.form['b_s'], request.form['point'], request.form['lots'])
        session['bs'] = request.form['b_s']
        flash(res['msg'],res['category'])
        if res['category'] == 'suc':
            if 'Deal' in res['msg']:
                _update_contract(g.db,request.form['contract_id'],'D')
            else:
                _update_contract(g.db,request.form['contract_id'],'C')
        return redirect(url_for('trade',c=request.form['contract_id']))
    else:
        co = request.args.get('co', 0,type=int)
        contract_id = request.args.get('c', 0, type=int)
        if co >= 1:   #Cancel order
            res = _cancel_order(g.db,session['user_id'],co)
            flash(res['msg'],res['category'])
            _update_contract(g.db,contract_id,'C')
            return redirect(url_for('trade',c=contract_id))
        else:
            g.u = _update_user(g.db,session,[])
            if contract_id == 0 and 'latestcont' in session:
                contract_id = session['latestcont']
            return render_template('trade.html',default_cid = contract_id )
Esempio n. 4
0
def bitcoin():
    if 'user_id' not in session:
        return redirect(url_for('home'))
    if request.method == 'POST':
        res = _btc_withdraw(g.db,session['email'],request.form['address'],request.form['amount'],request.form['password'],request.form['cpassword'])
        flash(res['msg'],res['category'])
    g.u=_update_user(g.db,session,['address','btctrans','info'])
    tab = request.args.get('tab', 0)
    return render_template('bitcoin.html',tab=tab)
Esempio n. 5
0
def register():
    g.u = _update_user(g.db,session)
    if request.method == 'POST':
        response = captcha.submit(
            request.form['recaptcha_challenge_field'],
            request.form['recaptcha_response_field'],
            app.config['RECAP']['private_key'],
            request.remote_addr,
        )
        if not response.is_valid:
            flash('Incorrect recaptcha','err')
        elif not validateEmail(request.form['username']):
            flash('Not validate Email','err')
        elif request.form['password'] <> request.form['password2']:
            flash('Password not Match','err')
        elif len(request.form['password']) < 6:
            flash('Password too Short','err')
        else:
            res = _createuser(g.db,request.form['username'],request.form['password'],request.form['referrer'])
            if res == True:
                _send_mail(request.form['username'],render_template("email/activate.html",para={'user': request.form['username'].split('@')[0].upper(),
                        'url':url_for('register',v=_activecode(g.db,request.form['username']))}))
                    #'activate',{'url':request.url_root+url_for('register',v=_activecode(g.db,request.form['username']))})
                flash('New Account was successfully created','suc')
                return render_template('register.html',type='C',email=request.form['username'])
            else:
                flash(res,'err')
    else:
        session.pop('user_id', None)
        vcode = request.args.get('v', False)
        if vcode:
            res = _activeuser(g.db,vcode)
            if res is not False:
                flash('Your account had been activated.','suc')
                session['user_id'] = res[0]
                session['email'] = res[1]
                return render_template('register.html',type='A')
            else:
                abort(401)
        rcode = request.args.get('r', False)
        ref = _dercode(rcode)
        session.update(ref)
    return render_template('register.html',type='O',capthtml=captcha.displayhtml(app.config['RECAP']['public_key'],True))
Esempio n. 6
0
def market():
    g.u=_update_user(g.db,session)
    tab = request.args.get('tab', 0)
    return render_template('market.html',tab=tab)
Esempio n. 7
0
def account():
    if 'user_id' not in session:
        return redirect(url_for('home'))
    if request.method == 'POST':
        type = request.args.get('t', 0)
        if type == 'P':         #reset password
            if _loginuser(g.db,session['email'],request.form['opassword']):
                _update_pass(g.db,session['email'],request.form['password'])
                msg = dict(msg = 'Password Changed Successfully.',type ='suc')
            else:
                msg = dict(msg='Orignal Password Not Match.',type = 'err')
            return jsonify(msg)
        elif type == 'Q':       #reset capital password
            if _vali_cpass(g.db,session['email'],request.form['opassword']):
                _update_cpass(g.db,session['email'],request.form['password'])
                if request.form['opassword'] == "not set yet":
                    flash('Capital Password Set Successfully.','suc')
                    return jsonify({'goto':url_for("account",tab=3)})
                msg = dict(msg = 'Capital Password Changed Successfully.',type ='suc')
            else:
                msg = dict(msg='Orignal Capital Password Not Match.',type = 'err')
            return jsonify(msg)
        elif type == 'E':       #resend email
            _send_mail(session['email'],render_template("email/activate.html",para={'user': session['email'].split('@')[0].upper(),
                            'url':url_for('register',v=_activecode(g.db,session['email']))}))
            #_send_mail(session['email'],'activate',{'url':request.url_root+url_for('register',v=_activecode(g.db,session['email']))})
            msg = dict(msg='Validate Email sent successfully',type = 'suc')
            return jsonify(msg)
        elif type == 'I':       #invite email
            if not validateEmail(request.form['email']):
                flash('Not validate Email','err')
            elif _change_invitenum(g.db,session['user_id'],-1):

                _send_mail(request.form['email'],render_template("email/invite.html",para={'user': request.form['email'].split('@')[0].upper(),
                                        'url':url_for('register',r = _enrcode(session['user_id'],request.form['email'])),'refer':session['email'].split('@')[0].upper()}))

                flash('Invite Email Sent.','suc')
                return jsonify({'goto':url_for("account",tab=0)})
            else:
                msg = dict(msg='Not Enough Email Invite.',type = 'err')
                return jsonify(msg)

        elif type in ['C','D','S']:       #new ,modify and settle contract

            cid = long(request.form['id'])
            if cid == 0 or gv_contract[cid]['owner'] == session['email']:
                if type == 'C':
                    msg,cid = _modify_cont(g.db,cid,request.form['code'],request.form['btc_multi'],request.form['opendate'],request.form['opentime'],request.form['settledate'],request.form['settletime'],request.form['leverage'],\
                        request.form['fullname'],session['user_id'],request.form['twitter_id'],request.form['write_fee'],request.form['region'],request.form['sector'],request.form['description'],request.form['movelimit'])
                elif type == 'D':   #delete
                    msg = _delete_cont(g.db,cid)
                elif type == 'S':   #settle
                    msg = _settle_cont(g.db,cid,request.form['settlepoint'],request.form['settleproof'])

            else:
                msg = dict(msg='Contract Owner Not Match.',type = 'err')
            if msg['type'] == 'suc':
                flash(msg['msg'],msg['type'])
                _update_contract(g.db,cid,'D')
                return jsonify({'goto':url_for("account",tab=2)})
            else:
                return jsonify(msg)

    g.u=_update_user(g.db,session,['positions','info','rtvol','log'])
    tab = request.args.get('tab', 0)
    return render_template('account.html',tab=tab)