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