mirror of
https://github.com/OCA/bank-payment.git
synced 2025-02-02 10:37:31 +02:00
[MIG] Adapt partner search criteria to new model
[ADD] Restore Journal Entries tab on bank statement [FIX] Create partners either as supplier or customer based on amount sign [FIX] Delete transaction data if bank statement is deleted
This commit is contained in:
@@ -200,7 +200,11 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
|
||||
<page string="Transactions" position="after">
|
||||
<page string="Journal Entries" name="move_live_ids">
|
||||
<field colspan="4" name="move_line_ids" nolabel="1"/>
|
||||
</page>
|
||||
</page>
|
||||
<field name="period_id" position="replace"/>
|
||||
|
||||
<xpath expr="//page[@string='Transactions']/field/tree"
|
||||
|
||||
@@ -1066,7 +1066,10 @@ class banking_import_transaction(orm.Model):
|
||||
transaction.remote_owner_address,
|
||||
transaction.remote_owner_postalcode,
|
||||
transaction.remote_owner_city,
|
||||
country_code, results['log'], context=context)
|
||||
country_code, results['log'],
|
||||
customer=transaction.transferred_amount > 0,
|
||||
supplier=transaction.transferred_amount < 0,
|
||||
context=context)
|
||||
if transaction.remote_account:
|
||||
partner_bank_id = create_bank_account(
|
||||
self.pool, cr, uid, partner_id,
|
||||
@@ -1345,7 +1348,8 @@ class banking_import_transaction(orm.Model):
|
||||
'account.bank.statement.line', 'Statement line',
|
||||
ondelete='CASCADE'),
|
||||
'statement_id': fields.many2one(
|
||||
'account.bank.statement', 'Statement'),
|
||||
'account.bank.statement', 'Statement',
|
||||
ondelete='CASCADE'),
|
||||
'parent_id': fields.many2one(
|
||||
'banking.import.transaction', 'Split off from this transaction'),
|
||||
# match fields
|
||||
|
||||
@@ -119,7 +119,8 @@ def _has_attr(obj, attr):
|
||||
return False
|
||||
|
||||
def get_or_create_partner(pool, cr, uid, name, address, postal_code, city,
|
||||
country_code, log, context=None):
|
||||
country_code, log, supplier=False, customer=False,
|
||||
context=None):
|
||||
'''
|
||||
Get or create the partner belonging to the account holders name <name>
|
||||
|
||||
@@ -141,11 +142,11 @@ def get_or_create_partner(pool, cr, uid, name, address, postal_code, city,
|
||||
cr, uid, [('code', '=', country_code.upper())],
|
||||
context=context)
|
||||
country_id = country_ids and country_ids[0] or False
|
||||
criteria.append(('address.country_id', '=', country_id))
|
||||
criteria.append(('country_id', '=', country_id))
|
||||
if city:
|
||||
criteria.append(('address.city', 'ilike', city))
|
||||
criteria.append(('city', 'ilike', city))
|
||||
if postal_code:
|
||||
criteria.append(('address.zip', 'ilike', postal_code))
|
||||
criteria.append(('zip', 'ilike', postal_code))
|
||||
partner_search_ids = partner_obj.search(
|
||||
cr, uid, criteria, context=context)
|
||||
key = name.lower()
|
||||
@@ -164,16 +165,20 @@ def get_or_create_partner(pool, cr, uid, name, address, postal_code, city,
|
||||
user.company_id.partner_id.country.id or
|
||||
False
|
||||
)
|
||||
partner_id = partner_obj.create(cr, uid, dict(
|
||||
name=name, active=True,
|
||||
comment='Generated from Bank Statements Import',
|
||||
address=[(0,0,{
|
||||
partner_id = partner_obj.create(
|
||||
cr, uid, {
|
||||
'name': name,
|
||||
'active': True,
|
||||
'comment': 'Generated from Bank Statements Import',
|
||||
'street': address and address[0] or '',
|
||||
'street2': len(address) > 1 and address[1] or '',
|
||||
'city': city,
|
||||
'zip': postal_code or '',
|
||||
'country_id': country_id,
|
||||
})]), context=context)
|
||||
'is_company': True,
|
||||
'supplier': supplier,
|
||||
'customer': customer,
|
||||
}, context=context)
|
||||
else:
|
||||
if len(partner_ids) > 1:
|
||||
log.append(
|
||||
|
||||
Reference in New Issue
Block a user