]> git.llucax.com Git - z.facultad/75.52/sercom.git/commitdiff
curso: add docentes
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Sun, 4 Mar 2007 21:40:22 +0000 (21:40 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Sun, 4 Mar 2007 21:40:22 +0000 (21:40 +0000)
* distintos comportamiento de las listas docentes en crear y editar cursos.

sercom/subcontrollers/curso/__init__.py
sercom/subcontrollers/curso/templates/edit.kid
sercom/subcontrollers/curso/templates/new.kid

index ae1ed7a20ef6a2b9d56a520aa405b3792634a20a..0e488dd92f1dc683b80bedb86d219bc590522b3a 100644 (file)
@@ -24,20 +24,6 @@ namepl = name + 's'
 #}}}
 
 ajax = u""" 
 #}}}
 
 ajax = u""" 
-    function makeOption(option) {
-        return OPTION({"value": option.value}, option.text);
-    }
-                   
-    function moveOption( fromSelect, toSelect) {
-        // add 'selected' nodes toSelect
-        appendChildNodes(toSelect,
-        map( makeOption,ifilter(itemgetter('selected'), $(fromSelect).options)));
-        // remove the 'selected' fromSelect
-        replaceChildNodes(fromSelect,
-            list(ifilterfalse(itemgetter('selected'), $(fromSelect).options))
-        );
-    }
-
     function alumnos_agregar_a_la_lista(texto, lista)
     {
         t = MochiKit.DOM.getElement(texto);
     function alumnos_agregar_a_la_lista(texto, lista)
     {
         t = MochiKit.DOM.getElement(texto);
@@ -81,7 +67,7 @@ ajax = u"""
         var d = loadJSONDoc(url);
         d.addCallbacks(procesar, err);
     }
         var d = loadJSONDoc(url);
         d.addCallbacks(procesar, err);
     }
-
+    
     function onsubmit()
     {
         /* TODO : Validar datos y evitar el submit si no esta completo */
     function onsubmit()
     {
         /* TODO : Validar datos y evitar el submit si no esta completo */
@@ -147,9 +133,9 @@ class CursoForm(W.TableForm):
             options=get_docentes,
             validator=V.Int(not_empty=True))
         addDocente = W.Button(default='Asignar', label='',
             options=get_docentes,
             validator=V.Int(not_empty=True))
         addDocente = W.Button(default='Asignar', label='',
-            attrs=dict( onclick='moveOption("form_docentes","form_docentes_curso")'))
+            attrs=dict( onclick='mover("form_docentes","form_docentes_curso")'))
         remDocente = W.Button(default='Remover', label='',
         remDocente = W.Button(default='Remover', label='',
-            attrs=dict( onclick='moveOption("form_docentes_curso","form_docentes")'))
+            attrs=dict( onclick='remover("form_docentes_curso","form_docentes")'))
         docentes_curso = W.MultipleSelectField(name="docentes_curso",
             label=_(u'Docentes del curso'),
             attrs=dict(style='width:300px'),
         docentes_curso = W.MultipleSelectField(name="docentes_curso",
             label=_(u'Docentes del curso'),
             attrs=dict(style='width:300px'),
@@ -242,7 +228,7 @@ class CursoController(controllers.Controller, identity.SecureResource):
         values.cursoID = r.id
         values.descripcion = r.descripcion
         # cargo la lista con los docentes asignados al curso
         values.cursoID = r.id
         values.descripcion = r.descripcion
         # cargo la lista con los docentes asignados al curso
-        values.docentes_curso = [{"id":d.docente.id, "label":d.docente.nombre} for d in DocenteInscripto.selectBy(curso=r.id)]
+        values.docentes_curso = [{"id":d.docente.id, "label":d.docente.shortrepr()} for d in DocenteInscripto.selectBy(curso=r.id)]
         values.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.nombre} for a in AlumnoInscripto.selectBy(curso=r.id)]
        
         return dict(name=name, namepl=namepl, record=values, form=form)
         values.alumnos_inscriptos = [{"id":a.alumno.id, "label":a.alumno.nombre} for a in AlumnoInscripto.selectBy(curso=r.id)]
        
         return dict(name=name, namepl=namepl, record=values, form=form)
index e4e68116c20da0cf24ca43f0e58067834e0b199b..0a13da43ca03aa4db2a30e0f5a7ec9073d2203b2 100644 (file)
         </span>
     }
     MochiKit.DOM.addLoadEvent(init_data)
         </span>
     }
     MochiKit.DOM.addLoadEvent(init_data)
+    
+    function makeOption(option) {
+        return OPTION({"value": option.value}, option.text);
+    }
+                   
+    function moveOption( fromSelect, toSelect) {
+        // add 'selected' nodes toSelect
+        appendChildNodes(toSelect,
+        map( makeOption,ifilter(itemgetter('selected'), $(fromSelect).options)));
+        // remove the 'selected' fromSelect
+        // replaceChildNodes(fromSelect,
+        // list(ifilterfalse(itemgetter('selected'), $(fromSelect).options)));
+    }
+    
+    function mover( src, dest ) {
+        moveOption(src, dest)    
+    }
+    
+    function remover (src, dest) {
+        replaceChildNodes(src,list(ifilterfalse(itemgetter('selected'), $(src).options)))
+    }
+    
 </script>
 <body>
 
 </script>
 <body>
 
index 96de1547eac977a361e87d5c8ae2cb394dc072e3..c815316875d2957e5359d2e85ed901f12ddf2a8a 100644 (file)
@@ -2,6 +2,30 @@
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
     py:extends="'../../../templates/master.kid'">
 <head>
 <html xmlns="http://www.w3.org/1999/xhtml" xmlns:py="http://purl.org/kid/ns#"
     py:extends="'../../../templates/master.kid'">
 <head>
+
+<script type="text/javascript">
+    function makeOption(option) {
+        return OPTION({"value": option.value}, option.text);
+    }
+                   
+    function moveOption( fromSelect, toSelect) {
+        // add 'selected' nodes toSelect
+        appendChildNodes(toSelect,
+        map( makeOption,ifilter(itemgetter('selected'), $(fromSelect).options)));
+        // remove the 'selected' fromSelect
+        replaceChildNodes(fromSelect,
+            list(ifilterfalse(itemgetter('selected'), $(fromSelect).options))
+        );
+    }
+    
+    function mover(src, dest) {
+        moveOption(src, dest)
+    }
+    
+    function remover( src, dest ) {
+        moveOption(src, dest)
+    }
+</script>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>new</title>
 </head>
 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" py:replace="''"/>
 <title>new</title>
 </head>