diff --git a/README.md b/README.md
index e1f33daefa5..d1d18d9ff4f 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,6 @@ addon | version | maintainers | summary
[partner_address_street3](partner_address_street3/) | 19.0.1.0.0 | | Add a third address line on partners
[partner_affiliate](partner_affiliate/) | 19.0.1.0.0 | | Partner Affiliates
[partner_auto_archive](partner_auto_archive/) | 19.0.1.0.0 | | Archive periodically all contacts marked as auto-archive.
-[partner_category_description](partner_category_description/) | 19.0.1.0.1 |
| Adds a description field to contact categories to improve organization and managment of customer relationships.
[partner_company_default](partner_company_default/) | 19.0.1.0.0 | | Partner Company Default
[partner_company_group](partner_company_group/) | 19.0.1.0.0 |
| Adds the possibility to add a company group to a company
[partner_company_type](partner_company_type/) | 19.0.1.0.0 | | Adds a company type to partner that are companies
diff --git a/partner_address_street3/models/res_partner.py b/partner_address_street3/models/res_partner.py
index 1b3a2f33db1..078d4e55b9f 100644
--- a/partner_address_street3/models/res_partner.py
+++ b/partner_address_street3/models/res_partner.py
@@ -18,6 +18,18 @@ def _address_fields(self):
res.append("street3")
return res
+ @api.model
+ def default_get(self, default_fields):
+ values = super().default_get(default_fields)
+ parent_id = self.env.context.get("default_parent_id") or values.get("parent_id")
+ if parent_id:
+ parent = self.browse(parent_id)
+ for field in self._address_fields():
+ if field in default_fields and not values.get(field):
+ val = parent[field]
+ values[field] = val.id if isinstance(val, models.BaseModel) else val
+ return values
+
def _display_address(self, without_company=False):
"""Remove empty lines which can happen when street3 field is empty."""
res = super()._display_address(without_company=without_company)
diff --git a/partner_address_street3/tests/test_street_3.py b/partner_address_street3/tests/test_street_3.py
index 93daad700d6..07854d63243 100644
--- a/partner_address_street3/tests/test_street_3.py
+++ b/partner_address_street3/tests/test_street_3.py
@@ -64,3 +64,55 @@ def test_uninstall(self):
uninstall_hook(self.env)
us_country = self.env.ref("base.us")
self.assertTrue("%(street3)s" not in us_country.address_format)
+
+ def test_default_get_copies_street3_from_default_parent_id(self):
+ """Replicate the "Add in Contacts & Addresses" inline form context.
+
+ Odoo passes ``default_parent_id`` in the context when the inline
+ ``child_ids`` form is opened from a company contact, so ``default_get``
+ must pre-fill the address fields (including ``street3``) from that
+ parent.
+ """
+ parent = self.env["res.partner"].create(
+ {
+ "name": "Parent Company",
+ "street": "123 Main St",
+ "street2": "Floor 2",
+ "street3": "Suite 100",
+ "city": "Springfield",
+ "country_id": self.env.ref("base.us").id,
+ }
+ )
+ values = (
+ self.env["res.partner"]
+ .with_context(default_parent_id=parent.id, default_type="contact")
+ .default_get(["street", "street2", "street3", "city"])
+ )
+ self.assertEqual(values.get("street3"), "Suite 100")
+ self.assertEqual(values.get("street2"), "Floor 2")
+ self.assertEqual(values.get("street"), "123 Main St")
+ self.assertEqual(values.get("city"), "Springfield")
+
+ def test_default_get_does_not_overwrite_explicit_value(self):
+ """An explicit default must win over the parent's value."""
+ parent = self.env["res.partner"].create(
+ {"name": "Parent", "street3": "From parent"}
+ )
+ values = (
+ self.env["res.partner"]
+ .with_context(
+ default_parent_id=parent.id,
+ default_type="contact",
+ default_street3="Explicit",
+ )
+ .default_get(["street3"])
+ )
+ self.assertEqual(values.get("street3"), "Explicit")
+
+ def test_default_get_no_parent(self):
+ values = (
+ self.env["res.partner"]
+ .with_context(default_type="contact")
+ .default_get(["street3"])
+ )
+ self.assertNotIn("street3", values)
diff --git a/setup/_metapackage/pyproject.toml b/setup/_metapackage/pyproject.toml
index e033e0cbeb0..b40456428bb 100644
--- a/setup/_metapackage/pyproject.toml
+++ b/setup/_metapackage/pyproject.toml
@@ -12,7 +12,6 @@ dependencies = [
"odoo-addon-partner_address_street3==19.0.*",
"odoo-addon-partner_affiliate==19.0.*",
"odoo-addon-partner_auto_archive==19.0.*",
- "odoo-addon-partner_category_description==19.0.*",
"odoo-addon-partner_company_default==19.0.*",
"odoo-addon-partner_company_group==19.0.*",
"odoo-addon-partner_company_type==19.0.*",
@@ -57,7 +56,6 @@ dependencies = [
"odoo-addon-partner_title_contacts==19.0.*",
"odoo-addon-partner_type_base==19.0.*",
"odoo-addon-partner_tz==19.0.*",
- "odoo-addon-partner_uom_mapping==19.0.*",
"odoo-addon-partner_utm_source==19.0.*",
"odoo-addon-partner_vat_unique==19.0.*",
"odoo-addon-sale_partner_company_group==19.0.*",