[REV] base: revert "[IMP] base: no image (and kanban use default values"

This reverts commit cfd5f47493.

It is not clear why it has been done. Original author thinks it can
be reverted as it makes Odoo have people without image which is not
good when starting with Odoo. We don't know what we want but what is
certain is that we need images instead of ugly void placeholder.
This commit is contained in:
Thibault Delavallée
2017-10-26 12:53:12 +02:00
parent fe715bd63f
commit 3c0d39baea
+33
View File
@@ -276,6 +276,35 @@ class Partner(models.Model):
p = partner.commercial_partner_id
partner.commercial_company_name = p.is_company and p.name or partner.company_name
@api.model
def _get_default_image(self, partner_type, is_company, parent_id):
if getattr(threading.currentThread(), 'testing', False) or self._context.get('install_mode'):
return False
colorize, img_path, image = False, False, False
if partner_type in ['other'] and parent_id:
parent_image = self.browse(parent_id).image
image = parent_image and parent_image.decode('base64') or None
if not image and partner_type == 'invoice':
img_path = get_module_resource('base', 'static/src/img', 'money.png')
elif not image and partner_type == 'delivery':
img_path = get_module_resource('base', 'static/src/img', 'truck.png')
elif not image and is_company:
img_path = get_module_resource('base', 'static/src/img', 'company_image.png')
elif not image:
img_path = get_module_resource('base', 'static/src/img', 'avatar.png')
colorize = True
if img_path:
with open(img_path, 'rb') as f:
image = f.read()
if image and colorize:
image = tools.image_colorize(image)
return tools.image_resize_image_big(base64.b64encode(image))
@api.model
def _fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False):
if (not view_id) and (view_type == 'form') and self._context.get('force_email'):
@@ -491,6 +520,10 @@ class Partner(models.Model):
vals['website'] = self._clean_website(vals['website'])
if vals.get('parent_id'):
vals['company_name'] = False
# compute default image in create, because computing gravatar in the onchange
# cannot be easily performed if default images are in the way
if not vals.get('image'):
vals['image'] = self._get_default_image(vals.get('type'), vals.get('is_company'), vals.get('parent_id'))
tools.image_resize_images(vals)
partner = super(Partner, self).create(vals)
partner._fields_sync(vals)