diff options
Diffstat (limited to 'maconomy/models.py')
-rw-r--r-- | maconomy/models.py | 25 |
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" |