Make user model return a service model, not JSON

This makes it:
- nicer, by having access to sensibly named things like
  `Service.trial_mode` instead of `service['restricted']`.
- less likely to write Jinja code like `service.trail_mode`, which would
  fail silently if `service` was a dictionary
This commit is contained in:
Chris Hill-Scott
2019-06-07 12:38:48 +01:00
parent 062f42b769
commit 71dc650db6
4 changed files with 34 additions and 16 deletions

View File

@@ -56,7 +56,6 @@ class Service(JSONModel):
def __init__(self, _dict):
super().__init__(_dict)
if 'permissions' not in self._dict:
self.permissions = {'email', 'sms', 'letter'}
@@ -94,6 +93,10 @@ class Service(JSONModel):
def trial_mode(self):
return self._dict['restricted']
@property
def live(self):
return not self.trial_mode
def has_permission(self, permission):
return permission in self.permissions