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')