Show all invoice addresses to internal users

This commit is contained in:
Tobias Kunze 2025-06-15 15:58:44 +02:00
parent a3533ed651
commit 4718a01bb0

View file

@ -130,11 +130,18 @@ def get_invoice_addresses(user):
odoo_users = CLIENT.search_read(
model="res.users",
domain=[("login", "=", email), ("active", "=", True)],
fields=["id"],
fields=["id", "share"],
limit=1,
)
if odoo_users and (uid := odoo_users[0].get("id")):
or_conditions.append(("create_uid", "=", uid))
if odoo_users:
odoo_user = odoo_users[0]
if odoo_user.get("share") is False:
# An Odoo internal user (share=False) should see all invoice addresses.
or_conditions = []
elif uid := odoo_user.get("id"):
# For portal users or users not in Odoo, apply standard filters.
or_conditions.append(("create_uid", "=", uid))
odoo_contacts = CLIENT.search_read(
model="res.partner",