diff options
Diffstat (limited to 'maconomy/views.py')
-rw-r--r-- | maconomy/views.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/maconomy/views.py b/maconomy/views.py new file mode 100644 index 0000000..10e9c06 --- /dev/null +++ b/maconomy/views.py @@ -0,0 +1,37 @@ +from maconomy import MissingEmailTemplate, UnsubmittedEmailTemplate, ManagerEmailTemplate, CEOEmailTemplate + +class EmployeeEmailView(object): + def __init__(self, config): + self.missing_template = MissingEmailTemplate() + self.unsubmitted_template = UnsubmittedEmailTemplate() + self.maconomyurl = config.get("view", "maconomyurl") + self.helpurl = config.get("view", "helpurl") + + def render(self,timesheet): + if timesheet.is_missing(): + return self.missing_template.build( + maconomyurl=self.maconomyurl, + helpurl=self.helpurl) + elif not timesheet.is_submitted(): + return self.unsubmitted_template.build( + week=timesheet.week, + maconomyurl=self.maconomyurl, + helpurl=self.helpurl) + else: + return None + + +class ManagerEmailView(object): + def __init__(self, config): + self.maconomyurl = config.get("view", "maconomyurl") + self.template = ManagerEmailTemplate() + + def render(self, timesheets): + return self.template.build(timesheets, self.maconomyurl) + +class CEOEmailView(object): + def __init__(self): + self.template = CEOEmailTemplate() + + def render(self, timesheets): + return self.template.build(timesheets) |