+ try:
+ id = int(id)
+ except ValueError:
+ raise redirect('../list',
+ tg_flash=_(u'Identificador inválido: %s.') % id)
+
+ try:
+ record = cls.get(id)
+ except LookupError:
+ raise redirect('../list',
+ tg_flash=_(u'No existe el %s con identificador %d.')
+ % (name, id))
+
+ try:
+ record.set(**kw)
+ except Exception, e:
+ raise redirect('../edit/%d' % id, tg_flash=_(u'No se pudo ' \
+ 'modificar el %s, probablemente ya existe uno con el mismo ' \
+ 'usuario (error: %s).' % (name, e)), **kw)