[FIX] Adapt to the new partner model in 7.0

This commit is contained in:
Stefan Rijnhart
2013-09-14 13:54:23 +02:00
parent 75dddee9db
commit 44f90bcd79
4 changed files with 16 additions and 10 deletions

View File

@@ -72,7 +72,7 @@ class banking_import_transaction(orm.Model):
invoice_ids = invoice_obj.search(cr, uid, [
'&',
('type', '=', 'in_invoice'),
('partner_id', '=', account_info.bank_partner_id.id),
('partner_id', 'child_of', account_info.bank_partner_id.id),
('company_id', '=', account_info.company_id.id),
('date_invoice', '=', trans.effective_date),
('reference', '=', reference),

View File

@@ -131,7 +131,7 @@ class banking_transaction_wizard(orm.TransientModel):
{ 'move_line_id': move_line.id, }, context=context)
statement_line_obj.write(
cr, uid, wiz.import_transaction_id.statement_line_id.id,
{ 'partner_id': move_line.invoice.partner_id.id,
{ 'partner_id': move_line.partner_id.id or False,
'account_id': move_line.account_id.id,
}, context=context)
found = True
@@ -226,9 +226,9 @@ class banking_transaction_wizard(orm.TransientModel):
}
if todo_entry[0]:
st_line_vals['partner_id'] = invoice_obj.read(
cr, uid, todo_entry[0],
['partner_id'], context=context)['partner_id'][0]
st_line_vals['partner_id'] = invoice_obj.browse(
cr, uid, todo_entry[0], context=context
).partner_id.commercial_partner_id.id
statement_line_obj.write(
cr, uid, statement_line_id,

View File

@@ -97,8 +97,11 @@ def get_partner(pool, cr, uid, name, address, postal_code, city,
TODO: revive the search by lines from the address argument
'''
partner_obj = pool.get('res.partner')
partner_ids = partner_obj.search(cr, uid, [('name', 'ilike', name)],
context=context)
partner_ids = partner_obj.search(
cr, uid, [
'|', ('is_company', '=', True), ('parent_id', '=', False),
('name', 'ilike', name),
], context=context)
if not partner_ids:
# Try brute search on address and then match reverse
criteria = []
@@ -118,11 +121,11 @@ def get_partner(pool, cr, uid, name, address, postal_code, city,
key = name.lower()
partners = []
for partner in partner_obj.read(
cr, uid, partner_search_ids, ['name'], context=context):
cr, uid, partner_search_ids, ['name', 'commercial_partner_id'], context=context):
if (len(partner['name']) > 3 and partner['name'].lower() in key):
partners.append(partner)
partners.sort(key=lambda x: len(x['name']), reverse=True)
partner_ids = [x['id'] for x in partners]
partner_ids = [x['commercial_partner_id'][0] for x in partners]
if len(partner_ids) > 1:
log.append(
_('More than one possible match found for partner with '

View File

@@ -34,7 +34,10 @@ class link_partner(orm.TransientModel):
'supplier': fields.boolean('Supplier'),
'customer': fields.boolean('Customer'),
'partner_id': fields.many2one(
'res.partner', 'or link existing partner'),
'res.partner', 'or link existing partner',
domain=['|', ('is_company', '=', True),
('partner_id', '=', False)],
),
'statement_line_id': fields.many2one(
'account.bank.statement.line',
'Statement line', required=True),