diff options
author | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-07-18 02:02:38 (GMT) |
---|---|---|
committer | Rogelio Mita <rogeliomita@activitycentral.com> | 2013-07-18 02:02:38 (GMT) |
commit | 51856b0549f287862ba5c77e07a82bc3ad382b57 (patch) | |
tree | 78e89b33e06d62ac5ccde1af29199bad9f320399 | |
parent | dbe9fd19315f6d0fed8beffa2b12ca0640ebe147 (diff) |
issue 4220 - Bug fix: remove unfinished polls from results
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py | 32 | ||||
-rw-r--r-- | CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py | 14 |
2 files changed, 36 insertions, 10 deletions
diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py index 656ed3c..b35fea3 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/CeibalEncuesta.py @@ -210,33 +210,33 @@ class CeibalEncuesta(gtk.Window): self.menu_bar.show_all() self.infowidget.show_all() self.panel.box_encuesta.queue_draw() - + elif event.keyval == 65362 or event.keyval == 65431: # Key Up adjust = self.panel._window.get_vadjustment() - + if adjust.value > adjust.lower: new_value = adjust.value - adjust.step_increment - + if new_value < adjust.lower: new_value = adjust.lower - + adjust.value = new_value - + self.queue_draw() - + elif event.keyval == 65364 or event.keyval == 65433: # Key Down adjust = self.panel._window.get_vadjustment() if adjust.value < adjust.upper - adjust.page_size: new_value = adjust.value + adjust.step_increment - + if new_value > adjust.upper - adjust.page_size: new_value = adjust.upper - adjust.page_size - + adjust.value = new_value - + self.queue_draw() - + def __do_draw(self, widget, event): """ Pinta una imagen si no se ha cargado una lista @@ -432,6 +432,12 @@ class CeibalEncuesta(gtk.Window): filechooser.connect("load", self.__save_results) + def are_answers_empty(self, answers): + if answers.get("finalizada", None): + return False + + return True + def __save_results(self, widget = None, chosen_path = WORKPATH): """ Exporta los datos a un archivo con el formato @@ -485,6 +491,12 @@ class CeibalEncuesta(gtk.Window): answers = respuestas.get(encue, {}) + if self.are_answers_empty(answers): + continue + + if answers.get("finalizada", None): + del answers['finalizada'] + for group_order, fields in answers.iteritems(): for field_order, field_data in fields['fields'].iteritems(): selected = field_data.get('default', []) diff --git a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py index 4b289ff..0e7ecea 100644 --- a/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py +++ b/CeibalEncuesta/gtk2/CeibalEncuesta/Widgets.py @@ -252,6 +252,20 @@ class Panel(gtk.Paned): if index_visible == len(grupos) - 2: self.toolbar_encuesta.encuesta_actual.finalizar() + + encuestado = self.__get_encuestado() + # ?????? + user = "" + for item in encuestado: + user += " %s" % item + encuestado = user.strip() + ceibal_encuesta = self.get_toplevel() + if encuestado in ceibal_encuesta.out_dict.keys(): + ceibal_encuesta.out_dict[encuestado].update( + {"finalizada": True}) + ceibal_encuesta._CeibalEncuesta__save_json( + path=ceibal_encuesta.path) + self.toolbar_encuesta.siguiente.hide() return |