From dbb134751c3a87cf203cd243b1952b146b8914c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Mon, 14 Oct 2013 23:50:27 +0200 Subject: Finish login stuff --- app/views/expenses.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'app/views/expenses.py') diff --git a/app/views/expenses.py b/app/views/expenses.py index efa6717..aa1fd51 100644 --- a/app/views/expenses.py +++ b/app/views/expenses.py @@ -5,7 +5,7 @@ import datetime, decimal from sqlalchemy import sql, func from ..model import db, Category, SingleExpense, CatExpense, MonthExpense - +from ..login import login_required, current_user from ..forms import ExpenseForm from ..utils import templated, redirect @@ -13,26 +13,26 @@ mod = Blueprint('expenses', __name__) def expense_form(obj=None): form = ExpenseForm(obj=obj) - form.category.query = Category.query.order_by(Category.name) + form.category.query = Category.of(current_user).order_by(Category.name) return form def calc_month_exp(year, month): ssum = func.sum(SingleExpense.expense) - query = SingleExpense.of_month(month, year) + query = SingleExpense.of_month(current_user, month, year) result = query.group_by(SingleExpense.category_id).\ values(SingleExpense.category_id, ssum) exps = [CatExpense(Category.query.get(c), s, query.filter(SingleExpense.category_id == c)) for c,s in result] - return MonthExpense(datetime.date(year, month, 1), exps) + return MonthExpense(current_user, datetime.date(year, month, 1), exps) def pie_stuff(exp): expenses = {} for c in exp.catexps: expenses[c.cat.name] = float(c.expense) - for c in Category.query.order_by(Category.name).all(): + for c in Category.of(current_user).order_by(Category.name).all(): yield (c.name, expenses.get(c.name, 0.0)) def calc_month_and_pie(year, month): @@ -59,6 +59,7 @@ def is_last(exp): return exp.date >= datetime.date.today().replace(day = 1) @mod.route("//") +@login_required @templated(".show") def show_date(year, month): c,p = calc_month_and_pie(year, month) @@ -67,6 +68,7 @@ def show_date(year, month): mod.add_url_rule("/", endpoint = "show_date_str", build_only = True) @mod.route("/") +@login_required @templated() def show(): d = datetime.date.today() @@ -80,6 +82,7 @@ def show(): return { 'exps' : [first, second], 'pies': [pfirst, psecond] } @mod.route("/edit/", methods=("GET", "POST")) +@login_required @templated() def edit(id): exp = SingleExpense.get(id) @@ -101,6 +104,7 @@ def edit(id): return { 'form': form } @mod.route("/add/", methods=("GET", "POST")) +@login_required @templated() def add(): form = expense_form() @@ -109,6 +113,7 @@ def add(): exp = SingleExpense() form.populate_obj(exp) + exp.user = current_user db.session.add(exp) db.session.commit() -- cgit v1.2.3