diff --git a/README.md b/README.md index 6a98a929f1d..c0217542dd6 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ addon | version | maintainers | summary [sale_stock_release_channel_partner_by_date](sale_stock_release_channel_partner_by_date/) | 16.0.1.1.0 | sebalix | Release channels integration with Sales [sale_stock_release_channel_partner_by_date_delivery](sale_stock_release_channel_partner_by_date_delivery/) | 16.0.1.1.1 | sebalix | Filters channels on sales based on selected carrier. [shopfloor](shopfloor/) | 16.0.2.16.1 | guewen simahawk sebalix | manage warehouse operations with barcode scanners -[shopfloor_base](shopfloor_base/) | 16.0.1.2.0 | guewen simahawk sebalix | Core module for creating mobile apps +[shopfloor_base](shopfloor_base/) | 16.0.1.2.1 | guewen simahawk sebalix | Core module for creating mobile apps [shopfloor_batch_automatic_creation](shopfloor_batch_automatic_creation/) | 16.0.1.1.0 | guewen | Create batch transfers for Cluster Picking [shopfloor_mobile](shopfloor_mobile/) | 16.0.1.4.1 | simahawk | Mobile frontend for WMS Shopfloor app [shopfloor_mobile_base](shopfloor_mobile_base/) | 16.0.1.2.0 | simahawk | Mobile frontend for WMS Shopfloor app diff --git a/shopfloor_base/README.rst b/shopfloor_base/README.rst index b53eeafcc4d..e95f794690e 100644 --- a/shopfloor_base/README.rst +++ b/shopfloor_base/README.rst @@ -1,3 +1,7 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + ============== Shopfloor Base ============== @@ -7,13 +11,13 @@ Shopfloor Base !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:20bc1f30d736fb59db86e1756b980c66dcc273077b510bd312ac1ff1e345a85d + !! source digest: sha256:298af3b443e7b1f7b510c4a693347ff589b516793b8f009ad4409d1ef0690515 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |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-LGPL--3-blue.png +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html :alt: License: LGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fwms-lightgray.png?logo=github diff --git a/shopfloor_base/__manifest__.py b/shopfloor_base/__manifest__.py index 77dd5637091..ced258080dd 100644 --- a/shopfloor_base/__manifest__.py +++ b/shopfloor_base/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Shopfloor Base", "summary": "Core module for creating mobile apps", - "version": "16.0.1.2.0", + "version": "16.0.1.2.1", "development_status": "Beta", "category": "Inventory", "website": "https://github.com/OCA/wms", diff --git a/shopfloor_base/models/shopfloor_app.py b/shopfloor_base/models/shopfloor_app.py index 65bc40713f7..3731d9c1cbc 100644 --- a/shopfloor_base/models/shopfloor_app.py +++ b/shopfloor_base/models/shopfloor_app.py @@ -163,7 +163,8 @@ def _prepare_endpoint_rules(self, options=None): def _registered_endpoint_rule_keys(self): # `endpoint.route.sync.mixin` api - return [x[0] for x in self._registered_routes()] + # TODO: add tests + return [x.key for x in self._registered_routes()] def _register_hook(self): super()._register_hook() diff --git a/shopfloor_base/static/description/index.html b/shopfloor_base/static/description/index.html index 1a88ab995eb..d6feb0d6837 100644 --- a/shopfloor_base/static/description/index.html +++ b/shopfloor_base/static/description/index.html @@ -3,7 +3,7 @@ -Shopfloor Base +README.rst -
-

Shopfloor Base

+
+ + +Odoo Community Association + +
+

Shopfloor Base

-

Beta License: LGPL-3 OCA/wms Translate me on Weblate Try me on Runboat

+

Beta License: LGPL-3 OCA/wms Translate me on Weblate Try me on Runboat

Shopfloor is a barcode scanner application.

This module provides REST APIs to support scenario. It needs a frontend to consume the backend APIs and provide screens for users on barcode devices. @@ -402,20 +407,20 @@

Shopfloor Base

-

Configuration

+

Configuration

-

Shopfloor config menu

+

Shopfloor config menu

In the main menu (or home screen) click on “Shopfloor”.

-

Profiles

+

Profiles

In Shopfloor / Profiles.

The profiles are used to restrict which menus are shown on the frontend application. When a user logs in the scanner application, they have to select their profile, so the correct menus are shown.

-

Scenario

+

Scenario

In Shopfloor / Scenario.

A Scenario represents a flow (or more basically “something to do” with the app. Each scenario must have a name and a unique key. @@ -433,7 +438,7 @@

Scenario

-

Usage

+

Usage

An API key is created in the Demo data (for development), using the Demo user. The key to use in the HTTP header API-KEY is: 72B044F7AC780DAC

Curl example:

@@ -442,21 +447,21 @@

Usage

-

Known issues / Roadmap

+

Known issues / Roadmap

  • improve documentation
  • change shopfloor.scenario.key to selection? See comment in model
-

Changelog

+

Changelog

-

13.0.1.0.0

+

13.0.1.0.0

First official version.

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub 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 @@ -464,9 +469,9 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Camptocamp
  • BCIM
  • @@ -474,7 +479,7 @@

    Authors

-

Contributors

+

Contributors

-

Design

+

Design

-

Other credits

+

Other credits

Financial support

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -524,5 +529,6 @@

Maintainers

+
diff --git a/shopfloor_base/tests/test_shopfloor_app.py b/shopfloor_base/tests/test_shopfloor_app.py index 690e76b76dd..166003bc3cb 100644 --- a/shopfloor_base/tests/test_shopfloor_app.py +++ b/shopfloor_base/tests/test_shopfloor_app.py @@ -65,7 +65,12 @@ def _test_registered_routes(self, rec): ), "method_name": "_process_endpoint", } - self.assertEqual(rule.handler_options, expected_handler_opts) + for k, v in expected_handler_opts.items(): + self.assertEqual( + rule.handler_options[k], + v, + f"{k} differs: {rule.handler_options[k]} != {v}", + ) _check[rule.route] = set(rule.routing["methods"]) expected = { # TODO: review methods @@ -145,7 +150,10 @@ def test_make_app_info(self): ) def test_make_app_manifest(self): - param = "http://localhost:8069" + self.env["ir.config_parameter"].sudo().set_param( + "web.base.url", "http://foo.com" + ) + param = "http://foo.com" manifest = self.shopfloor_app._make_app_manifest() expected = { "name": self.shopfloor_app.name,