def bank_accounts_list(): bank_account_table = BankAccountTable( data_url=url_for('.bank_accounts_list_json'), create_account=privilege_check(current_user, 'finance_change')) bank_account_activity_table = BankAccountActivityTable( data_url=url_for('.bank_accounts_activities_json')) return render_template( 'finance/bank_accounts_list.html', bank_account_table=bank_account_table, bank_account_activity_table=bank_account_activity_table, )
def bank_accounts_activities_json(): limit = request.args.get('limit', default=100, type=int) offset = request.args.get('offset', default=0, type=int) if privilege_check(current_user, 'finance_change'): def actions(activity_id): return [{ 'href': url_for('.bank_account_activities_edit', activity_id=activity_id), 'title': '', 'btn_class': 'btn-primary', 'icon': 'glyphicon-pencil' }] else: def actions(activity_id): return [] activity_q = (BankAccountActivity.q.options( joinedload(BankAccountActivity.bank_account)).filter( BankAccountActivity.transaction_id == None).order_by( BankAccountActivity.valid_on)) return jsonify( items={ 'total': activity_q.count(), 'rows': [ { 'bank_account': activity.bank_account.name, 'valid_on': date_filter(activity.valid_on), 'amount': money_filter(activity.amount), 'reference': activity.reference, 'original_reference': activity.original_reference, 'ktonr': activity.other_account_number, # 'blz': activity.other_bank, # todo revisit. wuzdat? dunno… 'name': activity.other_name, 'actions': actions(activity.id), } for activity in activity_q.limit(limit).offset(offset).all() ] })
def bank_accounts_activities_json(): limit = request.args.get('limit', default=100, type=int) offset = request.args.get('offset', default=0, type=int) if privilege_check(current_user, 'finance_change'): def actions(activity_id): return [{ 'href': url_for( '.bank_account_activities_edit', activity_id=activity_id), 'title': '', 'btn_class': 'btn-primary', 'icon': 'glyphicon-pencil' }] else: def actions(activity_id): return [] activity_q = (BankAccountActivity.q .options(joinedload(BankAccountActivity.bank_account)) .filter(BankAccountActivity.transaction_id == None) .order_by(BankAccountActivity.valid_on)) return jsonify(items={ 'total': activity_q.count(), 'rows': [{ 'bank_account': activity.bank_account.name, 'valid_on': date_filter(activity.valid_on), 'amount': money_filter(activity.amount), 'reference': activity.reference, 'original_reference': activity.original_reference, 'ktonr': activity.other_account_number, # 'blz': activity.other_bank, # todo revisit. wuzdat? dunno… 'name': activity.other_name, 'actions': actions(activity.id), } for activity in activity_q.limit(limit).offset(offset).all()] })
def transactions_unconfirmed_json(): transactions = Transaction.q.filter_by(confirmed=False).order_by( Transaction.posted_at).limit(100).all() items = [] for transaction in transactions: user_account = next( (a for a in transaction.accounts if a.type == "USER_ASSET"), None) items.append({ 'description': { 'href': url_for(".transactions_show", transaction_id=transaction.id), 'title': transaction.description, 'new_tab': True, 'glyphicon': 'glyphicon-new-window' }, 'user': { 'href': url_for("user.user_show", user_id=user_account.user.id), 'title': "{} ({})".format(user_account.user.name, encode_type2_user_id(user_account.user.id)), 'new_tab': True } if user_account else None, 'room': user_account.user.room.short_name if user_account and user_account.user.room else None, 'author': { 'href': url_for("user.user_show", user_id=transaction.author.id), 'title': transaction.author.name, 'new_tab': True, }, 'date': date_format(transaction.posted_at), 'amount': money_filter(transaction.amount), 'actions': [{ 'href': url_for(".transaction_confirm", transaction_id=transaction.id), 'title': 'Bestätigen', 'icon': 'glyphicon-ok', 'btn_class': 'btn-success btn-sm', }, { 'href': url_for(".transaction_delete", transaction_id=transaction.id), 'title': 'Löschen', 'icon': 'glyphicon-trash', 'btn_class': 'btn-danger btn-sm', }] if privilege_check(current_user, 'finance_change') else [], }) return jsonify(items=items)
def transactions_unconfirmed_json(): transactions = Transaction.q.filter_by(confirmed=False).order_by( Transaction.posted_at).limit(100).all() items = [] for transaction in transactions: user_account = next( (a for a in transaction.accounts if a.type == "USER_ASSET"), None) bank_acc_act = BankAccountActivity.q.filter_by( transaction_id=transaction.id).first() items.append({ 'description': { 'href': url_for(".transactions_show", transaction_id=transaction.id), 'title': transaction.description, 'new_tab': True, 'glyphicon': 'fa-external-link-alt' }, 'user': { 'href': url_for("user.user_show", user_id=user_account.user.id), 'title': "{} ({})".format(user_account.user.name, encode_type2_user_id(user_account.user.id)), 'new_tab': True } if user_account else None, 'room': user_account.user.room.short_name if user_account and user_account.user.room else None, 'author': { 'href': url_for("user.user_show", user_id=transaction.author.id), 'title': transaction.author.name, 'new_tab': True, }, 'date': date_format(transaction.posted_at, formatter=date_filter), 'amount': money_filter(transaction.amount), 'actions': [{ 'href': url_for(".bank_account_activities_edit", activity_id=bank_acc_act.id), 'title': 'Bankbewegung', 'icon': 'fa-credit-card', 'btn_class': 'btn-info btn-sm', 'new_tab': True } if bank_acc_act is not None else {}, { 'href': url_for(".transaction_confirm", transaction_id=transaction.id), 'title': 'Bestätigen', 'icon': 'fa-check', 'btn_class': 'btn-success btn-sm', }, { 'href': url_for(".transaction_delete", transaction_id=transaction.id), 'title': 'Löschen', 'icon': 'fa-trash', 'btn_class': 'btn-danger btn-sm', }] if privilege_check(current_user, 'finance_change') else [], }) return jsonify(items=items)