changeset fd7afa3b6b3a in tryton:5.4
details: https://hg.tryton.org/tryton?cmd=changeset;node=fd7afa3b6b3a
description:
        Use empty text for empty Reference in editable tree

        issue9052
        review291491002
        (grafted from 9e300cc0b350a1f04db2617899f207c381b8a322)
diffstat:

 tryton/gui/window/view_form/model/field.py                |  4 ++--
 tryton/gui/window/view_form/view/list_gtk/editabletree.py |  8 +++++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diffs (39 lines):

diff -r 474571b9a409 -r fd7afa3b6b3a tryton/gui/window/view_form/model/field.py
--- a/tryton/gui/window/view_form/model/field.py        Sun Apr 12 23:21:08 
2020 +0200
+++ b/tryton/gui/window/view_form/model/field.py        Fri Apr 24 21:55:30 
2020 +0200
@@ -864,7 +864,7 @@
                         pass
                 if '%s,%s' % (ref_model, ref_id) == self.get(record):
                     rec_name = record.value.get(
-                        self.name + '.', {}).get('rec_name', '')
+                        self.name + '.', {}).get('rec_name') or ''
                 else:
                     rec_name = ''
             record.value.setdefault(self.name + '.', {})['rec_name'] = rec_name
@@ -899,7 +899,7 @@
         elif ref_model:
             rec_name = ''
         else:
-            rec_name = str(ref_id)
+            rec_name = str(ref_id) if ref_id is not None else ''
         record.value[self.name] = ref_model, ref_id
         record.value.setdefault(self.name + '.', {})['rec_name'] = rec_name
 
diff -r 474571b9a409 -r fd7afa3b6b3a 
tryton/gui/window/view_form/view/list_gtk/editabletree.py
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py Sun Apr 12 
23:21:08 2020 +0200
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py Fri Apr 24 
21:55:30 2020 +0200
@@ -310,9 +310,11 @@
             text = entry.props.value
         elif isinstance(entry, Gtk.ComboBox):
             model = entry.get_model()
-            text = model.get_value(
-                entry.get_active_iter(),
-                entry.props.entry_text_column)
+            iter_ = entry.get_active_iter()
+            if iter_:
+                text = model.get_value(iter_, entry.props.entry_text_column)
+            else:
+                text = ''
         else:
             text = entry.get_text()
         self.on_quit_cell(record, column, renderer, text)

Reply via email to