Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[T1606] FIX: Search partner address from bank data if non-existing #1670

Open
wants to merge 2 commits into
base: 14.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions partner_compassion/i18n/de.po
Original file line number Diff line number Diff line change
Expand Up @@ -849,7 +849,7 @@ msgstr "Nachname"
#. module: partner_compassion
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__date
msgid "Last time used"
msgstr ""
msgstr "Letzte Nutzung"

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.view_partner_form_compassion_ch
Expand Down Expand Up @@ -1601,4 +1601,17 @@ msgstr ""
#. module: partner_compassion
#: model:res.groups,comment:partner_compassion.group_criminal_record
msgid "the user will have access to all criminal records."
msgstr ""
msgstr ""

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.search_bank_address_wizard_form
msgid "Existing partner info in bank data (May be unavailable)"
msgstr "Partnerinformationen in Bankdaten (können nicht verfügbar sein)"


#. module: partner_compassion
#: code:addons/partner_compassion/wizards/search_bank_address_wizard.py:0
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__partner_address
#, python-format
msgid "Partner Address"
msgstr "Partneradresse"
16 changes: 14 additions & 2 deletions partner_compassion/i18n/fr_CH.po
Original file line number Diff line number Diff line change
Expand Up @@ -848,7 +848,7 @@ msgstr "Nom de famille"
#. module: partner_compassion
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__date
msgid "Last time used"
msgstr ""
msgstr "Dernière utilisation"

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.view_partner_form_compassion_ch
Expand Down Expand Up @@ -1600,4 +1600,16 @@ msgstr ""
#. module: partner_compassion
#: model:res.groups,comment:partner_compassion.group_criminal_record
msgid "the user will have access to all criminal records."
msgstr ""
msgstr ""

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.search_bank_address_wizard_form
msgid "Existing partner info in bank data (May be unavailable)"
msgstr "Infos partenaire données bancaires (peut être indisponible)"

#. module: partner_compassion
#: code:addons/partner_compassion/wizards/search_bank_address_wizard.py:0
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__partner_address
#, python-format
msgid "Partner Address"
msgstr "Adresse partenaire"
16 changes: 14 additions & 2 deletions partner_compassion/i18n/it.po
Original file line number Diff line number Diff line change
Expand Up @@ -848,7 +848,7 @@ msgstr "Cognome"
#. module: partner_compassion
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__date
msgid "Last time used"
msgstr ""
msgstr "Ultimo utilizzo"

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.view_partner_form_compassion_ch
Expand Down Expand Up @@ -1600,4 +1600,16 @@ msgstr ""
#. module: partner_compassion
#: model:res.groups,comment:partner_compassion.group_criminal_record
msgid "the user will have access to all criminal records."
msgstr ""
msgstr ""

#. module: partner_compassion
#: model_terms:ir.ui.view,arch_db:partner_compassion.search_bank_address_wizard_form
msgid "Existing partner info in bank data (May be unavailable)"
msgstr "Info partner nei dati bancari (potrebbero non essere disponibili)"

#. module: partner_compassion
#: code:addons/partner_compassion/wizards/search_bank_address_wizard.py:0
#: model:ir.model.fields,field_description:partner_compassion.field_search_bank_address_wizard__partner_address
#, python-format
msgid "Partner Address"
msgstr "Indirizzo del partner"
9 changes: 5 additions & 4 deletions partner_compassion/views/search_bank_address_wizard.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form>
<div class="oe_title">
<h3
>Existing Partner info in bank data (May be unavailable)</h3>
</div>
<group>
<field
name="account_bank_statement_line"
invisible="True"
/>
<field name="account_move" invisible="True" />
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<field name="account_move" invisible="True" />
<field name="move_id" invisible="True" />

<field name="partner_address" />
<field name="date" />
</group>
Expand Down
31 changes: 24 additions & 7 deletions partner_compassion/wizards/search_bank_address_wizard.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,26 +8,28 @@
#
##############################################################################

from odoo import _, fields, models
import re

from odoo import _, api, fields, models


class SearchBankAddressWizard(models.TransientModel):
_name = "search.bank.address.wizard"
_description = "Wizard search bank address"

account_bank_statement_line = fields.Many2one(
"account.bank.statement.line",
account_move = fields.Many2one(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
account_move = fields.Many2one(
move_id = fields.Many2one(

"account.move",
domain=lambda self: self._get_domain(),
default=lambda self: self._get_default(),
)
partner_address = fields.Text(
"Partner address (Maybe)",
related="account_bank_statement_line.narration",
"Partner Address",
compute="_compute_partner_address",
readonly=True,
)
date = fields.Date(
"Last time used",
related="account_bank_statement_line.date",
related="account_move.date",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
related="account_move.date",
related="move_id.date",

)

overwriting_street = fields.Char("Street", default="")
Expand All @@ -45,10 +47,25 @@ def _get_domain(self):
return []

def _get_default(self):
return self.env["account.bank.statement.line"].search(
return self.env["account.move"].search(
self._get_domain(), order="date desc", limit=1
)

def _extract_address_from_narration(self, narration):
"""
Extract Postal Address from account_move.narration field
"""
match = re.search(r"Postal Address\s*\(PstlAdr\):\s*(.*)", narration)
if match:
return match.group(1).strip()
return ""

@api.depends("account_move.narration")
def _compute_partner_address(self):
for record in self:
narration = record.account_move.narration or ""
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
narration = record.account_move.narration or ""
narration = record.move_id.narration or ""

record.partner_address = self._extract_address_from_narration(narration)

def change_address(self):
self.env["res.partner"].browse(self.env.context["active_id"]).write(
{
Expand Down
Loading