summaryrefslogtreecommitdiff
path: root/maconomy/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'maconomy/models.py')
-rw-r--r--maconomy/models.py25
1 files changed, 21 insertions, 4 deletions
diff --git a/maconomy/models.py b/maconomy/models.py
index 15fb46b..14629ca 100644
--- a/maconomy/models.py
+++ b/maconomy/models.py
@@ -1,15 +1,32 @@
class Employee:
- def __init__(self, result):
- self.id, self.name, self.email = result[:3]
+ def __init__(self, id, name, email):
+ self.id = id
+ self.name = name
+ self.email = email
+ @classmethod
+ def from_result(cls, result):
+ id, name, email = result[:3]
+ return cls(id, name, email)
+
def __unicode__(self):
return u"{} ({})".format(self.name, self.id)
class Timesheet:
- def __init__(self, result):
- self.week, self.submitted, self.approved = result[:3]
+ def __init__(self, week, submitted, approved, employee, approver):
+ self.week = week
+ self.submitted = submitted
+ self.approved = approved
+ self.employee = employee
+ self.approver = approver
+
+ @classmethod
+ def from_result(cls, result):
+ employee = Employee.from_result(result)
+ week, submitted, approved, approver = result[3:7]
+ return cls(week, submitted, approved, employee, approver)
def status(self):
return "submitted" if self.is_submitted() else "unsubmitted"