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 @@
- Contact image - - - - Delivery - Invoice - - Logo - Avatar - - + Contact image
@@ -474,19 +465,16 @@
- - - -
+ +
-
+
- -