]> git.llucax.com Git - software/sercom.git/commitdiff
excepciones en la eliminacion
authortailor <ndimov@gmail.com>
Tue, 6 Mar 2007 00:02:54 +0000 (00:02 +0000)
committertailor <ndimov@gmail.com>
Tue, 6 Mar 2007 00:02:54 +0000 (00:02 +0000)
** atajo las excepciones de las eliminaciones y mando mensaje de error (poco
feliz)

sercom/subcontrollers/caso_de_prueba/__init__.py
sercom/subcontrollers/curso/__init__.py
sercom/subcontrollers/ejercicio/__init__.py
sercom/subcontrollers/grupo/__init__.py
sercom/subcontrollers/validate.py

index 6fca78906c36692ea7e9dce6567ac5176ff1e618..b3dc041c6f8d60623cc13c66cd09aa8ad5bab7e3 100644 (file)
@@ -48,6 +48,9 @@ def validate_set(id, data):
 def validate_new(data):
     validate_fk(data)
     return val.validate_new(cls, name, data)
+
+def validate_del(id):
+    return val.validate_del(cls, name, id)
 #}}}
 
 #{{{ Formulario
@@ -150,8 +153,7 @@ class CasoDePruebaController(controllers.Controller, identity.SecureResource):
     @expose()
     def delete(self, id):
         """Destroy record in model"""
-        r = validate_get(id)
-        r.destroySelf()
+        validate_del(id)
         flash(_(u'El %s fue eliminado permanentemente.') % name)
         raise redirect('../list')
 #}}}
index c17b3cf0b2b3f2b26f71b365eafa9d99d0f53e33..9d1c1f35b455c5bfcde1b52e295b89af8bff80bb 100644 (file)
@@ -97,6 +97,9 @@ def validate_set(id, data):
 
 def validate_new(data):
     return val.validate_new(cls, name, data)
+
+def validate_del(id):
+    return val.validate_del(cls, name, id)
 #}}}
 
 def get_ejercicios():
@@ -111,6 +114,7 @@ def get_alumnos():
 def get_grupos():
     return [(fk1.id, fk1.shortrepr()) for fk1 in Grupo.select()]
 
+
 #{{{ Formulario
 class CursoForm(W.TableForm):
     class Fields(W.WidgetsList):
@@ -284,12 +288,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
     @expose()
     def delete(self, id):
         """Destroy record in model"""
-        try:
-            r = validate_get(id)
-            r.destroySelf()
-        except Exception, e:
-            flash(_(u'No se pudo eliminar el curso: %s' % e))
-            raise redirect('../list')
+        validate_del(id)
         flash(_(u'El %s fue eliminado permanentemente.') % name)
         raise redirect('../list')
 
index d04dde1583f160b37d4becd7198a5b0669ca0e16..cacbad59d6349574b87b747b657fa264f5ecad08 100644 (file)
@@ -71,6 +71,9 @@ def validate_new(data):
     validate_fk(data)
     validate_fk1(data)
     return val.validate_new(cls, name, data)
+
+def validate_del(id):
+    return val.validate_del(cls, name, id)
 #}}}
 
 #{{{ Formulario
@@ -221,8 +224,7 @@ class EjercicioController(controllers.Controller, identity.SecureResource):
     @expose()
     def delete(self, id):
         """Destroy record in model"""
-        r = validate_get(id)
-        r.destroySelf()
+        validate_del(id)
         flash(_(u'El %s fue eliminado permanentemente.') % name)
         raise redirect('../list')
 
index e6e3e49858a0076a868772ea5799950042a411a4..77e21c537575e4c274f7b54f84023cee17d5a594 100644 (file)
@@ -52,6 +52,9 @@ def validate_set(id, data):
 def validate_new(data):
     validate_fk(data)
     return val.validate_new(cls, name, data)
+
+def validate_del(id):
+    return val.validate_del(cls, name, id)
 #}}}
 
 #{{{ Formulario
@@ -126,8 +129,8 @@ ajax = u"""
 
         /* Selecciono todos los miembros si no, no llegan al controllere*/
         l = MochiKit.DOM.getElement('form_miembros');
-        for (i=0; i<l.options.length; i++) { 
-            l.options[i].selected = true; 
+        for (i=0; i<l.options.length; i++) {
+            l.options[i].selected = true;
         }
         return true; // Dejo hacer el submit
     }
@@ -255,8 +258,7 @@ class GrupoController(controllers.Controller, identity.SecureResource):
     @expose()
     def delete(self, id):
         """Destroy record in model"""
-        r = validate_get(id)
-        r.destroySelf()
+        validate_del(id)
         flash(_(u'El %s fue eliminado permanentemente.') % name)
         raise redirect('../list')
 
index 524f311e6805bfabc12e317195a70aee75f90baa..9b4a96a2c962308096032003bfda949db08f3a97 100644 (file)
@@ -43,3 +43,11 @@ def validate_new(cls, name, data, url='new'):
             u'inválido (error: %s).') % (name, e))
         raise redirect(url, **data)
 
+def validate_del(cls, name, id):
+    try:
+        id = int(id)
+        r = validate_get(cls, name, id)
+        r.destroySelf()
+    except Exception, e:
+        flash(_(u'No se pudo eliminar el %s: %s' % (name, e)))
+        raise redirect('../list')