Product Images

product_images
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/product_images
VERSION
VERSION 1.0
CATEGORY
CATEGORYTechnical
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSRaphael Collet, Odoo Translation Bot, Odoo Online, Tiffany Chang (tic), Loan (LSE), Louis (wil)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:58
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Automatically set product images based on the barcode
=====================================================

This module integrates with the Google Custom Search API to set images on products based on the
barcode.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_fetch_image_wizard_view_form product.fetch.image.wizard.view product.fetch.image.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.product.images res.config.settings xpath Inherits base_setup.res_config_settings_view_form
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • nb_products_selected Integer
    readonly=True string='Number of selected products'
  • nb_products_to_process Integer
    readonly=True string='Number of products to process'
  • nb_products_unable_to_process Integer
    readonly=True string='Number of product unprocessable'
  • products_to_process Many2many → product.product
    comodel_name='product.product' help='The list of selected products that meet the criteria (have a barcode and no image)'
Public methods (2)
  • action_fetch_image(self)
    Fetch the images of the first ten products and delegate the remaining to the cron. The first ten images are immediately fetched to improve the user experience. This way, they can immediately browse the processed products and be assured that the task is running well. Also, if any error occurs, it can be thrown to the user. Then, a cron job is triggered to be run as soon as possible, unless the daily request limit has been reached. In that case, the cron job is scheduled to run a day later. :return: A notification to inform the user about the outcome of the action :rtype: dict
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • image_fetch_pending Boolean
    help='Whether an image must be fetched for this product. Handled by a cron.'
Public methods (0)

No public methods.

New fields (2)
  • google_custom_search_key Char
    config_parameter='google.custom_search.key' string='Google Custom Search API Key'
  • google_pse_id Char
    config_parameter='google.pse.id' string='The identifier of the Google Programmable Search Engine'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/product_images
VERSION
VERSION 1.0
CATEGORY
CATEGORYTechnical
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Denis Ledoux, Tiffany Chang (tic), Gorash, Valentin Chevalier, niyasraphy, Loan (LSE), Dylan Kiss (dyki), Louis (wil)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:09
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Automatically set product images based on the barcode
=====================================================

This module integrates with the Google Custom Search API to set images on products based on the
barcode.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_fetch_image_wizard_view_form product.fetch.image.wizard.view product.fetch.image.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.product.images res.config.settings xpath Inherits base_setup.res_config_settings_view_form
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • nb_products_selected Integer
    readonly=True string='Number of selected products'
  • nb_products_to_process Integer
    readonly=True string='Number of products to process'
  • nb_products_unable_to_process Integer
    readonly=True string='Number of product unprocessable'
  • products_to_process Many2many → product.product
    comodel_name='product.product' help='The list of selected products that meet the criteria (have a barcode and no image)'
Public methods (2)
  • action_fetch_image(self)
    Fetch the images of the first ten products and delegate the remaining to the cron. The first ten images are immediately fetched to improve the user experience. This way, they can immediately browse the processed products and be assured that the task is running well. Also, if any error occurs, it can be thrown to the user. Then, a cron job is triggered to be run as soon as possible, unless the daily request limit has been reached. In that case, the cron job is scheduled to run a day later. :return: A notification to inform the user about the outcome of the action :rtype: dict
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • image_fetch_pending Boolean
    help='Whether an image must be fetched for this product. Handled by a cron.'
Public methods (0)

No public methods.

New fields (2)
  • google_custom_search_key Char
    config_parameter='google.custom_search.key' string='Google Custom Search API Key'
  • google_pse_id Char
    config_parameter='google.pse.id' string='The identifier of the Google Programmable Search Engine'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/16.0/product_images
VERSION
VERSION 1.0
CATEGORY
CATEGORYTechnical
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Valentin Chevalier, niyasraphy, Loan (LSE), Martin Trigaux (mat)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:53
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Automatically set product images based on the barcode
=====================================================

This module integrates with the Google Custom Search API to set images on products based on the
barcode.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_fetch_image_wizard_view_form product.fetch.image.wizard.view product.fetch.image.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.product.images res.config.settings xpath Inherits base_setup.res_config_settings_view_form
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • nb_products_selected Integer
    readonly=True string='Number of selected products'
  • nb_products_to_process Integer
    readonly=True string='Number of products to process'
  • nb_products_unable_to_process Integer
    readonly=True string='Number of product unprocessable'
  • products_to_process Many2many → product.product
    comodel_name='product.product' help='The list of selected products that meet the criteria (have a barcode and no image)'
Public methods (2)
  • action_fetch_image(self)
    Fetch the images of the first ten products and delegate the remaining to the cron. The first ten images are immediately fetched to improve the user experience. This way, they can immediately browse the processed products and be assured that the task is running well. Also, if any error occurs, it can be thrown to the user. Then, a cron job is triggered to be run as soon as possible, unless the daily request limit has been reached. In that case, the cron job is scheduled to run a day later. :return: A notification to inform the user about the outcome of the action :rtype: dict
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • image_fetch_pending Boolean
    help='Whether an image must be fetched for this product. Handled by a cron.'
Public methods (0)

No public methods.

New fields (2)
  • google_custom_search_key Char
    config_parameter='google.custom_search.key' string='Google Custom Search API Key'
  • google_pse_id Char
    config_parameter='google.pse.id' string='The identifier of the Google Programmable Search Engine'
Public methods (0)

No public methods.

REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/15.0/product_images
VERSION
VERSION 1.0
CATEGORY
CATEGORYTechnical
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Valentin Chevalier, niyasraphy, Loan (LSE)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:25:29
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - product
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - uom
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Automatically set product images based on the barcode
=====================================================

This module integrates with the Google Custom Search API to set images on products based on the
barcode.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
product_fetch_image_wizard_view_form product.fetch.image.wizard.view product.fetch.image.wizard form New
res_config_settings_view_form res.config.settings.view.form.inherit.product.images res.config.settings xpath Inherits base_setup.res_config_settings_view_form
Models touched (4)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (4)
  • nb_products_selected Integer
    readonly=True string='Number of selected products'
  • nb_products_to_process Integer
    readonly=True string='Number of products to process'
  • nb_products_unable_to_process Integer
    readonly=True string='Number of product unprocessable'
  • products_to_process Many2many → product.product
    comodel_name='product.product' help='The list of selected products that meet the criteria (have a barcode and no image)'
Public methods (2)
  • action_fetch_image(self)
    Fetch the images of the first ten products and delegate the remaining to the cron. The first ten images are immediately fetched to improve the user experience. This way, they can immediately browse the processed products and be assured that the task is running well. Also, if any error occurs, it can be thrown to the user. Then, a cron job is triggered to be run as soon as possible, unless the daily request limit has been reached. In that case, the cron job is scheduled to run a day later. :return: A notification to inform the user about the outcome of the action :rtype: dict
  • default_get(self, fields_list)
    @api.model

New fields (1)
  • image_fetch_pending Boolean
    help='Whether an image must be fetched for this product. Handled by a cron.'
Public methods (0)

No public methods.

New fields (2)
  • google_custom_search_key Char
    config_parameter='google.custom_search.key' string='Google Custom Search API Key'
  • google_pse_id Char
    config_parameter='google.pse.id' string='The identifier of the Google Programmable Search Engine'
Public methods (0)

No public methods.