Exemple #1
0
def recharge():
    """
	充值
	"""
    stripe.api_key = "sk_test_xPY1IwP3MgiPkMlaV8Q76tgt"

    data_amount = session["data_amount"]
    amount = session["amount"]

    customer = stripe.Customer.create(email=current_user.email, card=request.form["stripeToken"])

    try:
        stripe.Charge.create(customer=customer.id, amount=int(data_amount), currency="usd", description=u"账户充值")
    except stripe.CardError as e:
        raise e
    else:
        try:
            ret = UserBiz.recharge(current_user.id, amount, type=Transaction.TYPE.RECHARGE, description=u"用户充值")
        except DaixieError as e:
            raise e

    success(ret)

    session.pop("data_amount", None)
    session.pop("amount", None)

    return redirect(url_for(".home"))
Exemple #2
0
def send_activate_email(id, email):
    '''
    发送验证邮件
    '''
    try:
        ret = UserBiz.send_activate_email(id, email)
        success(ret)
    except DaixieError as e:
        fail(e)    
    return render_template('general/wait_for_activate.html', id=id, email=email)
Exemple #3
0
def check_is_activated(id, flash_msg=False):
    try:
        user = UserBiz.get_user_by_id(id)
        ret = UserBiz.check_is_activated(user)
    except DaixieError as e:
        fail(e)
        UserBiz.user_logout()
        return redirect(url_for('.send_activate_email', id=user.id, email=user.email))
    if flash_msg:
        success(ret)
    return redirect(url_for('user.home'))
Exemple #4
0
def pay(order_id):
	'''
	订单付款
	'''
	try:
		ret = OrderBiz.pay(order_id)
	except DaixieError as e:
		fail(e)
		return j_err(e)

	success(ret)
	return render_template('user/recharge_result.html', order_id=order_id, cuser=current_user, result=ret)
Exemple #5
0
def j_pay():
	'''
	订单付款
	'''
	order_id = request.form['order_id']
	try:
		ret = OrderBiz.pay(order_id)
	except DaixieError as e:
		fail(e)
		return j_err(e)

	success(ret)
	return j_ok(ret)
Exemple #6
0
def profile():
    """
	个人信息
	"""
    form = ProfileForm(obj=current_user)
    if not form.validate_on_submit():
        return render_template("user/setting.html", form=form, nav_profile="active")
    user = current_user
    form.populate_obj(user)
    # 修改个人信息
    try:
        ret = UserBiz.edit_user_profile(user)
        success(ret)
    except DaixieError as e:
        fail(e)
    return redirect(url_for(".profile"))
Exemple #7
0
def register():
    '''
    注册成为普通用户
    '''
    form = RegisterForm()
    if not form.validate_on_submit():
        print form.errors
        return render_template('general/register.html', form=form, nav_register='active')
    user = User(form.email.data, form.passwd.data)

    try:
    	ret = UserBiz.register(user)
    except DaixieError as e:
        fail(e)
    	return render_template('general/register.html', form=form, nav_register='active')        
    success(ret)
    return redirect(url_for('user.profile'))
Exemple #8
0
def profile():
	'''
	个人信息
	'''

	form = ProfileForm(obj=current_user)
	if not form.validate_on_submit():
		return render_template('user/setting.html', cuser= current_user, form=form, nav_profile='active')
	
	user = current_user
	form.populate_obj(user)
	#修改个人信息
	try:
		ret = UserBiz.edit_user_profile(user)
		success(ret)
	except DaixieError as e:
		fail(e)
	return redirect(url_for('.profile'))
Exemple #9
0
def login():
    '''
    登录
    '''
    form = LoginForm()
    if not form.validate_on_submit():
        return render_template('general/login.html', form=form, nav_login='******')
    email = form.email.data
    passwd = form.passwd.data
    #auto = form.auto.data
    auto = True

    user = User(email, passwd)

    try:
        ret = UserBiz.user_login(user, auto)
    except DaixieError as e:
        fail(e)
        return render_template('general/login.html', form=form, nav_login='******')
    success(ret)
    return redirect(url_for('.check_is_activated', id=user.id))
Exemple #10
0
def activate():
    '''
    激活账号
    '''

    email = request.args.get('email')
    timestamp = request.args.get('timestamp')
    token = request.args.get('token')
    id = request.args.get('id')

    try:
        UserBiz.check_link(email, timestamp, token)
    except DaixieError as e:
        return render_template('error.html', message=e.message)

    #以下需要根据id从数据库中取出相应的user,并更新activate字段
    user = UserBiz.get_user_by_id(id)
    ret = UserBiz.activate_user(user)

    url = url_for("user.home")
    success(ret)
    return render_template("general/activate_ok.html", url=url)
Exemple #11
0
def recharge():
	'''
	Create charge using token.id and return result.
	'''
	amount = float(request.form['amount'])
	data_amount = int(amount*100)
	print data_amount

	customer = stripe.Customer.create(
		email=current_user.email,
		card=request.form['stripeToken']
	)

	try:
		stripe.Charge.create(
			customer=customer.id,
			amount= data_amount,
			currency='usd',
			description=u'账户充值'
			)
	except stripe.CardError as e:
		return render_template('user/recharge_result.html', cuser=current_user, result=e.message)
	except stripe.InvalidRequestError as e:
		print e.message
		return render_template('user/recharge_result.html', cuser=current_user, result=e.message)		
	else:
		try:
			ret = UserBiz.recharge(current_user.id, amount, type=Transaction.TYPE.RECHARGE, description=u'用户充值')
		except DaixieError as e:
			return render_template('user/recharge_result.html', cuser=current_user, result=e)

	success(ret)

	session.pop('data_amount', None)
	session.pop('amount', None)

	return render_template('user/recharge_result.html', cuser=current_user, result=ret)