def _get_image(self, cr, uid, ids, name, args, context=None): res = dict.fromkeys(ids, False) for publication in self.browse(cr, uid, ids, context): if publication.image_url: try: image = urllib2.urlopen(publication.image_url).read() image = base64.b64encode(image) res[publication.id] = image_get_resized_images(image)['image_small'] except: pass elif publication.image: res[publication.id] = image_get_resized_images(publication.image)['image_small'] return res
def _get_att_image(self, cr, uid, id, default_image_value=None, write_image_value=None, context=None): ''' Get the attachment image or create it @param id: id of product.product object @param defualt_image_value: image data. when the attachement file is not exist system will create the file by this data. @param write_image_value: image data, when the attachement file is exist system will write the file by this data. ''' attachment_obj = self.pool.get('ir.attachment') dummy, dir_product_image_id = self.pool.get('ir.model.data').get_object_reference( cr, uid, 'document', 'dir_product') result = {} if dir_product_image_id: for image_type in image_types: result[image_type] = None att_image_ids = attachment_obj.search( cr, uid, [('name', '=', image_type + '.jpg'), ('res_id', '=', id), ('res_model', '=', 'product.product')]) att_image_id = None if att_image_ids: att_image_id = att_image_ids[0] if write_image_value: attachment_obj.write( cr, uid, att_image_id, {'datas': tools.image_get_resized_images( write_image_value, return_big=True, avoid_resize_medium=True)[image_type]}) if not att_image_ids and default_image_value: att_image_id = attachment_obj.create( cr, uid, {'name': image_type + '.jpg', 'res_id': id, 'type': 'binary', 'res_model': 'product.product', 'datas': tools.image_get_resized_images( default_image_value, return_big=True, avoid_resize_medium=True)[image_type]}) if att_image_id: result[image_type] = attachment_obj.browse(cr, uid, att_image_id).datas # Clean the image field if result: ''' add the write privilege checking, for the data read only users, no need to write For the readonly users, if execute write directly, will get the error message ''' if self.check_access_rights(cr, uid, 'write', raise_exception=False): self.write(cr, uid, id, {'image': None}) return result return False
def _set_image(self, cr, uid, id, name, value, args, context=None): obj = self.browse(cr, uid, id, context=context) image_id = obj.image_attachment_id.id image_small_id = obj.image_small_attachment_id.id image_medium_id = obj.image_medium_attachment_id.id if not value: ids = [id for id in [image_id, image_small_id, image_medium_id] if id] if ids: self.pool['ir.attachment'].unlink(cr, uid, ids, context=context) return True if not (image_id and image_small_id and image_medium_id): image_id = self.pool['ir.attachment'].create(cr, uid, {'name': 'Product Image'}, context=context) image_small_id = self.pool['ir.attachment'].create(cr, uid, {'name': 'Product Small Image'}, context=context) image_medium_id = self.pool['ir.attachment'].create(cr, uid, {'name': 'Product Medium Image'}, context=context) self.write(cr, uid, id, {'image_attachment_id': image_id, 'image_small_attachment_id': image_small_id, 'image_medium_attachment_id':image_medium_id}, context=context) images = tools.image_get_resized_images(value, return_big=True, avoid_resize_medium=True) self.pool['ir.attachment'].write(cr, uid, image_id, {'datas': images['image']}, context=context) self.pool['ir.attachment'].write(cr, uid, image_small_id, {'datas': images['image_small']}, context=context) self.pool['ir.attachment'].write(cr, uid, image_medium_id, {'datas': images['image_medium']}, context=context) return True
def _get_image(self, cr, uid, ids, field_name, arg, context=None): """ Método que ejecuta OpenERP para la obtención del valor de un field. En nuestro caso como hemos definido un multi, y en el store triggers, cuando se activen dichos triggers devolverá el valor a todos los fields con el mismo multi (image_medium y image_small). :param list ids: Lista de ids de los registros de este modelo el cuál hay que obeter el valor de las imágenes mediana y pequeña. :param str|list field_name: Nombre del field el cuál ejecuta este método. En caso de contener un multi, su valor será una lista de str con los nombres de los fields de mismo multi. :param list arg: Lista de argumentos definidos en el fields.function """ # Para reescalar la imagen utilizamos el método: # openerp/tools/image.py:144 -> image_get_resized_images # Tener en cuenta que dicho método nos devuelve un diccionario con # clave nombre del campo, y valor la imagen en base64. Por tanto, ya # que tenemos un multi y que nuestra función debe devolver un # diccionario con ID el del registro y como valor el anterior # diccionario, se lo asignamos directamente. res = {} for record in self.browse(cr, uid, ids, context=context): res[record.id] = tools.image_get_resized_images( record.image, avoid_resize_medium=True) return res
def _get_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images( obj.image, avoid_resize_medium=True) return result
def _get_image_vehicle(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images(obj.photo_vehicle, medium_name='photo_vehicle_medium', avoid_resize_small=True, return_small=False) return result
def _get_image(self, cr, uid, ids, name, args, context=None): ''' Retorna a imagem redimensionada. ''' result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images(obj.image) return result
def _get_parallax_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images(obj.parallax_image, big_name='parallax_image', medium_name='parallax_image_medium', small_name='parallax_image_small', avoid_resize_medium=True) return result
def _get_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for product in self.browse(cr, uid, ids, context): if product.publication_number_id: result[product.id] = {'image_small': product.publication_number_id.image_small} if not result[product.id] and product.publication_id: result[product.id] = {'image_small': product.publication_id.image_small} if not result[product.id]: result[product.id] = tools.image_get_resized_images(product.image, avoid_resize_medium=True) return result
def _get_image(self): """ Creates image_medium and image_small thumbs """ for record in self: image = record.image if image: data = tools.image_get_resized_images(image) record.image_medium = data["image_medium"] record.image_small = data["image_small"]
def _get_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids): att_result = self._get_att_image(cr, uid, obj.id, default_image_value=obj.image, context=None) if att_result: result[obj.id] = att_result else: result[obj.id] = tools.image_get_resized_images( obj.image, avoid_resize_medium=True) return result
def _get_image(self, cr, uid, ids, name, args, context=None): """ Funcion que redimensiona la imagen de origen del equipo a grandes , medianas y pequeñas * Para OpenERP [field.function] * Argumentos OpenERP: [cr, uid, ids, name, arg, context] :return dict """ result = dict.fromkeys(ids, False) for obj in self.browse(cr, uid, ids, context=context): #Función estándar que devuelve un diccionario que contiene versiones grandes , medianas y pequeñas de la imagen de origen . result[obj.id] = tools.image_get_resized_images(obj.image, avoid_resize_medium=True) return result
def _get_image(self): """ calculate the images sizes and set the images to the corresponding fields """ image = self.image # check if the context contains the magic `bin_size` key if self.env.context.get("bin_size"): # refetch the image with a clean context image = self.env[self._name].with_context({}).browse(self.id).image data = tools.image_get_resized_images(image, return_big=True, avoid_resize_big=False) self.image_big = data["image"] self.image_medium = data["image_medium"] self.image_small = data["image_small"] return True
def _get_image(self): res = tools.image_get_resized_images(self.image) self.image_medium = res['image_medium'] self.image_small = res['image_small']
def _get_image(self, cr, uid, ids, name, args, context=None): return dict((p.id, image_get_resized_images(p.image)) for p in self.browse(cr, uid, ids, context=context))
def _compute_get_image(self): make_images = tools.image_get_resized_images(self.image) self.image_medium = make_images.get('image_medium') self.image_small = make_images.get('image_small')
def _get_image(self, cr, uid, ids, name, args, context=None): result = {} for obj in self.browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images(obj.image) return result
def _get_image(self): return dict( (rec.id, tools.image_get_resized_images(rec.image)) for rec in self)
def _get_image(self, name, args): return dict( (p.id, tools.image_get_resized_images(p.image)) for p in self)
def _g_image(self): self.image_small = tools.image_get_resized_images( self.image, avoid_resize_medium=True)['image_small'] _logger.debug("tz: get image executed")
def _get_image(self): for p in self: p.image_medium = tools.image_get_resized_images(p.image)['image_medium'] p.image_small = tools.image_get_resized_images(p.image)['image_small']
def _get_image(self, cr, uid, ids, name, args, context=None): res = {} for label in self.browse(cr, uid, ids, context=context): res[label.id] = tools.image_get_resized_images( label.image, avoid_resize_medium=True) return res
def _get_image(self, cr, uid, ids, name, args, context=None): result = dict.fromkeys(ids, False) for obj in self.pool.get( 'res.partner').browse(cr, uid, ids, context=context): result[obj.id] = tools.image_get_resized_images(obj.image) return result
def _get_image(self, name, args): return dict((p.id, tools.image_get_resized_images(p.image)) for p in self)
def _get_image(self, cr, uid, ids, name, args, context=None): res = dict.fromkeys(ids, False) for number in self.browse(cr, uid, ids, context): res[number.id] = image_get_resized_images(number.image) return res