Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/CeibalEncuesta
diff options
context:
space:
mode:
authorRogelio Mita <rogeliomita@activitycentral.com>2013-08-26 15:49:33 (GMT)
committer Rogelio Mita <rogeliomita@activitycentral.com>2013-08-26 15:49:33 (GMT)
commitb1004f2560e6f2f82cf478f935174aea3c44ccc4 (patch)
treed1d0cd63be40df62a34f884fdb0489d40ba4ad64 /CeibalEncuesta
parent18fd3b6e598521b2f5c2d4275453b0e45d09cbe6 (diff)
BugFix issue 4533: Update 'next' button status after check dependences
Diffstat (limited to 'CeibalEncuesta')
-rw-r--r--CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py30
1 files changed, 16 insertions, 14 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
index 3412933..80703b3 100644
--- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
+++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py
@@ -249,16 +249,16 @@ class Panel(gtk.Paned):
self._window.get_vadjustment().set_value(0)
elif accion == "Siguiente" and self.toolbar_encuesta.siguiente.active:
-
+
ceibal_encuesta = self.get_toplevel()
finalizada = False
-
+
if index_visible < len(grupos) - 1:
map(self.__hide_groups, grupos)
map(self.__show_groups, [grupos[index_visible + 1]])
self.box_encuesta.queue_draw()
self._window.get_vadjustment().set_value(0)
-
+
if index_visible == len(grupos) - 2:
self.toolbar_encuesta.encuesta_actual.finalizar()
@@ -268,17 +268,17 @@ class Panel(gtk.Paned):
for item in encuestado:
user += " %s" % item
encuestado = user.strip()
-
+
if encuestado in ceibal_encuesta.out_dict.keys():
ceibal_encuesta.out_dict[encuestado]["finalizada"] = True
-
+
self.toolbar_encuesta.siguiente.hide()
self.toolbar_encuesta.anterior.show()
finalizada = True
-
+
ceibal_encuesta.copy_to_Documents()
if finalizada: return
-
+
self.__check_sensibility_butons()
def load_encuestados(self, encuestados):
@@ -399,7 +399,7 @@ class Panel(gtk.Paned):
grupo_name = widget_grupo.grupo["name"]
dict_pregunta = pregunta.pregunta.copy()
-
+
if activan: dict_pregunta["default"] = list(activan)
indice_grupo = widget_grupo.indice
@@ -427,10 +427,10 @@ class Panel(gtk.Paned):
for preg in preguntas:
opciones_activas.extend(preg.widget_obtions.get_active_options())
-
+
almacenar = False # flag
preguntas_a_checkear = [] # preguntas posteriores a la modificada
-
+
### Obtener preguntas posteriores a la que ha lanzado "new".
for grupo in grupos[grupos.index(widget_grupo):-1]:
@@ -491,6 +491,8 @@ class Panel(gtk.Paned):
if preguntas_para_desactivar:
gobject.idle_add(preguntas_para_desactivar[0].reset)
+ self.toolbar_encuesta.siguiente.emit("update_status", self)
+
def __get_encuestado(self):
"""
Devuelve lista con datos del
@@ -625,7 +627,7 @@ class Panel(gtk.Paned):
for preg in preguntas:
contestada = preg.widget_obtions.get_active_options()
con_dependencias = preg.pregunta.get("dependence", False)
-
+
if contestada or not con_dependencias:
preguntas_para_activar.append(preg)
@@ -1647,7 +1649,7 @@ class Widget_MultipleCheckBox(gtk.VButtonBox):
if child == widget:
activan = [child.indice]
-
+
else:
if child.indice in activan: activan.remove(child.indice)
child.set_active(False)
@@ -1660,11 +1662,11 @@ class Widget_MultipleCheckBox(gtk.VButtonBox):
if child.none and child.get_active():
if child.indice in activan: activan.remove(child.indice)
child.set_active(False)
-
+
else:
if child.get_active():
if not child.indice in activan: activan.append(child.indice)
-
+
self.emit("new", activan)
def update(self, dict):