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 @@