Skip to content

Commit 0fe8bf8

Browse files
committed
[IMP] l10n_it_fatturapa_in: commercial partner search improvement
1 parent 659df4b commit 0fe8bf8

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

l10n_it_fatturapa_in/wizard/wizard_import_fatturapa.py

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,26 @@ def getPartnerBase(self, DatiAnagrafici, partnerCreate=True): # noqa: C901
202202
cf, vat = self._define_vat_fiscalcode(DatiAnagrafici)
203203

204204
partners = self._find_partners_by_cf_vat(DatiAnagrafici)
205+
commercial_partner_id = self._find_commercial_partner(DatiAnagrafici, partners)
206+
if commercial_partner_id is None:
207+
return False
208+
if partners:
209+
if not commercial_partner_id:
210+
commercial_partner_id = partners[0].commercial_partner_id.id
211+
self.check_partner_base_data(commercial_partner_id, DatiAnagrafici)
212+
return commercial_partner_id
213+
else:
214+
# partner to be created
215+
vals = self._prepare_partner_values(DatiAnagrafici, vat, cf)
216+
217+
if partnerCreate:
218+
return partner_model.create(vals).id
219+
220+
return vals
221+
222+
def _find_commercial_partner(self, DatiAnagrafici, partners):
205223
commercial_partner_id = False
224+
cf, vat = self._define_vat_fiscalcode(DatiAnagrafici)
206225
if len(partners) > 1:
207226
for partner in partners:
208227
if (
@@ -216,21 +235,9 @@ def getPartnerBase(self, DatiAnagrafici, partnerCreate=True): # noqa: C901
216235
"present in db." % (vat, cf)
217236
)
218237
)
219-
return False
238+
return None
220239
commercial_partner_id = partner.commercial_partner_id.id
221-
if partners:
222-
if not commercial_partner_id:
223-
commercial_partner_id = partners[0].commercial_partner_id.id
224-
self.check_partner_base_data(commercial_partner_id, DatiAnagrafici)
225-
return commercial_partner_id
226-
else:
227-
# partner to be created
228-
vals = self._prepare_partner_values(DatiAnagrafici, vat, cf)
229-
230-
if partnerCreate:
231-
return partner_model.create(vals).id
232-
233-
return vals
240+
return commercial_partner_id
234241

235242
def _find_partners_by_cf_vat(self, DatiAnagrafici):
236243
partner_model = self.env["res.partner"]
@@ -1868,6 +1875,8 @@ def _process_fatturapa_attachment(self, fatturapa_attachments):
18681875
"invoice_id": invoice.id,
18691876
}
18701877
)
1878+
elif isinstance(partner, bool):
1879+
invoice.write({"intermediary": False})
18711880
else:
18721881
new_intermediary_data.append(
18731882
{

0 commit comments

Comments
 (0)