本文整理汇总了Python中models.Transaction.counter_party方法的典型用法代码示例。如果您正苦于以下问题:Python Transaction.counter_party方法的具体用法?Python Transaction.counter_party怎么用?Python Transaction.counter_party使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Transaction
的用法示例。
在下文中一共展示了Transaction.counter_party方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: add_balance
# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import counter_party [as 别名]
def add_balance():
"""For GET requests, display the login form. For POSTS, login the current user
by processing the form."""
form = BalanceForm()
if form.validate_on_submit():
user = User.query.get(form.email.data)
if user:
if user.balance is None:
user.balance = UserBalance()
user.balance.amount = 0.0
user.balance.amount += form.amount.data
txn_id = str(uuid.uuid4())[:8]
reason = "ABU - Admin Balance update"
credit_transaction = Transaction()
credit_transaction.txn_id = txn_id
credit_transaction.party = form.email.data
credit_transaction.counter_party = "Admin"
credit_transaction.amount = form.amount.data
credit_transaction.type = 'Cr'
credit_transaction.reason = reason
db.session.add(user.balance)
db.session.add(credit_transaction)
db.session.commit()
return redirect(url_for("user_page"))
else:
flash('Invalid User Id')
return render_template("add_balance.html", form=form)
示例2: charge_players
# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import counter_party [as 别名]
def charge_players():
"""For GET requests, display the login form. For POSTS, login the current user
by processing the form."""
form = ChargePlayersForm()
if form.validate_on_submit():
date_str = form.play_date.data
total_amount = form.total_amount.data
reason = form.reason.data
play_date = parser.parse(date_str).date()
played_date = PlayScheduledDates.query.filter(PlayScheduledDates.play_date==play_date).first()
attending_players = [ attendee for attendee in played_date.attendees if attendee.status=='Yes']
total_players = len(attending_players) if len(attending_players) else 1
amount_per_head = total_amount/float(total_players)
low_balance_users = {}
for attendee in attending_players:
user = User.query.get(attendee.attendee_email)
if user:
user.debit_balance(amount_per_head)
txn_id = str(uuid.uuid4())[:8]
debit_transaction = Transaction()
debit_transaction.txn_id = txn_id
debit_transaction.party = user.email
debit_transaction.counter_party = "Admin"
debit_transaction.amount = -amount_per_head
debit_transaction.type = 'Dr'
debit_transaction.reason = reason
db.session.add(debit_transaction)
db.session.add(user)
if user.get_balance() < 10 :
low_balance_users[user.email] = (user.first_name, user.get_balance())
played_date.is_charged = True;
db.session.commit()
send_bulk_emails(low_balance_users)
return redirect(url_for("user_page"))
return render_template("charge_players.html", form=form)
示例3: send_money
# 需要导入模块: from models import Transaction [as 别名]
# 或者: from models.Transaction import counter_party [as 别名]
def send_money():
"""For GET requests, display the login form. For POSTS, login the current user
by processing the form."""
form = PayForm()
if form.validate_on_submit():
transaction_amount = form.amount.data
sender = current_user
receiver = User.query.get(form.receiver_email.data)
if receiver is None:
flash('Receiver Does Not exist in system')
return render_template("pay.html", form=form)
if sender.balance is None or sender.balance.amount < transaction_amount:
flash('You have insufficient balance')
return render_template("pay.html", form=form)
if transaction_amount <= 0:
flash('Wrong amount entered')
return render_template("pay.html", form=form)
if sender.email == receiver.email:
flash('Sender and Receiver Cant be same')
return render_template("pay.html", form=form)
sender.debit_balance(transaction_amount)
receiver.credit_balance(transaction_amount)
txn_id = str(uuid.uuid4())[:8]
reason = "SNM - Send Money"
debit_transaction = Transaction()
debit_transaction.txn_id = txn_id
debit_transaction.party = sender.email
debit_transaction.counter_party = receiver.email
debit_transaction.amount = -transaction_amount
debit_transaction.type = 'Dr'
debit_transaction.reason = reason
credit_transaction = Transaction()
credit_transaction.txn_id = txn_id
credit_transaction.party = receiver.email
credit_transaction.counter_party = sender.email
credit_transaction.amount = transaction_amount
credit_transaction.type = 'Cr'
credit_transaction.reason = reason
db.session.add(sender.balance)
db.session.add(receiver.balance)
db.session.add(debit_transaction)
db.session.add(credit_transaction)
db.session.commit()
if current_user.get_balance() < 10 :
send_low_balance_email(current_user.email, current_user.first_name, current_user.get_balance())
return redirect(url_for("user_page"))
return render_template("send_money.html", form=form)