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())
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
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())