]> git.llucax.com Git - software/sercom.git/commitdiff
Manejar bien error de registro duplicado al crear.
authorLeandro Lucarella <llucax@gmail.com>
Mon, 5 Feb 2007 18:17:22 +0000 (18:17 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Mon, 5 Feb 2007 18:17:22 +0000 (18:17 +0000)
sercom/subcontrollers/docente/__init__.py
sercom/subcontrollers/docente/templates/new.kid

index e4070810738cdee9ed701c8e21a6285edf40c2ea..c4dcfc5e9b4019b36bd742c1a86c8eb40d6565d3 100644 (file)
@@ -70,14 +70,20 @@ class DocenteController(controllers.Controller, identity.SecureResource):
     @expose(template='kid:sercom.subcontrollers.%s.templates.new' % name)
     def new(self, **kw):
         """Create new records in model"""
-        return dict(name=name, namepl=namepl, form=form)
+        f = kw.get('tg_flash', None)
+        return dict(name=name, namepl=namepl, form=form, tg_flash=f, values=kw)
 
     @validate(form=form)
     @error_handler(new)
     @expose()
     def create(self, **kw):
         """Save or create record to model"""
-        Docente(**kw)
+        try:
+            Docente(**kw)
+        except Exception, e:
+            raise redirect('new', tg_flash=_(u'No se pudo crear el nuevo %s, ' \
+                'probablemente ya existe uno con el mismo usuario (error: %s).'
+                    % (name, e)), **kw)
 
         raise redirect('list', tg_flash=_(u'Se creó un nuevo %s.') % name)
 
index 232f80d3f57f3cdb59503447e05d80a106cc299a..c7e0d4b516671f99524f003447d138b6bc34a2a4 100644 (file)
@@ -9,7 +9,7 @@
 
 <h1>Crear Nuevo <span py:replace="name">Objeto</span></h1>
 
-<p py:replace="form(action='create', submit_text=_('Crear'))">Formulario</p>
+<p py:replace="form(action='create', value=values, submit_text=_('Crear'))">Formulario</p>
 
 <br/>
 <a href="list">Cancelar</a>