/
views.py
33 lines (28 loc) · 1.06 KB
/
views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from wheezy.web.handlers import BaseHandler
from config import session
from models import Greeting
from repository import Repository
from validations import greeting_validator
class ListHandler(BaseHandler):
def get(self):
with session() as db:
repo = Repository(db)
greetings = repo.list_greetings()
return self.render_response('list.html',
greetings=greetings)
class AddHandler(BaseHandler):
def get(self, greeting=None):
greeting = greeting or Greeting()
return self.render_response('add.html', greeting=greeting)
def post(self):
greeting = Greeting()
if (not self.try_update_model(greeting)
or not self.validate(greeting, greeting_validator)):
return self.get(greeting)
with session() as db:
repo = Repository(db)
if not repo.add_greeting(greeting):
self.error('Sorry, can not add your greeting.')
return self.get(greeting)
db.commit()
return self.see_other_for('list')