本文整理汇总了Python中models.users.Users.get_connections方法的典型用法代码示例。如果您正苦于以下问题:Python Users.get_connections方法的具体用法?Python Users.get_connections怎么用?Python Users.get_connections使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.users.Users
的用法示例。
在下文中一共展示了Users.get_connections方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: index
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def index(direction=None, user=None, date=None, page=1, items_per_page=10):
'''List loans user has with other users'''
current_user_id = session.get('logged_in_user')
our_loans = Loans(current_user_id)
our_users = Users(current_user_id)
# fetch loans
loans = our_loans.get_loans()
# fetch users from connections from us
users = our_users.get_connections()
# provided user?
if user:
# valid slug?
user_id = our_users.is_connection(slug=user)
if user_id: loans = our_loans.get_loans(user_id=user_id)
# provided a date range?
date_range = translate_date_range(date)
if date_range:
loans = our_loans.get_loans(date_from=date_range['low'], date_to=date_range['high'])
# date ranges for the template
date_ranges = get_date_ranges()
# provided a direction?
if direction: loans = our_loans.get_loans(direction=direction)
# build a paginator
paginator = Pagination(loans, page, items_per_page, loans.count(),
loans.offset((page - 1) * items_per_page).limit(items_per_page))
return render_template('admin_show_loans.html', **locals())
示例2: export
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def export(direction=None, user=None, date=None):
'''Export loan entries'''
current_user_id = session.get('logged_in_user')
our_loans = Loans(current_user_id)
our_users = Users(current_user_id)
# fetch loans
loans = our_loans.get_loans()
# fetch users from connections from us
users = our_users.get_connections()
# provided user?
if user:
# valid slug?
user_id = our_users.is_connection(slug=user)
if user_id: loans = our_loans.get_loans(user_id=user_id)
# provided a date range?
date_range = translate_date_range(date)
if date_range:
loans = our_loans.get_loans(date_from=date_range['low'], date_to=date_range['high'])
# date ranges for the template
date_ranges = get_date_ranges()
# provided a direction?
if direction: loans = our_loans.get_loans(direction=direction)
response = make_response(render_template('admin_export_loans.html', **locals()))
response.headers['Content-type'] = 'text/csv'
response.headers['Content-disposition'] = 'attachment;filename=' + 'loans-' + str(today_date()) + '.csv'
return response
示例3: give
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def give():
'''Give a loan or pay someone back'''
current_user_id = session.get('logged_in_user')
our_accounts = Accounts(current_user_id)
if request.method == 'POST':
dict = __validate_give_loan_form()
for key in dict.keys(): exec(key + " = dict['" + key + "']")
# 'heavier' checks
if not error:
# valid amount?
if is_float(amount):
# valid date?
if is_date(date):
# valid account?
if our_accounts.is_account(account_id=deduct_from_account):
# add our loans entry
our_loans = Loans(current_user_id)
our_loan_id = our_loans.add_loan(other_user_id=to_user, date=date, account_id=deduct_from_account,
description=description, amount=-float(amount))
# add their loans entry
their_loans = Loans(to_user)
their_loan_id = their_loans.add_loan(other_user_id=current_user_id, date=date,
account_id=deduct_from_account, description=description,
amount=amount)
# generate slugs for the new loans
our_slugs = Slugs(current_user_id)
slug = our_slugs.add_slug(type='loan', object_id=our_loan_id, description=description)
their_slugs = Slugs(to_user)
their_slugs.add_slug(type='loan', object_id=their_loan_id, slug=slug)
their_accounts = Accounts(to_user)
# transfer money from/to respective accounts
our_accounts.modify_user_balance(account_id=deduct_from_account, amount=-float(amount))
their_accounts.modify_user_balance(amount=amount)
# fudge loan 'account' monies
our_accounts.modify_loan_balance(amount=amount, with_user_id=to_user)
their_accounts.modify_loan_balance(amount=-float(amount), with_user_id=current_user_id)
flash('Loan given')
else: error = 'Not a valid source account'
else: error = 'Not a valid date'
else: error = 'Not a valid amount'
# fetch users from connections from us
our_users = Users(current_user_id)
users = our_users.get_connections()
accounts = our_accounts.get_accounts()
return render_template('admin_give_loan.html', **locals())
示例4: search
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def search():
'''Search loans'''
current_user_id = session.get('logged_in_user')
our_loans = Loans(current_user_id)
our_users = Users(current_user_id)
# query
query = request.form['q'] if 'q' in request.form else ""
# fetch loans
loans = our_loans.get_loans()
# filter
loans = loans.filter(LoansTable.description.like("%"+query+"%"))
# fetch users from connections from us
users = our_users.get_connections()
# date ranges for the template
date_ranges = get_date_ranges()
return render_template('admin_search_loans.html', **locals())
示例5: __edit_give_loan
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def __edit_give_loan(loan_id, our_loans, loan, current_user_id):
'''Editing of loan entries where we were giving money'''
our_accounts = Accounts(current_user_id)
if request.method == 'POST': # POST
dict = __validate_give_loan_form()
for key in dict.keys(): exec(key + " = dict['" + key + "']")
# 'heavier' checks
if not error:
# valid amount?
if is_float(amount):
# valid date?
if is_date(date):
# valid account?
if our_accounts.is_account(account_id=deduct_from_account):
their_accounts = Accounts(loan.other_user)
# first roll back user balances
our_accounts.modify_user_balance(account_id=loan.account, amount=loan.amount)
their_accounts.modify_user_balance(amount=-float(loan.amount))
# now roll back loan account monies
our_accounts.modify_loan_balance(amount=-float(loan.amount), with_user_id=loan.other_user)
their_accounts.modify_loan_balance(amount=loan.amount, with_user_id=current_user_id)
# the user might have changed...
if loan.other_user != to_user:
their_accounts = Accounts(to_user)
# transfer money from/to respective accounts
our_accounts.modify_user_balance(account_id=deduct_from_account, amount=-float(amount))
their_accounts.modify_user_balance(amount=amount)
# fudge loan 'account' monies
our_accounts.modify_loan_balance(amount=amount, with_user_id=to_user)
their_accounts.modify_loan_balance(amount=-float(amount), with_user_id=current_user_id)
# get slug as a unique identifier
slug = our_loans.get_loan_slug(loan_id=loan_id)
# the user might have changed...
their_loans = Loans(loan.other_user)
if loan.other_user != to_user:
# delete their original loan entry (and its slug)
their_loans.delete_loan(slug=slug)
# new user
their_loans = Loans(to_user)
their_loan_id = their_loans.add_loan(other_user_id=current_user_id, date=date,
description=description, amount=amount)
# save their new slug
their_slugs = Slugs(to_user)
their_slugs.add_slug(type='loan', object_id=their_loan_id, slug=slug)
else:
# update their loans entry
their_loans.edit_loan(other_user_id=current_user_id, date=date, description=description,
amount=amount, slug=slug)
# update our loans entry
our_loans.edit_loan(other_user_id=to_user, date=date, description=description,
amount=-float(amount), account_id=deduct_from_account, loan_id=loan_id)
flash('Loan edited')
else: error = 'Not a valid target account'
else: error = 'Not a valid date'
else: error = 'Not a valid amount'
our_users = Users(current_user_id)
users = our_users.get_connections()
accounts = our_accounts.get_accounts()
return render_template('admin_edit_give_loan.html', **locals())
示例6: add_expense
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
#.........这里部分代码省略.........
# valid date?
if is_date(date):
# valid account?
if our_accounts.is_account(account_id=account_id):
# valid category?
if our_expenses.is_category(id=category_id):
# is it a shared expense?
if 'is_shared' in request.form:
# fetch values and check they are actually provided
if 'split' in request.form: split = request.form['split']
else: error = 'You need to provide a % split'
if 'user' in request.form: shared_with_user = request.form['user']
else: error = 'You need to provide a user'
# 'heavier' checks
if not error:
# valid percentage split?
if is_percentage(split):
# valid user sharing with?
if users.is_connection(user_id=shared_with_user):
# figure out percentage split
loaned_amount = round((float(amount)*(100-float(split)))/100, 2)
# create loans
our_loans = Loans(current_user_id)
our_loan_id = our_loans.add_loan(other_user_id=shared_with_user, date=date,
account_id=account_id, description=description,
amount=-float(loaned_amount))
our_loans = Loans(shared_with_user)
their_loan_id = our_loans.add_loan(other_user_id=current_user_id, date=date,
description=description, amount=loaned_amount)
# generate slugs for the new loans
our_slugs = Slugs(current_user_id)
slug = our_slugs.add_slug(type='loan', object_id=our_loan_id,
description=description)
their_slugs = Slugs(shared_with_user)
their_slugs.add_slug(type='loan', object_id=their_loan_id, slug=slug)
flash('Loan given')
# add new expense (loaner)
our_expense_id = our_expenses.add_expense(date=date, category_id=category_id,
account_id=account_id,
amount=float(amount) - loaned_amount,
description=description)
# add new expenses (borrower)
their_expenses = Expenses(shared_with_user)
their_expense_id = their_expenses.add_expense(date=date, amount=loaned_amount,
description=description, pass_thru=True)
# fudge loan 'account' monies
our_accounts.modify_loan_balance(amount=loaned_amount,
with_user_id=shared_with_user)
their_accounts = Accounts(shared_with_user)
their_accounts.modify_loan_balance(amount=-float(loaned_amount),
with_user_id=current_user_id)
# link loan and the expenses (through us)
our_expenses.link_to_loan(expense_id=our_expense_id, loan_id=our_loan_id,
shared_with=shared_with_user, percentage=split,
original_amount=amount)
their_expenses.link_to_loan(expense_id=their_expense_id, loan_id=our_loan_id,
shared_with=current_user_id, percentage=split,
original_amount=amount)
else: error = 'Not a valid user sharing with'
else: error = 'Not a valid % split'
else:
# add new expense
our_expenses.add_expense(date=date, category_id=category_id, account_id=account_id,
amount=amount, description=description)
if not error:
# debit from account
our_accounts.modify_user_balance(amount=-float(amount), account_id=account_id)
flash('Expense added')
else: error = 'Not a valid category'
else: error = 'Not a valid account'
else: error = 'Not a valid date'
else: error = 'Not a valid amount'
# fetch user's categories, accounts and users
categories = our_expenses.get_categories()
if not categories: error = 'You need to define at least one category'
accounts = our_accounts.get_accounts()
if not accounts: error = 'You need to define at least one account'
# fetch users from connections from us
users = users.get_connections()
return render_template('admin_add_expense.html', **locals())
示例7: edit_expense
# 需要导入模块: from models.users import Users [as 别名]
# 或者: from models.users.Users import get_connections [as 别名]
def edit_expense(expense_id):
'''Edit expense entry'''
current_user_id = session.get('logged_in_user')
our_expenses = Expenses(current_user_id)
# is it valid?
expense = our_expenses.get_expense(expense_id)
if expense:
error = None
# early exit for shared expenses from the perspective of the shared with user
if (expense[0].pass_thru):
return __edit_pass_thru_expense(**locals())
our_accounts = Accounts(current_user_id)
our_users = Users(current_user_id)
# fetch user's categories, accounts and users
categories = our_expenses.get_categories()
if not categories: error = 'You need to define at least one category'
accounts = our_accounts.get_accounts()
if not accounts: error = 'You need to define at least one account'
# fetch users from connections from us
users = our_users.get_connections()
# fudge the total for the expense if we have a shared expense
if expense[1]: expense[0].amount = expense[4]
if request.method == 'POST':
dict = __validate_expense_form()
for key in dict.keys(): exec(key + " = dict['" + key + "']")
# 'heavier' checks
if not error:
# valid amount?
if is_float(amount):
# valid date?
if is_date(date):
# valid account?
if our_accounts.is_account(account_id=account_id):
# valid category?
if our_expenses.is_category(id=category_id):
if expense[1]:
if 'is_shared' in request.form: # shared expense that will be shared
return __edit_shared_expense_into_shared(**locals())
else: # shared expense that will be simple
return __edit_shared_expense_into_simple(**locals())
else:
if 'is_shared' in request.form: # simple expense that will be shared
return __edit_simple_expense_into_shared(**locals())
else: # simple expense that will be shared
return __edit_simple_expense_into_simple(**locals())
else: error = 'Not a valid category'
else: error = 'Not a valid account'
else: error = 'Not a valid date'
else: error = 'Not a valid amount'
# show the form
return render_template('admin_edit_expense.html', **locals())
else: return redirect(url_for('expenses.index'))