1 # vim: set et sw=4 sts=4 encoding=utf-8 foldmethod=marker :
3 __all__ = ('validate_get', 'validate_set', 'validate_new')
5 from turbogears import redirect, flash
6 from cherrypy import NotFound
7 from sqlobject.dberrors import DuplicateEntryError
8 from sqlobject import SQLObjectNotFound
10 def validate_get(cls, name, id, url='../list'):
17 except SQLObjectNotFound:
20 def validate_set(cls, name, id, data, url='../edit'):
21 r = validate_get(cls, name, id)
24 except DuplicateEntryError, e:
25 flash(_(u'No se pudo modificar el %s porque no es único (error: %s).')
27 raise redirect('%s/%s' % (url, id), **data)
29 flash(_(u'No se pudo modificar el %s porque falta un dato o es '
30 u'inválido (error: %s).') % (name, e))
31 raise redirect('%s/%s' % (url, id), **data)
33 def validate_new(cls, name, data, url='new'):
36 except DuplicateEntryError, e:
37 flash(_(u'No se pudo crear el %s porque no es único (error: %s).')
39 raise redirect(url, **data)
41 flash(_(u'No se pudo crear el %s porque falta un dato o es '
42 u'inválido (error: %s).') % (name, e))
43 raise redirect(url, **data)