diff --git a/addons/delivery_mondialrelay/models/res_partner.py b/addons/delivery_mondialrelay/models/res_partner.py
index 8952d9e5c5b..3c734794159 100644
--- a/addons/delivery_mondialrelay/models/res_partner.py
+++ b/addons/delivery_mondialrelay/models/res_partner.py
@@ -37,3 +37,8 @@ class ResPartnerMondialRelay(models.Model):
'parent_id': self.id,
})
return partner
+
+ def _avatar_get_placeholder_path(self):
+ if self.is_mondialrelay:
+ return "delivery_mondialrelay/static/src/img/truck_mr.png"
+ return super()._avatar_get_placeholder_path()
diff --git a/addons/delivery_mondialrelay/views/views.xml b/addons/delivery_mondialrelay/views/views.xml
index 56566676f51..56aad18b8c0 100644
--- a/addons/delivery_mondialrelay/views/views.xml
+++ b/addons/delivery_mondialrelay/views/views.xml
@@ -24,18 +24,5 @@
-
- view_partner_form_mondialrelay
- res.partner
-
-
-
-
-
-
-
-
-
-
diff --git a/odoo/addons/base/models/avatar_mixin.py b/odoo/addons/base/models/avatar_mixin.py
index f372a61a8c1..40f1ae23784 100644
--- a/odoo/addons/base/models/avatar_mixin.py
+++ b/odoo/addons/base/models/avatar_mixin.py
@@ -72,5 +72,8 @@ class AvatarMixin(models.AbstractModel):
""
).encode())
+ def _avatar_get_placeholder_path(self):
+ return "base/static/img/avatar_grey.png"
+
def _avatar_get_placeholder(self):
- return b64encode(file_open("base/static/img/avatar_grey.png", 'rb').read())
+ return b64encode(file_open(self._avatar_get_placeholder_path(), 'rb').read())
diff --git a/odoo/addons/base/models/res_partner.py b/odoo/addons/base/models/res_partner.py
index 5eb079742f1..6cdec30b498 100644
--- a/odoo/addons/base/models/res_partner.py
+++ b/odoo/addons/base/models/res_partner.py
@@ -238,23 +238,23 @@ class Partner(models.Model):
('check_name', "CHECK( (type='contact' AND name IS NOT NULL) or (type!='contact') )", 'Contacts require a name'),
]
- @api.depends('name', 'user_ids.share', 'image_1920', 'is_company')
+ @api.depends('name', 'user_ids.share', 'image_1920', 'is_company', 'type')
def _compute_avatar_1920(self):
super()._compute_avatar_1920()
- @api.depends('name', 'user_ids.share', 'image_1024', 'is_company')
+ @api.depends('name', 'user_ids.share', 'image_1024', 'is_company', 'type')
def _compute_avatar_1024(self):
super()._compute_avatar_1024()
- @api.depends('name', 'user_ids.share', 'image_512', 'is_company')
+ @api.depends('name', 'user_ids.share', 'image_512', 'is_company', 'type')
def _compute_avatar_512(self):
super()._compute_avatar_512()
- @api.depends('name', 'user_ids.share', 'image_256', 'is_company')
+ @api.depends('name', 'user_ids.share', 'image_256', 'is_company', 'type')
def _compute_avatar_256(self):
super()._compute_avatar_256()
- @api.depends('name', 'user_ids.share', 'image_128', 'is_company')
+ @api.depends('name', 'user_ids.share', 'image_128', 'is_company', 'type')
def _compute_avatar_128(self):
super()._compute_avatar_128()
@@ -264,11 +264,14 @@ class Partner(models.Model):
for partner in self - partners_with_internal_user:
partner[avatar_field] = partner[image_field] or partner._avatar_get_placeholder()
- def _avatar_get_placeholder(self):
- path = "base/static/img/avatar_grey.png"
+ def _avatar_get_placeholder_path(self):
if self.is_company:
- path = "base/static/img/company_image.png"
- return base64.b64encode(tools.file_open(path, 'rb').read())
+ return "base/static/img/company_image.png"
+ if self.type == 'delivery':
+ return "base/static/img/truck.png"
+ if self.type == 'invoice':
+ return "base/static/img/money.png"
+ return super()._avatar_get_placeholder_path()
@api.depends('is_company', 'name', 'parent_id.display_name', 'type', 'company_name')
def _compute_display_name(self):
diff --git a/odoo/addons/base/views/res_partner_views.xml b/odoo/addons/base/views/res_partner_views.xml
index f1925fac1d0..239abc57d9d 100644
--- a/odoo/addons/base/views/res_partner_views.xml
+++ b/odoo/addons/base/views/res_partner_views.xml
@@ -260,6 +260,7 @@
+
@@ -269,17 +270,7 @@