Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][IMP] stock_barcodes #668

Open
wants to merge 9 commits into
base: 16.0
Choose a base branch
from
44 changes: 43 additions & 1 deletion stock_barcodes/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Stock Barcodes
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:57d26158322c09cb66f30397e6644567bf9240ecc415f7fd48ec7bc6e6406ec9
!! source digest: sha256:49485ba279bc9229b3c3abe1902c98438ef1257e130fa63c03b0f0611e5c017f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down Expand Up @@ -36,6 +36,10 @@ other modules.
This module also makes use of this wizard for providing barcode support for
doing inventories and picking operations.

This module allows reading barcodes from barcode actions to go directly to said actions.



**Table of contents**

.. contents::
Expand Down Expand Up @@ -124,6 +128,28 @@ this log is show to user other reads with the same product and location done
by other users.
User can remove the last read scan.

Barcode interface for barcode actions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use the barcode interface for actions:

#. Go to *Inventory > Configuration > Barcode Actions*.
#. Create a new barcode action and configure the barcode.

.. image:: https://raw.githubusercontent.com/stock_barcodes/static/src/img/create_barcode_action.png
:height: 100
:width: 200
:alt: Print barcodes

#. Select the barcode actions you want to use, a button (PRINT BARCODES) will appear that allows you to print the configured barcodes to PDF.

.. image:: https://raw.githubusercontent.com/stock_barcodes/static/src/img/print_barcodes.png
:height: 100
:width: 200
:alt: Print barcodes

#. Go to *Barcodes*.
#. Start scanning barcodes from actions.

Known issues / Roadmap
======================

Expand Down Expand Up @@ -153,6 +179,18 @@ Changelog
* [ADD] New feature.
Add security for users.

16.0.1.0.0 (2025-01-23)
~~~~~~~~~~~~~~~~~~~~~~~
* [IMP]
Improved views to optimize navigation and functionality.
Intuitive and mobile-friendly views.
Visual improvement of the main view accessed from the Barcodes menu.

* [ADD] New feature.
Barcode reading to barcode actions.
Generate PDF document for the barcodes of the selected barcode actions.


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

Expand Down Expand Up @@ -196,6 +234,10 @@ Contributors

* Enric Tobella

* `Binhex Cloud <https://www.binhex.cloud/>`_:

* Edilio Escalona Almira

Maintainers
~~~~~~~~~~~

Expand Down
1 change: 1 addition & 0 deletions stock_barcodes/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@

from . import models
from . import wizard
from . import reports
from .hooks import pre_init_hook
9 changes: 7 additions & 2 deletions stock_barcodes/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"website": "https://github.com/OCA/stock-logistics-barcode",
"license": "AGPL-3",
"category": "Extra Tools",
"depends": ["barcodes", "stock", "web_widget_numeric_step"],
"depends": ["barcodes", "stock", "web_widget_numeric_step", "web", "mail"],
"data": [
"security/ir.model.access.csv",
"views/stock_barcodes_action_view.xml",
Expand All @@ -24,6 +24,9 @@
"data/stock_barcodes_action.xml",
"data/stock_barcodes_option.xml",
"views/stock_barcodes_menu.xml",
# Reports
"reports/barcode_actions_report.xml",
"reports/reports.xml",
],
"assets": {
"web.assets_backend": [
Expand All @@ -33,8 +36,10 @@
"/web_widget_numeric_step/static/src/numeric_step.xml",
"/stock_barcodes/static/src/widgets/numeric_step.xml",
),
"/stock_barcodes/static/src/views/kanban/stock_barcodes_kanban.xml",
"/stock_barcodes/static/src/widgets/view_button.xml",
"/stock_barcodes/static/src/css/stock.scss",
"/stock_barcodes/static/src/views/actions/stock_barcode_main_menu.xml",
"/stock_barcodes/static/src/**/*.scss",
],
},
"installable": True,
Expand Down
8 changes: 8 additions & 0 deletions stock_barcodes/data/stock_barcodes_action.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,12 @@
<field name="key_char_shortcut">8</field>
<field name="context">{'inventory_mode': True}</field>
</record>

<record id="stock_barcodes_action_barcode_operations" model="stock.barcodes.action">
<field name="name">Operations</field>
<field name="sequence">40</field>
<field name="action_window_id" ref="stock.stock_picking_type_action" />
<field name="key_char_shortcut">9</field>
<field name="context">{'operations_mode': True}</field>
</record>
</odoo>
100 changes: 99 additions & 1 deletion stock_barcodes/data/stock_barcodes_option.xml
Original file line number Diff line number Diff line change
Expand Up @@ -533,5 +533,103 @@
ref="stock_barcodes.stock_barcodes_option_group_inventory"
/>
</record>
<!-- End inventory options -->


<!-- Option group for Operations -->
<record
id="stock_barcodes_option_group_operation"
model="stock.barcodes.option.group"
>
<field name="name">Operation options</field>
<field name="code">OPE</field>
<field name="barcode_guided_mode" />
</record>
<record
id="stock_barcodes_option_location_id_operation"
model="stock.barcodes.option"
>
<field name="name">Location</field>
<field name="step">1</field>
<field name="sequence">10</field>
<field name="field_name">location_id</field>
<field name="filled_default">True</field>
<field name="forced">False</field>
<field name="to_scan">False</field>
<field name="required">True</field>
<field name="clean_after_done">False</field>
<field
name="option_group_id"
ref="stock_barcodes.stock_barcodes_option_group_operation"
/>
</record>
<record
id="stock_barcodes_option_packaging_id_operation"
model="stock.barcodes.option"
>
<field name="name">Packaging</field>
<field name="step">2</field>
<field name="sequence">10</field>
<field name="field_name">packaging_id</field>
<field name="filled_default">False</field>
<field name="forced">False</field>
<field name="to_scan">True</field>
<field name="required">False</field>
<field name="clean_after_done">True</field>
<field
name="option_group_id"
ref="stock_barcodes.stock_barcodes_option_group_operation"
/>
</record>
<record
id="stock_barcodes_option_product_id_operation"
model="stock.barcodes.option"
>
<field name="name">Product</field>
<field name="step">2</field>
<field name="sequence">20</field>
<field name="field_name">product_id</field>
<field name="filled_default">False</field>
<field name="forced">False</field>
<field name="to_scan">True</field>
<field name="required">True</field>
<field name="clean_after_done">True</field>
<field
name="option_group_id"
ref="stock_barcodes.stock_barcodes_option_group_operation"
/>
</record>
<record id="stock_barcodes_option_lot_id_operation" model="stock.barcodes.option">
<field name="name">Lot</field>
<field name="step">2</field>
<field name="sequence">30</field>
<field name="field_name">lot_id</field>
<field name="filled_default">False</field>
<field name="forced">False</field>
<field name="to_scan">True</field>
<field name="required">True</field>
<field name="clean_after_done">True</field>
<field
name="option_group_id"
ref="stock_barcodes.stock_barcodes_option_group_operation"
/>
</record>
<record
id="stock_barcodes_option_product_qty_operation"
model="stock.barcodes.option"
>
<field name="name">Product Qty</field>
<field name="step">3</field>
<field name="sequence">50</field>
<field name="field_name">product_qty</field>
<field name="filled_default">False</field>
<field name="forced">False</field>
<field name="to_scan">False</field>
<field name="required">True</field>
<field name="clean_after_done">True</field>
<field
name="option_group_id"
ref="stock_barcodes.stock_barcodes_option_group_operation"
/>
</record>
<!-- End operation options -->
</odoo>
1 change: 1 addition & 0 deletions stock_barcodes/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@
from . import stock_picking
from . import stock_picking_type
from . import stock_quant
from . import barcode_events_mixin
11 changes: 11 additions & 0 deletions stock_barcodes/models/barcode_events_mixin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Copyright 2019 Sergio Teruel <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from odoo import models


class BarcodesEventsMixin(models.AbstractModel):
_inherit = "barcodes.barcode_events_mixin"

def send_bus_done(self, channel, type_channel, data=None):
self.env["bus.bus"]._sendone(channel, type_channel, data or {})
Loading
Loading