From d5c4984fda9819e84c8c97979f95e5b5cc5e2eb1 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Sat, 30 Apr 2016 22:29:46 +0200 Subject: current_expenses --- app/model.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'app/model.py') diff --git a/app/model.py b/app/model.py index 248647c..4f80b85 100644 --- a/app/model.py +++ b/app/model.py @@ -143,7 +143,10 @@ class ConstExpenseGroup (UserModel, CategoryModel): start = ReqColumn(db.Date, index = True) end = ReqColumn(db.Date, index = True) - expenses = db.relationship("ConstExpense", back_populates = "group") + expenses = db.relationship("ConstExpense", back_populates = "group", order_by = 'desc(ConstExpense.end)') + + def current_expenses(self): + return filter(ConstExpense.is_current, self.expenses) class ConstExpense (UserModel, CategoryModel): description = Column(db.Unicode(50)) @@ -168,6 +171,18 @@ class ConstExpense (UserModel, CategoryModel): d = datetime.date(year, month, 1) return cls.of(user).filter(sql.between(d, cls.start, cls.end)) + def _today(self): + return datetime.date.today().replace(day = 1) + + def is_current(self): + return self.start <= self._today() <= self.end + + def is_future(self): + return self.start > self._today() + + def is_expired(self): + return self.end < self._today() + # # Work entities (not stored in DB) # -- cgit v1.2.3-54-g00ecf