[MERGE] Multicompany branch
bzr revid: jvo@tinyerp.com-20091124134553-qojljfvmxoc5g9r3
This commit is contained in:
@@ -128,6 +128,7 @@
|
||||
<tree string="Users">
|
||||
<field name="name"/>
|
||||
<field name="login"/>
|
||||
<field name="company_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -168,6 +169,9 @@
|
||||
<separator colspan="4" string="Your Logo - Use a size of about 450x150 pixels."/>
|
||||
<field colspan="4" name="logo" widget="image"/>
|
||||
</page>
|
||||
<page string="Currency">
|
||||
<field name="currency_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Header/Footer">
|
||||
<field colspan="4" name="rml_header" nolabel="1"/>
|
||||
</page>
|
||||
|
||||
@@ -105,6 +105,7 @@
|
||||
<group col="6" colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="company_id"/>
|
||||
<field name="active" select="2"/>
|
||||
</group>
|
||||
<notebook>
|
||||
@@ -148,6 +149,7 @@
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="active"/>
|
||||
<field name="company_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -46,12 +46,14 @@ 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,
|
||||
'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):
|
||||
|
||||
@@ -38,8 +38,13 @@ 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 _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)
|
||||
|
||||
@@ -57,12 +57,28 @@ 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,
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'res.currency', c)
|
||||
}
|
||||
_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
|
||||
|
||||
@@ -8,12 +8,15 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Currencies">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="rate"/>
|
||||
<field name="rounding"/>
|
||||
<field name="accuracy"/>
|
||||
<field name="active"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="company_id" select="2" />
|
||||
<field name="rate_ids" invisible="1"/>
|
||||
<field name="date"/>
|
||||
<field name="rate"/>
|
||||
<field name="rounding"/>
|
||||
<field name="accuracy"/>
|
||||
<field name="active"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -24,12 +27,14 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Currency">
|
||||
<field name="name" select="1" colspan="4"/>
|
||||
<field name="company_id" select="2" />
|
||||
<field name="code" select="1"/>
|
||||
<field name="rate"/>
|
||||
<field name="rounding"/>
|
||||
<field name="accuracy"/>
|
||||
<field name="active" select="1"/>
|
||||
<field colspan="4" mode="tree,form" name="rate_ids" nolabel="1">
|
||||
<field name="base"/>
|
||||
<field colspan="4" mode="tree,form" name="rate_ids" nolabel="1" attrs="{'readonly':[('base','=',True)]}">
|
||||
<form string="Rates">
|
||||
<field name="name"/>
|
||||
<field name="rate"/>
|
||||
|
||||
Reference in New Issue
Block a user