openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #06465
[Merge] lp:~openerp-dev/openobject-client/trunk-bug-771801-rga into lp:openobject-client
Ravi Gadhia (OpenERP) has proposed merging lp:~openerp-dev/openobject-client/trunk-bug-771801-rga into lp:openobject-client.
Requested reviews:
Naresh(OpenERP) (nch-openerp)
Related bugs:
Bug #771801 in OpenERP GTK Client: "Export data save doesn't work with not import compatible data"
https://bugs.launchpad.net/openobject-client/+bug/771801
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-771801-rga/+merge/60368
--
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-771801-rga/+merge/60368
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-client/trunk-bug-771801-rga.
=== modified file 'bin/modules/gui/window/win_export.py'
--- bin/modules/gui/window/win_export.py 2011-01-25 10:26:37 +0000
+++ bin/modules/gui/window/win_export.py 2011-05-09 12:05:18 +0000
@@ -119,6 +119,7 @@
self.model = model
self.fields_data = {}
self.fields = {}
+ self.save_fields= {}
if context is None:
context = {}
self.context = context
@@ -201,6 +202,7 @@
self.fill_predefwin()
self.pref_export.show_all()
+
def model_populate(self, fields, prefix_node='', prefix=None, prefix_value='', level=2):
import_comp = self.wid_import_compatible.get_active()
fields = fields.copy()
@@ -275,9 +277,6 @@
sel.selected_foreach(self._sig_sel_add)
def _sig_sel_add(self, store, path, iter):
- name, relation = self.fields[store.get_value(iter,1)]
- #if relation:
- # return
num = self.model2.append()
self.model2.set(num, 0, store.get_value(iter,0), 1, store.get_value(iter,1))
@@ -290,19 +289,28 @@
self.model1.clear()
self.model2.clear()
self.model_populate(self.fields_original)
+ self.fill_predefwin()
def sig_unsel_all(self, widget=None):
self.model2.clear()
def fill_predefwin(self):
+ def foreach_handler(model, path, iter, fields_list):
+ for field in fields_list:
+ if model.get_value(iter,1) == field:
+ self.save_fields[field] = model.get_value(iter,0)
+
self.predef_model = gtk.ListStore(gobject.TYPE_PYOBJECT, gobject.TYPE_STRING, gobject.TYPE_STRING)
ir_export = rpc.RPCProxy('ir.exports')
ir_export_line = rpc.RPCProxy('ir.exports.line')
export_ids = ir_export.search([('resource', '=', self.model)])
for export in ir_export.read(export_ids):
fields = ir_export_line.read(export['export_fields'])
+ fields_list = [f['name'] for f in fields]
+ self.save_fields ={}
+ self.model1.foreach(foreach_handler, fields_list)
try:
- self.predef_model.append(([f['name'] for f in fields], export['name'], ', '.join([self.fields_data[f['name']]['string'] for f in fields])))
+ self.predef_model.append((self.save_fields.keys(), export['name'], ', '.join(self.save_fields.values())))
except:
pass
self.pref_export.set_model(self.predef_model)
@@ -324,7 +332,8 @@
def sel_predef(self, treeview, path, column):
self.model2.clear()
for field in self.predef_model[path[0]][0]:
- self.model2.append((self.fields_data[field]['string'], field))
+ if self.fields_data.get(field, False):
+ self.model2.append((self.fields_data[field]['string'], field))
def go(self):
button = self.win.run()
Follow ups