Storage Thumbnail

storage_thumbnail
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/19.0/storage_thumbnail
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSStéphane Bidoul, Laurent Mignon (ACSONE)
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:40:49
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
External image thumbnail management depending on Storage File module.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail list New
Models touched (3)

New fields (1)
  • file_type Selection
    ondelete={'thumbnail': 'set null'} selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'X size'
  • size_y Integer
    args: 'Y size'
  • url_key Char
    help='Specific URL key for generating the url of the image'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (5)
  • image_medium_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Medium thumb URL'
  • image_small_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Small thumb URL'
  • thumb_medium_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumb_small_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • generate_odoo_thumbnail(self)
  • get_existing_thumbnail(self, size_x, size_y, url_key=None)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/18.0/storage_thumbnail
VERSION
VERSION 1.1.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Weblate, OCA-git-bot, Simone Orsi, oca-ci, thien
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:15
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
External image thumbnail management depending on Storage File module.

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail list New
Models touched (3)

New fields (1)
  • file_type Selection
    ondelete={'thumbnail': 'set null'} selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'X size'
  • size_y Integer
    args: 'Y size'
  • url_key Char
    help='Specific URL key for generating the url of the image'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • unlink(self)

New fields (5)
  • image_medium_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Medium thumb URL'
  • image_small_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Small thumb URL'
  • thumb_medium_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumb_small_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (4)
  • create(self, vals_list)
    @api.model_create_multi
  • generate_odoo_thumbnail(self)
  • get_existing_thumbnail(self, size_x, size_y, url_key=None)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/15.0/storage_thumbnail
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSMiquel Raïch, OCA-git-bot, oca-ci
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:37
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail tree New
Models touched (3)

New fields (1)
  • file_type Selection
    ondelete={'thumbnail': 'set null'} selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'X size'
  • size_y Integer
    args: 'Y size'
  • url_key Char
    help='Specific URL key for generating the url of the image'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (5)
  • image_medium_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Medium thumb URL'
  • image_small_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Small thumb URL'
  • thumb_medium_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumb_small_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (3)
  • create(self, vals)
    @api.model
  • generate_odoo_thumbnail(self)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/14.0/storage_thumbnail
VERSION
VERSION 2.4.3
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSCédric Pigeon, Enric Tobella, Ivàn Todorovich, Sébastien Alix, Sébastien BEAU, oca-travis, Weblate, OCA-git-bot, Simone Orsi, Pierrick Brun, oca-ci, mathieu
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail tree New
Models touched (3)

New fields (1)
  • file_type Selection
    ondelete={'thumbnail': 'set null'} selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'X size'
  • size_y Integer
    args: 'Y size'
  • url_key Char
    help='Specific URL key for generating the url of the image' args: 'Url key'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (5)
  • image_medium_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Medium thumb URL'
  • image_small_url Char
    compute='_compute_thumb_urls' compute_sudo=True string='Small thumb URL'
  • thumb_medium_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumb_small_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' compute_sudo=True readonly=False store=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (4)
  • create(self, vals)
    @api.model
  • generate_odoo_thumbnail(self)
  • get_existing_thumbnail(self, size_x, size_y, url_key=None)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/13.0/storage_thumbnail
VERSION
VERSION 1.3.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Enric Tobella, Sébastien BEAU, oca-travis, OCA-git-bot, Simone Orsi, Justine Doutreloux
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES python_slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail tree New
Models touched (3)

New fields (1)
  • file_type Selection
    selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'X size'
  • size_y Integer
    args: 'Y size'
  • url_key Char
    help='Specific URL key for generating the url of the image' args: 'Url key'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (5)
  • image_medium_url Char
    related='thumb_medium_id.url' string='Medium thumb URL'
  • image_small_url Char
    related='thumb_small_id.url' string='Small thumb URL'
  • thumb_medium_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' readonly=False store=True
  • thumb_small_id Many2one → storage.thumbnail
    comodel_name='storage.thumbnail' compute='_compute_main_thumbs' readonly=False store=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (3)
  • create(self, vals)
    @api.model
  • generate_odoo_thumbnail(self)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/12.0/storage_thumbnail
VERSION
VERSION 2.0.2
CATEGORY
CATEGORYStorage
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSLaurent Mignon (ACSONE), Denis Roussel, Stéphane Bidoul (ACSONE), oca-travis, OCA-git-bot, Tom Blauwendraat, Simone Orsi
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-env:
    - server_environment
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail tree New
Models touched (3)

New fields (1)
  • file_type Selection
    selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'weight'
  • size_y Integer
    args: 'height'
  • url_key Char
    help='Specific URL key for generating the url of the image' args: 'Url key'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (3)
  • image_medium_url Char
    readonly=True
  • image_small_url Char
    readonly=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (3)
  • create(self, vals)
    @api.model
  • generate_odoo_thumbnail(self)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)
REPOSITORY
REPOSITORYOCA/storage
GIT
GIThttps://github.com/OCA/storage.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/storage/tree/10.0/storage_thumbnail
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYStorage
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSGitHub, Laurent Mignon (ACSONE), Denis Roussel, Sébastien BEAU, oca-travis, OCA-git-bot, Benoit, François Honoré
WEBSITE
WEBSITEhttps://github.com/OCA/storage
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:59
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/connector:
    - component
OCA/server-tools:
    - keychain
OCA/storage:
    - storage_file
    - storage_backend
odoo/odoo:
    - base
    - base_setup
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES slugify
cryptography
cachetools
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
view_thumbnail_form storage.thumbnail form New
view_thumbnail_tree storage.thumbnail tree New
Models touched (3)

New fields (1)
  • file_type Selection
    selection_add=[('thumbnail', 'Thumbnail')]
Public methods (0)

No public methods.

New fields (6)
  • file_id Many2one → storage.file
    ondelete='cascade' required=True args: 'storage.file', 'File'
  • res_id Integer
    index=True readonly=False
  • res_model Char
    index=True readonly=False
  • size_x Integer
    args: 'weight'
  • size_y Integer
    args: 'height'
  • url_key Char
    help='Specific URL key for generating the url of the image' args: 'Url key'
Public methods (2)
  • create(self, vals)
    @api.model
  • unlink(self)

New fields (3)
  • image_medium_url Char
    readonly=True
  • image_small_url Char
    readonly=True
  • thumbnail_ids One2many → storage.thumbnail
    comodel_name='storage.thumbnail' domain=<expr> inverse_name='res_id' string='Thumbnails'
Public methods (3)
  • create(self, vals)
    @api.model
  • generate_odoo_thumbnail(self)
  • get_or_create_thumbnail(self, size_x, size_y, url_key=None)