Skip to content

Commit

Permalink
[ADD] stock_lot_multi_image: New module
Browse files Browse the repository at this point in the history
This module enables the addition of multiple images for each stock lot.

Task: 4241
  • Loading branch information
GabbasovDinar committed Jan 17, 2025
1 parent cdad438 commit 5b4ceb5
Show file tree
Hide file tree
Showing 14 changed files with 629 additions and 0 deletions.
6 changes: 6 additions & 0 deletions setup/stock_lot_multi_image/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
90 changes: 90 additions & 0 deletions stock_lot_multi_image/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
============================
Multiple Images in Stock Lot
============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:f217689b182c4d64e074e1c6cad5fa040b5cad7647069f4664906300cfd76865
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github
:target: https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_lot_multi_image
:alt: OCA/stock-logistics-warehouse
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_lot_multi_image
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-warehouse&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module enables the addition of multiple images for each stock lot.

**Table of contents**

.. contents::
:local:

Use Cases / Context
===================

Sometimes it is necessary to have photos of a particular stock lot
(item) in addition to the product-level photos (for product.template or
product.variant).

This is particularly useful when specific stock items have unique
characteristics or conditions that need to be documented.

Configuration
=============

- Go to Inventory > Products > Lots / Serial Numbers and choose a stock
lot.
- Go to the Images tab. Add a new image or edit the existing ones.
- Refresh the page.
- The first image in the collection is the main image for the stock lot.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-warehouse/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/stock-logistics-warehouse/issues/new?body=module:%20stock_lot_multi_image%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Cetmix

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_lot_multi_image>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions stock_lot_multi_image/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright (C) 2025 Cetmix OÜ
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
22 changes: 22 additions & 0 deletions stock_lot_multi_image/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright (C) 2025 Cetmix OÜ
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Multiple Images in Stock Lot",
"summary": """This module implements the possibility to
have multiple images for a stock lot""",
"author": "Cetmix, Odoo Community Association (OCA)",
"version": "16.0.1.0.0",
"category": "Inventory/Inventory",
"website": "https://github.com/OCA/stock-logistics-warehouse",
"depends": [
"stock",
"base_multi_image",
],
# "images": ["static/description/banner.png"],
"data": [
"views/stock_lot_view.xml",
],
"license": "AGPL-3",
"installable": True,
}
4 changes: 4 additions & 0 deletions stock_lot_multi_image/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright (C) 2025 Cetmix OÜ
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import stock_lot
23 changes: 23 additions & 0 deletions stock_lot_multi_image/models/stock_lot.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright (C) 2025 Cetmix OÜ
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import api, fields, models


class StockLot(models.Model):
_name = "stock.lot"
_inherit = ["stock.lot", "base_multi_image.owner"]

image = fields.Image(compute="_compute_image")

@api.depends("image_ids")
def _compute_image(self):
"""
Compute main image of lots
"""
for lot in self:
lot.image = (

Check warning on line 19 in stock_lot_multi_image/models/stock_lot.py

View check run for this annotation

Codecov / codecov/patch

stock_lot_multi_image/models/stock_lot.py#L19

Added line #L19 was not covered by tests
lot.image_ids
and lot.with_context(bin_size=False).image_ids[0].image_1920
or False
)
4 changes: 4 additions & 0 deletions stock_lot_multi_image/readme/CONFIGURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- Go to Inventory > Products > Lots / Serial Numbers and choose a stock lot.
- Go to the Images tab. Add a new image or edit the existing ones.
- Refresh the page.
- The first image in the collection is the main image for the stock lot.
3 changes: 3 additions & 0 deletions stock_lot_multi_image/readme/CONTEXT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Sometimes it is necessary to have photos of a particular stock lot (item) in addition to the product-level photos (for product.template or product.variant).

This is particularly useful when specific stock items have unique characteristics or conditions that need to be documented.
1 change: 1 addition & 0 deletions stock_lot_multi_image/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This module enables the addition of multiple images for each stock lot.
Binary file added stock_lot_multi_image/static/description/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 5b4ceb5

Please sign in to comment.