summaryrefslogtreecommitdiff
path: root/app/views/expenses.py
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2013-10-14 23:50:27 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2013-10-14 23:50:27 +0200
commitdbb134751c3a87cf203cd243b1952b146b8914c1 (patch)
treecb34abe63bd1e3f95a4616b4a20a7528380014f1 /app/views/expenses.py
parenta628fd3084e94959dc29c86912f2a2e97038799c (diff)
downloadkosten-dbb134751c3a87cf203cd243b1952b146b8914c1.tar.gz
kosten-dbb134751c3a87cf203cd243b1952b146b8914c1.tar.bz2
kosten-dbb134751c3a87cf203cd243b1952b146b8914c1.zip
Finish login stuff
Diffstat (limited to 'app/views/expenses.py')
-rw-r--r--app/views/expenses.py15
1 files changed, 10 insertions, 5 deletions
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("/<int(fixed_digits=4):year>/<int(fixed_digits=2):month>")
+@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("/<path:p>", 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/<int:id>", 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()