def settings(request): """Build context for settings page.""" context = { 'num_transactions': db.get_transaction_count(request.user), 'num_balances': db.get_balances(request.user).count(), } # User account form context['user_form'] = forms.UserEditForm( web.form_data(request), instance=request.user ) context['password_form'] = forms.PasswordChangeForm( web.form_data(request) ) # Person forms context['person_form'] = forms.PersonForm( web.form_data(request), instance=request.user.person ) # Exchange rates context['exchange_rates'] = db.get_exchange_rates(request.user) context['exchange_rate_form'] = forms.ExchangeRateForm( web.form_data(request) ) return web.render_context(request, 'settings.html', context=context)
def export_data(request): """Export all data for a user.""" data = { 'balances': [ balance.export_data() for balance in db.get_balances(request.user) ], 'transfers': [ transfer.export_data() for transfer in db.get_transfer_history(request.user, {}) ], 'exchange_rates': [ rate.export_data() for rate in db.get_exchange_rates(request.user) ] } return HttpResponse(json.dumps(data), mimetype="application/json")