Skip to content

Commit

Permalink
Merge PR #25 into 13.0
Browse files Browse the repository at this point in the history
Signed-off-by jgrandguillaume
  • Loading branch information
OCA-git-bot committed Nov 3, 2020
2 parents 083abdf + d1d2157 commit 8671e22
Show file tree
Hide file tree
Showing 332 changed files with 152,949 additions and 3 deletions.
6 changes: 5 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ exclude: |
# Maybe reactivate this when all README files include prettier ignore tags?
^README\.md$|
# Library files can have extraneous formatting (even minimized)
/static/(src/)?lib/|
lib/|
# Repos using Sphinx to generate docs don't need prettying
^docs/_templates/.*\.html$|
# You don't usually want a bot to modify your legal texts
Expand Down Expand Up @@ -41,6 +41,10 @@ repos:
args:
- --color
- --fix
# SPECIAL CASE: barcode scanner app use Vue.js +
# advanced JS (modules, classes, etc)
# which are not supported by OCA rules yet.
exclude: shopfloor_mobile/*
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.4.0
hooks:
Expand Down
6 changes: 4 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ jobs:
after_success:
- stage: test
env:
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
- TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1" MQT_DEP="PIP"
- stage: test
env:
- TESTS="1" ODOO_REPO="OCA/OCB"
- TESTS="1" ODOO_REPO="OCA/OCB" MQT_DEP="PIP"

env:
global:
Expand All @@ -41,6 +41,8 @@ install:
${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly
# Requirements to test server_environment modules
- printf '[options]\n\nrunning_env = dev\n' > ${HOME}/.openerp_serverrc

script:
- travis_run_tests
Expand Down
2 changes: 2 additions & 0 deletions oca_dependencies.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ product-attribute
server-tools
stock-logistics-workflow
web
rest-framework
server-auth
1 change: 1 addition & 0 deletions setup/shopfloor/odoo/addons/shopfloor
6 changes: 6 additions & 0 deletions setup/shopfloor/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,
)
6 changes: 6 additions & 0 deletions setup/shopfloor_batch_automatic_creation/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,
)
6 changes: 6 additions & 0 deletions setup/shopfloor_checkout_sync/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,
)
1 change: 1 addition & 0 deletions setup/shopfloor_mobile/odoo/addons/shopfloor_mobile
6 changes: 6 additions & 0 deletions setup/shopfloor_mobile/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,
)
6 changes: 6 additions & 0 deletions setup/shopfloor_mobile_custom_example/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,
)
193 changes: 193 additions & 0 deletions shopfloor/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
=========
Shopfloor
=========

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
:alt: Alpha
.. |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%2Fwms-lightgray.png?logo=github
:target: https://github.com/OCA/wms/tree/13.0/shopfloor
:alt: OCA/wms
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/wms-13-0/wms-13-0-shopfloor
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/285/13.0
:alt: Try me on Runbot

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

Shopfloor is a barcode scanner application for internal warehouse operations.

The application supports scenarios, to relate to Operation Types:

* Cluster Picking
* Zone Picking
* Checkout/Packing
* Delivery
* Location Content Transfer
* Single Pack Transfer

This module provides REST APIs to support the scenarios. It needs a frontend
to consume the backend APIs and provide screens for users on barcode devices.
A default front-end application is provided by ``shopfloor_mobile``.

.. IMPORTANT::
This is an alpha version, the data model and design can change at any time without warning.
Only for development or testing purpose, do not use in production.
`More details on development status <https://odoo-community.org/page/development-status>`_

**Table of contents**

.. contents::
:local:

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

Profiles
~~~~~~~~

In Inventory / Configuration / 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.

Menus
~~~~~

In Inventory / Configuration / Shopfloor / Menus.

The menus are displayed on the frontend application and store the configuration
of the scenarios. Each menu must use a scenario and defines which Operation Types
they are allowed to process.

Their profile will restrict the visibility to the profile chosen on the device.
If a menu has no profile, it is shown in every profile.

Some scenarios may have additional options, which are explained in tooltips.

Logs retention
~~~~~~~~~~~~~~

Logs are kept in database for every REST requests made by a client application.
They can be used for debugging and monitoring of the activity.

The Logs menu is shown only with Developer tools (``?debug=1``) activated.

By default, Shopfloor logs are kept 30 days.
You can change the duration of the retention by changing the System Parameter
``shopfloor.log.retention.days``.

If the value is set to 0, the logs are not stored at all.

Logged data is: request URL and method, parameters, headers, result or error.

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::

curl -X POST "http://localhost:8069/shopfloor/user/menu" -H "accept: */*" -H "Content-Type: application/json" -H "API-KEY: 72B044F7AC780DAC"

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

* improve documentation
* split out scenario components to their own modules

Changelog
=========

13.0.1.0.0
~~~~~~~~~~

First official version.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/wms/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/wms/issues/new?body=module:%20shopfloor%0Aversion:%2013.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
~~~~~~~

* Camptocamp
* BCIM
* Akretion

Contributors
~~~~~~~~~~~~

* Guewen Baconnier <[email protected]>
* Simone Orsi <[email protected]>
* Sébastien Alix <[email protected]>
* Alexandre Fayolle <[email protected]>
* Benoit Guillot <[email protected]>
* Thierry Ducrest <[email protected]>

Design
~~~~~~

* Joël Grand-Guillaume <[email protected]>
* Jacques-Etienne Baudoux <[email protected]>

Other credits
~~~~~~~~~~~~~

**Financial support**

* Cosanum
* Camptocamp R&D
* Akretion R&D

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.

.. |maintainer-guewen| image:: https://github.com/guewen.png?size=40px
:target: https://github.com/guewen
:alt: guewen
.. |maintainer-simahawk| image:: https://github.com/simahawk.png?size=40px
:target: https://github.com/simahawk
:alt: simahawk
.. |maintainer-sebalix| image:: https://github.com/sebalix.png?size=40px
:target: https://github.com/sebalix
:alt: sebalix

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-guewen| |maintainer-simahawk| |maintainer-sebalix|

This module is part of the `OCA/wms <https://github.com/OCA/wms/tree/13.0/shopfloor>`_ 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 shopfloor/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
from . import controllers
from . import models
from . import actions
from . import services
64 changes: 64 additions & 0 deletions shopfloor/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Copyright 2020 Camptocamp SA (http://www.camptocamp.com)
# Copyright 2020 Akretion (http://www.akretion.com)
# Copyright 2020 BCIM
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Shopfloor",
"summary": "manage warehouse operations with barcode scanners",
"version": "13.0.1.3.0",
"development_status": "Alpha",
"category": "Inventory",
"website": "https://github.com/OCA/wms",
"author": "Camptocamp, BCIM, Akretion, Odoo Community Association (OCA)",
"maintainers": ["guewen", "simahawk", "sebalix"],
"license": "AGPL-3",
"application": True,
"depends": [
"stock",
"stock_picking_batch",
"base_rest",
"base_jsonify",
"auth_api_key",
# OCA / stock-logistics-warehouse
"stock_picking_completion_info",
# OCA / stock-logistics-warehouse
"stock_quant_package_dimension",
# OCA / stock-logistics-warehouse
"stock_quant_package_product_packaging",
# TODO: used for manuf info on prod detail.
# This must be an optional dep
"product_manufacturer",
# TODO: used for prod lot expire detail info.
# This must be an optional dep
"product_expiry",
# TODO: used for package.package_storage_type_id detail info.
# This must be an optional dep
"stock_storage_type",
# TODO: used for picking.carrier_id detail info.
# This must be an optional dep
"delivery",
# OCA / product-attribute
"product_packaging_type",
],
"data": [
"data/ir_config_parameter_data.xml",
"data/ir_cron_data.xml",
"security/ir.model.access.csv",
"views/res_partner.xml",
"views/shopfloor_menu.xml",
"views/stock_picking_type.xml",
"views/stock_location.xml",
"views/stock_move_line.xml",
"views/stock_picking_views.xml",
"views/shopfloor_profile_views.xml",
"views/shopfloor_log_views.xml",
"views/menus.xml",
],
"demo": [
"demo/auth_api_key_demo.xml",
"demo/stock_picking_type_demo.xml",
"demo/shopfloor_menu_demo.xml",
"demo/shopfloor_profile_demo.xml",
],
}
28 changes: 28 additions & 0 deletions shopfloor/actions/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
"""
Support actions available from any Service Components.
To use an Action Component, a Service component
Difference with Service components:
* Public methods of a Service Components are exposed in the REST API,
Action Components are never exposed
An Action component can be get from Service or Action Components using
``self.actions_for(usage)``.
The goal of the Action Components is to share common actions
and processes between Services, avoid having too much logic in
Services.
"""
from . import base_action
from . import change_package_lot
from . import data
from . import data_detail
from . import completion_info
from . import location_content_transfer_sorter
from . import message
from . import search
from . import inventory
from . import savepoint
Loading

0 comments on commit 8671e22

Please sign in to comment.