This patch is the client side of the previous one.

Please review this at http://codereview.appspot.com/4080059/

Affected files:
   M tryton/gui/window/view_form/view/form_gtk/binary.py
   M tryton/gui/window/view_form/view/form_gtk/parser.py


Index: tryton/gui/window/view_form/view/form_gtk/binary.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -17,6 +17,8 @@
          super(Binary, self).__init__(field_name, model_name, window,
                  attrs=attrs)

+        self.file_name = attrs.get('file_name')
+
          self.tooltips = Tooltips()

          self.widget = gtk.HBox(spacing=0)
@@ -74,9 +76,9 @@
              if filename and self.field:
                  self.field.set_client(self.record,
                          base64.encodestring(open(filename, 'rb').read()))
-                fname = self.attrs.get('fname_widget', False)
-                if fname:
-                    self.parent.value = {fname:os.path.basename(filename)}
+                if self.file_name:
+                    name_wid = self.record.group.fields[self.file_name]
+ name_wid.set_client(self.record, os.path.basename(filename))
                  self.display(self.record, self.field)
          except Exception, exception:
              warning(_('Error reading the file.\nError message:\n%s') \
@@ -98,9 +100,9 @@
      def sig_remove(self, widget=None):
          if self.field:
              self.field.set_client(self.record, False)
-            fname = self.attrs.get('fname_widget', False)
-            if fname:
-                self.parent.value = {fname:False}
+            if self.file_name:
+                name_wid = self.record.group.fields[self.file_name]
+                name_wid.set_client(self.record, False)
          self.display(self.record, self.field)

      def display(self, record, field):
Index: tryton/gui/window/view_form/view/form_gtk/parser.py
===================================================================
--- a/tryton/gui/window/view_form/view/form_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/form_gtk/parser.py
@@ -518,7 +518,7 @@
                      continue
                  for attr_name in ('relation', 'domain', 'selection',
                          'relation_field', 'string', 'views', 'invisible',
-                        'add_remove', 'sort', 'context', 'size'):
+                        'add_remove', 'sort', 'context', 'size', 'file_name'):
                      if attr_name in fields[name].attrs and \
                              not attr_name in attrs:
                          attrs[attr_name] = fields[name].attrs[attr_name]


--
[email protected] mailing list

Reply via email to