From 40fd0a1b096696fd70d23d2b4603eeb5b092c73d Mon Sep 17 00:00:00 2001 From: vra Date: Tue, 10 Nov 2009 18:16:31 +0530 Subject: [PATCH 1/2] merge multi_company_currency,multi_company_sequence modules. bzr revid: vra@tinyerp.com-20091110124631-awfw0jb10bzo945j --- bin/addons/base/base_update.xml | 4 ++++ bin/addons/base/ir/ir.xml | 2 ++ bin/addons/base/ir/ir_sequence.py | 1 + bin/addons/base/res/res_company.py | 1 + bin/addons/base/res/res_currency.py | 15 +++++++++++++++ bin/addons/base/res/res_currency_view.xml | 19 ++++++++++++------- 6 files changed, 35 insertions(+), 7 deletions(-) diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml index 3fbd24bf886..b26b4ecdcdc 100644 --- a/bin/addons/base/base_update.xml +++ b/bin/addons/base/base_update.xml @@ -128,6 +128,7 @@ + @@ -168,6 +169,9 @@ + + + diff --git a/bin/addons/base/ir/ir.xml b/bin/addons/base/ir/ir.xml index f08f023206d..c252cc4ab64 100644 --- a/bin/addons/base/ir/ir.xml +++ b/bin/addons/base/ir/ir.xml @@ -105,6 +105,7 @@ + @@ -148,6 +149,7 @@ + diff --git a/bin/addons/base/ir/ir_sequence.py b/bin/addons/base/ir/ir_sequence.py index aa1a498d66b..c0d23602f40 100644 --- a/bin/addons/base/ir/ir_sequence.py +++ b/bin/addons/base/ir/ir_sequence.py @@ -46,6 +46,7 @@ class ir_sequence(osv.osv): 'number_next': fields.integer('Next Number', required=True), 'number_increment': fields.integer('Increment Number', required=True), 'padding' : fields.integer('Number padding', required=True), + 'company_id' : fields.many2one('res.company', 'Company'), } _defaults = { 'active': lambda *a: True, diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 1a0b4fe9a4a..64ca3096179 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -38,6 +38,7 @@ class res_company(osv.osv): 'rml_header2' : fields.text('RML Internal Header'), 'logo' : fields.binary('Logo'), 'currency_id': fields.many2one('res.currency', 'Currency', required=True), + 'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency') } def _get_child_ids(self, cr, uid, uid2, context={}): diff --git a/bin/addons/base/res/res_currency.py b/bin/addons/base/res/res_currency.py index 029ea838da0..ecec7162316 100644 --- a/bin/addons/base/res/res_currency.py +++ b/bin/addons/base/res/res_currency.py @@ -57,12 +57,27 @@ class res_currency(osv.osv): 'accuracy': fields.integer('Computational Accuracy'), 'rounding': fields.float('Rounding factor', digits=(12,6)), 'active': fields.boolean('Active'), + 'company_id':fields.many2one('res.company', 'Company'), + 'date': fields.date('Date'), + 'base': fields.boolean('Base') + } _defaults = { 'active': lambda *a: 1, } _order = "code" + def read(self, cr, user, ids, fields=None, context=None, load='_classic_read'): + res=super(osv.osv, self).read(cr, user, ids, fields, context, load) + for r in res: + if r.__contains__('rate_ids'): + rates=r['rate_ids'] + if rates: + currency_rate_obj=self.pool.get('res.currency.rate') + currency_date=currency_rate_obj.read(cr,user,rates[0],['name'])['name'] + r['date']=currency_date + return res + def round(self, cr, uid, currency, amount): if currency.rounding == 0: return 0.0 diff --git a/bin/addons/base/res/res_currency_view.xml b/bin/addons/base/res/res_currency_view.xml index 476d797e98e..f68fe20f447 100644 --- a/bin/addons/base/res/res_currency_view.xml +++ b/bin/addons/base/res/res_currency_view.xml @@ -8,12 +8,15 @@ tree - - - - - - + + + + + + + + + @@ -24,12 +27,14 @@
+ - + + From 6806d791846ad33bac6809de2400ba651647e262 Mon Sep 17 00:00:00 2001 From: gpa Date: Fri, 20 Nov 2009 19:19:13 +0530 Subject: [PATCH 2/2] [IMP] ir_sequence,res_company,res_currency objects related to company_id. bzr revid: gpa@gpa-desktop-20091120134913-yeksffwd05mlrwoi --- bin/addons/base/ir/ir_sequence.py | 1 + bin/addons/base/res/res_company.py | 4 ++++ bin/addons/base/res/res_currency.py | 1 + 3 files changed, 6 insertions(+) diff --git a/bin/addons/base/ir/ir_sequence.py b/bin/addons/base/ir/ir_sequence.py index c0d23602f40..f1334b6996a 100644 --- a/bin/addons/base/ir/ir_sequence.py +++ b/bin/addons/base/ir/ir_sequence.py @@ -53,6 +53,7 @@ class ir_sequence(osv.osv): 'number_increment': lambda *a: 1, 'number_next': lambda *a: 1, 'padding' : lambda *a : 0, + 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'ir.sequence', c) } def _process(self, s): diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 64ca3096179..3d481cdfa6d 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -41,6 +41,10 @@ class res_company(osv.osv): 'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency') } + + def _company_default_get(self, cr, uid, object=False, context={}): + return self.pool.get('res.users').browse(cr, uid, uid).company_id.id + def _get_child_ids(self, cr, uid, uid2, context={}): company = self.pool.get('res.users').company_get(cr, uid, uid2) ids = self._get_company_children(cr, uid, company) diff --git a/bin/addons/base/res/res_currency.py b/bin/addons/base/res/res_currency.py index ecec7162316..554fcdaadd7 100644 --- a/bin/addons/base/res/res_currency.py +++ b/bin/addons/base/res/res_currency.py @@ -64,6 +64,7 @@ class res_currency(osv.osv): } _defaults = { 'active': lambda *a: 1, + 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'res.currency', c) } _order = "code"