[imp] multi-company + merge

bzr revid: fp@tinyerp.com-20091128092522-g7fumj3p55kv6ygr
This commit is contained in:
Fabien Pinckaers 2009-11-28 10:25:22 +01:00
parent 87e6f1c79f
commit 7ea99724a7
7 changed files with 107 additions and 4 deletions

View File

@ -242,6 +242,7 @@ class document_directory(osv.osv):
_description = 'Document directory'
_columns = {
'name': fields.char('Name', size=64, required=True, select=1),
'company_id': fields.many2one('res.company', 'Company'),
'write_date': fields.datetime('Date Modified', readonly=True),
'write_uid': fields.many2one('res.users', 'Last Modification User', readonly=True),
'create_date': fields.datetime('Date Created', readonly=True),
@ -269,6 +270,7 @@ class document_directory(osv.osv):
'user_id': lambda self,cr,uid,ctx: uid,
'domain': lambda self,cr,uid,ctx: '[]',
'type': lambda *args: 'directory',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'document.directory', c),
'ressource_id': lambda *a: 0
}
_sql_constraints = [

View File

@ -10,5 +10,17 @@
<field name="groups_id" eval="[(6,0,[ref('group_document_manager')])]"/>
</record>
<record model="ir.rule.group" id="document_directory_comp_rule_group">
<field name="name">Document Directory multi-company</field>
<field name="model_id" ref="model_document_directory"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="document_directory_comp_rule">
<field name="field_id" search="[('model','=','document.directory'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="document_directory_comp_rule_group"/>
<field name="domain_force">['|','|',('company_id','=',False),('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@ -9,5 +9,28 @@
<field name="name">Purchase / User</field>
</record>
<record model="ir.rule.group" id="purchase_order_comp_rule_group">
<field name="name">Purchase Order multi-company</field>
<field name="model_id" ref="model_purchase_order"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="purchase_order_comp_rule">
<field name="field_id" search="[('model','=','purchase.order'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="purchase_order_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule.group" id="purchase_order_line_comp_rule_group">
<field name="name">Purchase Order Line multi-company</field>
<field name="model_id" ref="model_purchase_order_line"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="purchase_order_line_comp_rule">
<field name="field_id" search="[('model','=','purchase.order.line'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="purchase_order_line_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@ -257,6 +257,7 @@ class sale_order(osv.osv):
'company_id': fields.many2one('res.company','Company'),
}
_defaults = {
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'sale.order', c),
'picking_policy': lambda *a: 'direct',
'date_order': lambda *a: time.strftime('%Y-%m-%d'),
'order_policy': lambda *a: 'manual',

View File

@ -25,5 +25,17 @@
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule.group" id="sale_order_line_comp_rule_group">
<field name="name">Sale Order Line multi-company</field>
<field name="model_id" ref="model_sale_order_line"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="sale_order_line_comp_rule">
<field name="field_id" search="[('model','=','sale.order.line'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="sale_order_line_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@ -17,5 +17,50 @@
<field name="groups_id" eval="[(6,0,[ref('group_stock_manager')])]"/>
</record>
<record model="ir.rule.group" id="stock_warehouse_comp_rule_group">
<field name="name">Warehouse multi-company</field>
<field name="model_id" ref="model_stock_warehouse"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="stock_warehouse_comp_rule">
<field name="field_id" search="[('model','=','stock.warehouse'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="stock_warehouse_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule.group" id="stock_location_comp_rule_group">
<field name="name">Location multi-company</field>
<field name="model_id" ref="model_stock_location"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="stock_location_comp_rule">
<field name="field_id" search="[('model','=','stock.location'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="stock_location_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule.group" id="stock_inventory_line_comp_rule_group">
<field name="name">Inventory Line multi-company</field>
<field name="model_id" ref="model_stock_inventory_line"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="stock_inventory_line_comp_rule">
<field name="field_id" search="[('model','=','stock.inventory.line'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="stock_inventory_line_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record model="ir.rule.group" id="stock_inventory_comp_rule_group">
<field name="name">Inventory multi-company</field>
<field name="model_id" ref="model_stock_inventory"/>
<field name="global" eval="True"/>
</record>
<record model="ir.rule" id="stock_inventory_comp_rule">
<field name="field_id" search="[('model','=','stock.inventory'),('name','=','company_id')]" model="ir.model.fields"/>
<field name="rule_group" ref="stock_inventory_comp_rule_group"/>
<field name="domain_force">['|',('company_id.child_ids','child_of',[user.company_id.id]),('company_id','child_of',[user.company_id.id])]</field>
</record>
</data>
</openerp>

View File

@ -130,7 +130,8 @@ class stock_location(osv.osv):
_columns = {
'name': fields.char('Location Name', size=64, required=True, translate=True),
'active': fields.boolean('Active'),
'usage': fields.selection([('supplier', 'Supplier Location'), ('view', 'View'), ('internal', 'Internal Location'), ('customer', 'Customer Location'), ('inventory', 'Inventory'), ('procurement', 'Requisition'), ('production', 'Production')], 'Location Type', required=True),
'company_id': fields.many2one('res.company','Company',required=True),
'usage': fields.selection([('supplier', 'Supplier Location'), ('view', 'View'), ('internal', 'Internal Location'), ('customer', 'Customer Location'), ('inventory', 'Inventory'), ('procurement', 'Procurement'), ('production', 'Production')], 'Location Type', required=True),
'allocation_method': fields.selection([('fifo', 'FIFO'), ('lifo', 'LIFO'), ('nearest', 'Nearest')], 'Allocation Method', required=True),
'complete_name': fields.function(_complete_name, method=True, type='char', size=100, string="Location Name"),
@ -174,6 +175,7 @@ class stock_location(osv.osv):
'allocation_method': lambda *a: 'fifo',
'chained_location_type': lambda *a: 'none',
'chained_auto_packing': lambda *a: 'manual',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.location', c)
'posx': lambda *a: 0,
'posy': lambda *a: 0,
'posz': lambda *a: 0,
@ -1347,10 +1349,12 @@ class stock_inventory(osv.osv):
'inventory_line_id': fields.one2many('stock.inventory.line', 'inventory_id', 'Inventories', readonly=True, states={'draft': [('readonly', False)]}),
'move_ids': fields.many2many('stock.move', 'stock_inventory_move_rel', 'inventory_id', 'move_id', 'Created Moves'),
'state': fields.selection( (('draft', 'Draft'), ('done', 'Done'), ('cancel','Cancelled')), 'State', readonly=True),
'company_id': fields.many2one('res.company','Company',required=True),
}
_defaults = {
'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
'state': lambda *a: 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', c)
}
#
@ -1417,7 +1421,8 @@ class stock_inventory_line(osv.osv):
'location_id': fields.many2one('stock.location', 'Location', required=True),
'product_id': fields.many2one('product.product', 'Product', required=True),
'product_uom': fields.many2one('product.uom', 'Product UOM', required=True),
'product_qty': fields.float('Quantity')
'product_qty': fields.float('Quantity'),
'company_id': fields.related('inventory_id','company_id',type='many2one',object='res.company',string='Company')
}
def on_change_product_id(self, cr, uid, ids, location_id, product, uom=False):
@ -1442,12 +1447,15 @@ class stock_warehouse(osv.osv):
_columns = {
'name': fields.char('Name', size=60, required=True),
# 'partner_id': fields.many2one('res.partner', 'Owner'),
'company_id': fields.many2one('res.company','Company',required=True),
'partner_address_id': fields.many2one('res.partner.address', 'Owner Address'),
'lot_input_id': fields.many2one('stock.location', 'Location Input', required=True),
'lot_stock_id': fields.many2one('stock.location', 'Location Stock', required=True),
'lot_output_id': fields.many2one('stock.location', 'Location Output', required=True),
}
_defaults = {
'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', c)
}
stock_warehouse()
@ -1500,4 +1508,4 @@ class stock_picking_move_wizard(osv.osv_memory):
stock_picking_move_wizard()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: