From 7727f7e4ae3d5f2872e754997e914eaebc0f9ec1 Mon Sep 17 00:00:00 2001 From: husen daudi Date: Wed, 1 Jul 2009 13:01:09 +0530 Subject: [PATCH 1/5] [FIX] module:base made name field translatable in action.server (ref:mga) bzr revid: hda@hda-20090701073109-ptut9d6x4w51jexe --- bin/addons/base/ir/ir_actions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index f8b186525cf..591a8ef2e73 100644 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -377,7 +377,7 @@ class actions_server(osv.osv): _sequence = 'ir_actions_id_seq' _order = 'sequence' _columns = { - 'name': fields.char('Action Name', required=True, size=64, help="Easy to Refer action by name e.g. One Sales Order -> Many Invoices"), + 'name': fields.char('Action Name', required=True, size=64, help="Easy to Refer action by name e.g. One Sales Order -> Many Invoices", translate=True), 'condition' : fields.char('Condition', size=256, required=True, help="Condition that is to be tested before action is executed, e.g. object.list_price > object.cost_price"), 'state': fields.selection([ ('client_action','Client Action'), From dfafebf681d5b72d25d2f8ed6b4faf5599034c9b Mon Sep 17 00:00:00 2001 From: "YSA,VRA" <> Date: Wed, 1 Jul 2009 13:27:25 +0530 Subject: [PATCH 2/5] [FIX] ir_translation : corrected entry insertion when adding translation lp bug: https://launchpad.net/bugs/385544 fixed bzr revid: jvo@tinyerp.com-20090701075725-tysembj3bu81eari --- bin/addons/base/ir/ir_translation.py | 3 ++- bin/osv/orm.py | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/ir/ir_translation.py b/bin/addons/base/ir/ir_translation.py index 286971357e1..68e9138479e 100644 --- a/bin/addons/base/ir/ir_translation.py +++ b/bin/addons/base/ir/ir_translation.py @@ -94,7 +94,7 @@ class ir_translation(osv.osv): translations[res_id] = value return translations - def _set_ids(self, cr, uid, name, tt, lang, ids, value): + def _set_ids(self, cr, uid, name, tt, lang, ids, value, src=None): # clear the caches tr = self._get_ids(cr, uid, name, tt, lang, ids) for res_id in tr: @@ -117,6 +117,7 @@ class ir_translation(osv.osv): 'name':name, 'res_id':id, 'value':value, + 'src':src, }) return len(ids) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 1cd3acc08c9..e230c65ebbd 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -2291,11 +2291,12 @@ class orm(orm_template): else: cr.execute('update "'+self._table+'" set '+string.join(upd0, ',')+' ' \ 'where id in ('+ids_str+')', upd1) - + if totranslate: for f in direct: if self._columns[f].translate: - self.pool.get('ir.translation')._set_ids(cr, user, self._name+','+f, 'model', context['lang'], ids, vals[f]) + src_trans = self.pool.get(self._name).read(cr,user,ids,[f]) + self.pool.get('ir.translation')._set_ids(cr, user, self._name+','+f, 'model', context['lang'], ids, vals[f], src_trans[0][f]) # call the 'set' method of fields which are not classic_write upd_todo.sort(lambda x, y: self._columns[x].priority-self._columns[y].priority) From 004cb7d89c590b06447bcc4cfe9af91211f56d72 Mon Sep 17 00:00:00 2001 From: "dsh (Open ERP)" Date: Wed, 1 Jul 2009 13:58:50 +0530 Subject: [PATCH 3/5] [IMP] attributes of barcode bzr revid: dsh@tinyerp.com-20090701082850-e4uelitk1ijm30g0 --- bin/report/render/rml2pdf/trml2pdf.py | 2 +- bin/report/render/rml2pdf/utils.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py index cae88ac5eef..5d4c93b67fd 100644 --- a/bin/report/render/rml2pdf/trml2pdf.py +++ b/bin/report/render/rml2pdf/trml2pdf.py @@ -573,7 +573,7 @@ class _rml_flowable(object): from reportlab.graphics.barcode import usps except Exception, e: return None - args = utils.attr_get(node, [], {'ratio':'float','xdim':'unit','height':'unit','checksum':'bool','quiet':'bool'}) + args = utils.attr_get(node, [], {'ratio':'float','xdim':'unit','height':'unit','checksum':'int','quiet':'int','width':'unit','stop':'bool','bearers':'int','barWidth':'float','barHeight':'float'}) codes = { 'codabar': lambda x: common.Codabar(x, **args), 'code11': lambda x: common.Code11(x, **args), diff --git a/bin/report/render/rml2pdf/utils.py b/bin/report/render/rml2pdf/utils.py index b7f81ec24e4..5fe96631fac 100644 --- a/bin/report/render/rml2pdf/utils.py +++ b/bin/report/render/rml2pdf/utils.py @@ -162,6 +162,8 @@ def attr_get(node, attrs, dict={}): res[key] = int(node.get(key)) elif dict[key]=='unit': res[key] = unit_get(node.get(key)) + elif dict[key] == 'float' : + res[key] = float(node.get(key)) return res # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From b3c00f5e4fbef1c3f17a866d52c2309f50cb5bc4 Mon Sep 17 00:00:00 2001 From: "ACH,JVO" <> Date: Fri, 3 Jul 2009 11:38:23 +0530 Subject: [PATCH 4/5] [FIX] Export will consider float values as float and char as char lp bug: https://launchpad.net/bugs/357945 fixed bzr revid: jvo@tinyerp.com-20090703060823-5aupesiimak1bb7x --- bin/osv/orm.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index e230c65ebbd..1686d4451b0 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -433,6 +433,16 @@ class orm_template(object): return browse_null() def __export_row(self, cr, uid, row, fields, context=None): + + def check_type(type,r): + if type == 'float': + return 0.0 + elif type == 'integer': + return 0 + elif type == 'char': + return '' + return r + lines = [] data = map(lambda x: '', range(len(fields))) done = [] @@ -444,6 +454,12 @@ class orm_template(object): while i < len(f): r = r[f[i]] if not r: + if f[i] in self._columns: + r = check_type(self._columns[f[i]]._type,r) + elif f[i] in self._inherit_fields: + r = check_type(self._inherit_fields[f[i]][2]._type,r) + + data[fpos] = r break if isinstance(r, (browse_record_list, list)): first = True From 5669861059844144724878235a465e847bd450f2 Mon Sep 17 00:00:00 2001 From: "ACH(OpenERP)" <> Date: Fri, 3 Jul 2009 18:36:09 +0530 Subject: [PATCH 5/5] [FIX] CSV Export : null values handled bzr revid: jvo@tinyerp.com-20090703130609-elo54zx9o5a4905d --- bin/osv/orm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/osv/orm.py b/bin/osv/orm.py index 1686d4451b0..684ec16f795 100644 --- a/bin/osv/orm.py +++ b/bin/osv/orm.py @@ -459,7 +459,7 @@ class orm_template(object): elif f[i] in self._inherit_fields: r = check_type(self._inherit_fields[f[i]][2]._type,r) - data[fpos] = r + data[fpos] = tools.ustr(r) break if isinstance(r, (browse_record_list, list)): first = True