Initial commit: OCA Technical packages (595 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:03 +02:00
commit 2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions

View file

@ -0,0 +1,47 @@
# Stock Request kanban
Odoo addon: stock_request_kanban
## Installation
```bash
pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban
```
## Dependencies
This addon depends on:
- stock_request
- barcodes
## Manifest Information
- **Name**: Stock Request kanban
- **Version**: 16.0.1.0.0
- **Category**: Warehouse Management
- **License**: LGPL-3
- **Installable**: True
## Source
Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_kanban`.
## License
This package maintains the original LGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Stock_request_kanban Module - stock_request_kanban
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for stock_request_kanban. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,6 @@
# Dependencies
This addon depends on:
- [stock_request](../../odoo-bringout-oca-stock-logistics-request-stock_request)
- [barcodes](../../odoo-bringout-oca-ocb-barcodes)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon stock_request_kanban or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban"
# or
uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban"
```

View file

@ -0,0 +1,17 @@
# Models
Detected core models and extensions in stock_request_kanban.
```mermaid
classDiagram
class stock_inventory_kanban
class stock_request_kanban
class product_product
class product_template
class stock_request
class stock_request_abstract
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: stock_request_kanban. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon stock_request_kanban
- License: LGPL-3

View file

@ -0,0 +1,24 @@
# Reports
Report definitions and templates in stock_request_kanban.
```mermaid
classDiagram
```
## Available Reports
### PDF/Document Reports
- **Print kanban** (PDF/Print)
## Report Files
- **report_paper_format.xml** (XML template/definition)
- **stock_request_kanban_templates.xml** (XML template/definition)
## Notes
- Named reports above are accessible through Odoo's reporting menu
- Python files define report logic and data processing
- XML files contain report templates, definitions, and formatting
- Reports are integrated with Odoo's printing and email systems

View file

@ -0,0 +1,34 @@
# Security
Access control and security definitions in stock_request_kanban.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../stock_request_kanban/security/ir.model.access.csv)**
- 10 model access rules
## Record Rules
Row-level security rules defined in:
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[ir.model.access.csv](../stock_request_kanban/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_kanban
```

View file

@ -0,0 +1,10 @@
# Wizards
Transient models exposed as UI wizards in stock_request_kanban.
```mermaid
classDiagram
class WizardStockInventoryKanban
class WizardStockRequestKanban
class WizardStockRequestOrderKanban
```

View file

@ -0,0 +1,43 @@
[project]
name = "odoo-bringout-oca-stock-logistics-request-stock_request_kanban"
version = "16.0.0"
description = "Stock Request kanban - Adds a stock request order, and takes stock requests as lines"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0",
"odoo-bringout-oca-stock-logistics-request-barcodes>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["stock_request_kanban"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]

View file

@ -0,0 +1,141 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
====================
Stock Request kanban
====================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9d6da8812db1c2e6954d43783dd6d9665ae4e28b9c79f9f893ce77a84244cc1d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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/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%2Fstock--logistics--request-lightgray.png?logo=github
:target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_kanban
:alt: OCA/stock-logistics-request
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_kanban
: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-request&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
On most companies there are products that must be purchased often but cannot be
stored as a usual product because no consumption moves are made.
Usually, they are stored as consumables or putaway rules are defined.
In both cases, reordering rules cannot be used.
This module allows to use stock request as reordering rules for this kind of
products.
It is created following the concept of lean kanban cards.
**Table of contents**
.. contents::
:local:
Configuration
=============
If the barcode does not contain a CRC check digit on the kanban card, you should:
* Access on Development mode
* Access 'Settings / Technical / Parameters / System Parameters'
* Create a parameter with name 'stock_request_kanban.crc' and set it to value to 0
If the barcode contains a CRC check digit and you want to ignore it:
* Create a paramenter with name 'stock_request_kanban.ignore_crc' and set it to value to 1
If you want to change the format of the QR, you should:
* Access on Development mode
* Access 'Settings / Technical / Parameters / System Parameters'
* Create a parameter with name 'stock_request_kanban.barcode_format' and set
the format of the barcode
Usage
=====
Creation
~~~~~~~~
* Go to 'Stock Requests / Stock Requests Kanban' and create a new Kanban.
* Indicate a product, quantity and location.
* Press 'Save'.
* Print the kanban and put it in the storage of the product
Request kanban
~~~~~~~~~~~~~~
This should be used if you want to create the kanban when the card is consumed.
* Once the product is consumed, take the card
* Go to 'Stock Requests / Order Kanban Card'
* Scan the card
* The stock request is created
Request kanban batch
~~~~~~~~~~~~~~~~~~~~
This should be used when you will store the cards and create request orders
for kanbans later.
* Once the product is consumed, take the card and store it
* Create a store request order
* Press the scan button
* Scan all the pending kanban cards
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-request/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-request/issues/new?body=module:%20stock_request_kanban%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
~~~~~~~
* Creu Blanca
* ForgeFlow
Contributors
~~~~~~~~~~~~
* Enric Tobella <etobella@creublanca.es>
* Kitti Upariphutthiphong <kittiu@ecosoft.co.th>
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-request <https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_kanban>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,5 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from . import models
from . import wizard

View file

@ -0,0 +1,37 @@
# Copyright 2018-22 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
{
"name": "Stock Request kanban",
"version": "16.0.1.0.0",
"category": "Warehouse Management",
"website": "https://github.com/OCA/stock-logistics-request",
"author": "Creu Blanca, ForgeFlow, Odoo Community Association (OCA)",
"license": "LGPL-3",
"summary": "Adds a stock request order, and takes stock requests as lines",
"depends": ["stock_request", "barcodes"],
"data": [
"data/stock_request_sequence_data.xml",
"report/report_paper_format.xml",
"wizard/wizard_stock_inventory_kanban_views.xml",
"wizard/wizard_stock_request_kanban_views.xml",
"wizard/wizard_stock_request_order_kanban_views.xml",
"views/stock_request_order_views.xml",
"views/stock_request_kanban_views.xml",
"views/stock_inventory_kanban_views.xml",
"views/stock_request_menu.xml",
"views/stock_request_views.xml",
"views/product_views.xml",
"report/stock_request_kanban_templates.xml",
"security/ir.model.access.csv",
],
"assets": {
"web.assets_backend": [
"stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js",
"stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js",
"stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml",
],
},
"installable": True,
"application": False,
}

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="seq_stock_request_kanban" model="ir.sequence">
<field name="name">Stock Request Kanban</field>
<field name="code">stock.request.kanban</field>
<field name="prefix">KB</field>
<field name="padding">5</field>
<field name="company_id" eval="False" />
</record>
<record id="seq_stock_inventory_kanban" model="ir.sequence">
<field name="name">Stock Inventory Kanban</field>
<field name="code">stock.inventory.kanban</field>
<field name="prefix">IKB</field>
<field name="padding">5</field>
<field name="company_id" eval="False" />
</record>
</odoo>

View file

@ -0,0 +1,745 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_request_kanban
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count
msgid "# Kanban Cards"
msgstr "# Kanban kartice"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "Action Needed"
msgstr "Potrebna akcija"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active
msgid "Active"
msgstr "Aktivan"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids
msgid "Activities"
msgstr "Aktivnosti"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr "Dekoracija iznimke aktivnosti"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state
msgid "Activity State"
msgstr "Status aktivnosti"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Activity Type Icon"
msgstr "Ikona tipa aktivnosti"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Add Kanban"
msgstr "Dodaj kanban"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0
#, python-format
msgid "Added kanban %(kanban)s for product %(product)s"
msgstr "Dodan kanban %(kanban)s za proizvod %(product)s"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location
msgid "Allow Virtual locations on Stock Requests"
msgstr "Dozvoli virtualne lokacije na zahtjevima zaliha"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Archived"
msgstr "Arhivirano"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count
msgid "Attachment Count"
msgstr "Broj priloga"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0
#, python-format
msgid ""
"Barcode %s does not correspond to any Kanban. Try with another barcode or "
"press Close to finish scanning."
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is already scanned"
msgstr "Barkod %s je već skeniran"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is not in the inventory"
msgstr "Barkod %s nije u inventaru"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Barcode %s is on the order"
msgstr "Barkod %s je na narudžbi"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Barcode Scanned"
msgstr "Barkod skeniran"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0
#, python-format
msgid "CRC is not valid"
msgstr "CRC nije valjan"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Cancel"
msgstr "Otkaži"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled
msgid "Cancelled"
msgstr "Otkazan"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid "Category"
msgstr "Kategorija"
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action
msgid "Click to add a Stock Inventory Kanban."
msgstr "Kliknite da dodate kanban skladišnog inventara."
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action
msgid "Click to add a Stock Request Kanban."
msgstr "Kliknite da dodate kanban zahtjeva zaliha."
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Close"
msgstr "Zatvori"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed
msgid "Closed"
msgstr "Zatvoreno"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id
msgid "Company"
msgstr "Preduzeće"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Company must be the same"
msgstr "Kompanija mora biti ista"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft
msgid "Draft"
msgstr "U pripremi"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Finish"
msgstr "Završi"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished
msgid "Finished"
msgstr "Završeno"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids
msgid "Followers"
msgstr "Pratioci"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids
msgid "Followers (Partners)"
msgstr "Pratioci (Partneri)"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr "Font awesome ikona npr. fa-tasks"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Group By"
msgstr "Grupiši po"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message
msgid "Has Message"
msgstr "Ima poruku"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id
msgid "ID"
msgstr "ID"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon"
msgstr "Ikona"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr "Ikona za prikaz iznimki."
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "If checked, new messages require your attention."
msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi."
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress
msgid "In progress"
msgstr "U tijeku"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban
msgid "Inventory"
msgstr "Skladište"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Inventory Kanban"
msgstr "Kanban inventara"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban
msgid "Inventory for Kanban"
msgstr "Inventar za kanban"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower
msgid "Is Follower"
msgstr "Pratilac"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Kanban"
msgstr "Kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button
msgid "Kanban Cards"
msgstr "Kanban kartice"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view
msgid "Kanban Image"
msgstr "Kanban slika"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu
msgid "Kanban cards"
msgstr "Kanban kartice"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Lines only can be added on orders with draft state"
msgstr "Linije se mogu dodati samo na narudžbe u stanju nacrta"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Location"
msgstr "Lokacija"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Location must be the same"
msgstr "Lokacija mora biti ista"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id
msgid "Main Attachment"
msgstr "Glavna zakačka"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "Message Delivery error"
msgstr "Greška pri isporuci poruke"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids
msgid "Messages"
msgstr "Poruke"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Missing"
msgstr "Nedostaje"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids
msgid "Missing Kanban"
msgstr "Kanban koji nedostaje"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans
msgid "Missing Kanbans"
msgstr "Kanbani koji nedostaju"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid ""
"Moves created through this stock request will be put in this procurement "
"group. If none is given, the moves generated by procurement rules will be "
"grouped into one big picking."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr "Rok za moju aktivnost"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name
msgid "Name"
msgstr "Naziv:"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline
msgid "Next Activity Deadline"
msgstr "Krajnji rok za sljedeću aktivnost"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary
msgid "Next Activity Summary"
msgstr "Pregled sljedeće aktivnosti"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id
msgid "Next Activity Type"
msgstr "Tip sljedeće aktivnosti"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of Actions"
msgstr "Broj akcija"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of errors"
msgstr "Broj grešaka"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of messages requiring action"
msgstr "Broj poruka koje zahtijevaju aktivnost"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Broj poruka sa greškama pri isporuci"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id
msgid "Order"
msgstr "Nalog"
#. module: stock_request_kanban
#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban
msgid "Print kanban"
msgstr "Štampaj kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Print missing"
msgstr "Štampaj nedostajuće"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid "Procurement Group"
msgstr "Grupa naručivanja"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Procurement group must be the same"
msgstr "Grupa nabavke mora biti ista"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_template
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id
msgid "Product"
msgstr "Artikal"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id
msgid "Product Template"
msgstr "Predložak artikla"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id
msgid "Product Unit of Measure"
msgstr "JMJ artikla"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_product
msgid "Product Variant"
msgstr "Varijanta proizvoda"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids
msgid "Products"
msgstr "Artikli"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity"
msgstr "Količina"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Quantity in the default UoM of the product"
msgstr "Količina u zadanoj jedinici mjere proizvoda"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity, specified in the unit of measure indicated in the request."
msgstr "Količina, specificirana u mjernoj jedinici naznačenoj u zahtjevu."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Real Quantity"
msgstr "Stvarna količina"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban
msgid "Request from Kanban cards"
msgstr "Zahtjev iz kanban kartica"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id
msgid "Responsible User"
msgstr "Odgovorni korisnik"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id
msgid "Route"
msgstr "Smjer"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids
msgid "Routes"
msgstr "Rute"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scan"
msgstr "Skenirati"
#. module: stock_request_kanban
#. odoo-javascript
#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0
#, python-format
msgid "Scan Kanban"
msgstr "Skeniraj kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scanned"
msgstr "Skenirano"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids
msgid "Scanned Kanban"
msgstr "Skenirani kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Set to draft"
msgstr "Postavi na nacrt"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Start"
msgstr "Započni"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state
msgid "State"
msgstr "Status"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status
msgid "Status"
msgstr "Status"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state
msgid "Status State"
msgstr "Stanje statusa"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Stock Inventories"
msgstr "Inventari zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban
msgid "Stock Inventory Kanban Wizard"
msgstr "Čarobnjak kanban inventara zaliha"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action
msgid "Stock Inventory Kanbans"
msgstr "Kanbani inventara zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id
msgid "Stock Request"
msgstr "Zahtjev zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Request Kanban"
msgstr "Kanban zahtjeva zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract
msgid "Stock Request Kanban Abstract Wizard"
msgstr "Apstraktni čarobnjak kanban zahtjeva zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban
msgid "Stock Request Kanban Wizard"
msgstr "Čarobnjak kanban zahtjeva zaliha"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action
msgid "Stock Request Kanbans"
msgstr "Kanbani zahtjeva zaliha"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban
msgid "Stock Request Order Kanban Wizard"
msgstr "Čarobnjak kanban narudžbe zahtjeva zaliha"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Requests"
msgstr "Zahtjevi zaliha"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Stock Requests Kanban"
msgstr "Kanban zahtjeva zaliha"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr "Vrsta aktivnosti iznimke na zapisu."
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr "Vrijednost zadnje skeniranog barkoda."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Warehouse"
msgstr "Skladište"
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Warehouse must be the same"
msgstr "Skladište mora biti isto"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website Messages"
msgstr "Poruke sa website-a"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website communication history"
msgstr "Povijest komunikacije Web stranice"

View file

@ -0,0 +1,789 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_request_kanban
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-09 07:58+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count
msgid "# Kanban Cards"
msgstr "# Tarjetas Kanban"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "Action Needed"
msgstr "acción necesaria"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active
msgid "Active"
msgstr "Activo"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids
msgid "Activities"
msgstr "Actividades"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr "Decoración de actividad de excepción"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state
msgid "Activity State"
msgstr "Estado de la actividad"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Activity Type Icon"
msgstr "Icono de tipo de actvidad"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Add Kanban"
msgstr "Añadir Kanban"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0
#, python-format
msgid "Added kanban %(kanban)s for product %(product)s"
msgstr "Añadido kanban %(kanban)s para producto %(product)s"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location
msgid "Allow Virtual locations on Stock Requests"
msgstr "Permitir ubicaciones virtuales en las solicitudes de existencias"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Archived"
msgstr "Archivado"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count
msgid "Attachment Count"
msgstr "Recuento de archivos adjuntos"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0
#, python-format
msgid ""
"Barcode %s does not correspond to any Kanban. Try with another barcode or "
"press Close to finish scanning."
msgstr ""
"El código de barras %s no corresponde a ningún Kanban. Prueba otro código de "
"barras o haz click en Cerrar para acabar de escanear."
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is already scanned"
msgstr "El código de barras %s ya ha sido escaneado"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is not in the inventory"
msgstr "El código de barras %s no está en el inventario"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Barcode %s is on the order"
msgstr "El código %s ya está en la petición"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Barcode Scanned"
msgstr "Código de barras escaneado"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0
#, python-format
msgid "CRC is not valid"
msgstr "El CRC no es válido"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Cancel"
msgstr "Cancelar"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled
msgid "Cancelled"
msgstr "Cancelado/a"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid "Category"
msgstr "Categoría"
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action
msgid "Click to add a Stock Inventory Kanban."
msgstr "Haga clic para añadir un Kanban de Inventario de Existencias."
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action
msgid "Click to add a Stock Request Kanban."
msgstr "Haz click para añadir un Kanban."
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Close"
msgstr "Cerrar"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed
msgid "Closed"
msgstr "Cerrado"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id
msgid "Company"
msgstr "Companía"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Company must be the same"
msgstr "La Compañía debe ser la misma"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
"La conversión entre Unidades de Medida sólo puede producirse si pertenecen a "
"la misma categoría. La conversión se realizará en función de las "
"proporciones."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date
msgid "Created on"
msgstr "Creado el"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name
msgid "Display Name"
msgstr "Nombre mostrado"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft
msgid "Draft"
msgstr "Borrador"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Finish"
msgstr "Finalizar"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished
msgid "Finished"
msgstr "Finalizado"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids
msgid "Followers"
msgstr "Seguidores/as"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids
msgid "Followers (Partners)"
msgstr "Seguidores (socios)"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr "Icono de fuente impresionante, por ejemplo fa-tasks"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Group By"
msgstr "Agrupar por"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message
msgid "Has Message"
msgstr "Tiene mensaje"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id
msgid "ID"
msgstr "ID"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon"
msgstr "Icono"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr "icono para indicar una actividad por excepción."
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "If checked, new messages require your attention."
msgstr "Si está marcada, nuevos mensajes requieren su atención."
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "si está marcada, algunos mensajes tienen un error de entrega."
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress
msgid "In progress"
msgstr "En progreso"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban
msgid "Inventory"
msgstr "Inventario"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Inventory Kanban"
msgstr "Inventario Kanban"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban
msgid "Inventory for Kanban"
msgstr "Invertario para Kanban"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower
msgid "Is Follower"
msgstr "Es seguidor/a"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Kanban"
msgstr "Kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button
msgid "Kanban Cards"
msgstr "Tarjetas Kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view
msgid "Kanban Image"
msgstr "Imagen Kanban"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu
msgid "Kanban cards"
msgstr "Tarjetas Kanban"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update
msgid "Last Modified on"
msgstr "Última modificación el"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid
msgid "Last Updated by"
msgstr "Actualizado por última vez por"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date
msgid "Last Updated on"
msgstr "Actualizado por última vez el"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Lines only can be added on orders with draft state"
msgstr "Sólo se pueden añadir líneas en ordenes en estado borrador"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Location"
msgstr "Localización"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Location must be the same"
msgstr "La localización debe coincidir"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id
msgid "Main Attachment"
msgstr "Archivo adjunto principal"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "Message Delivery error"
msgstr "Error en entrega del mensaje"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids
msgid "Messages"
msgstr "Mensajes"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Missing"
msgstr "Faltante"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids
msgid "Missing Kanban"
msgstr "Kanban faltante"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans
msgid "Missing Kanbans"
msgstr "Kanbans faltantes"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid ""
"Moves created through this stock request will be put in this procurement "
"group. If none is given, the moves generated by procurement rules will be "
"grouped into one big picking."
msgstr ""
"Los movimientos creados a través de esta solicitud de existencias se pondrán "
"en este grupo de aprovisionamiento. Si no se indica ninguno, los movimientos "
"generados por reglas de aprovisionamiento se agruparán en una gran recogida."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr "Fecha límite de mi actividad"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name
msgid "Name"
msgstr "Nombre"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline
msgid "Next Activity Deadline"
msgstr "Fecha límite para la siguiente actividad"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary
msgid "Next Activity Summary"
msgstr "Resumen de la Siguiente Actividad"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id
msgid "Next Activity Type"
msgstr "Tipo de la Siguiente Actividad"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of Actions"
msgstr "Número de acciones"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of errors"
msgstr "Número de errores"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr "Número de mensajes que requieren una acción"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "Número de mensajes con error de entrega"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Number of unread messages"
msgstr "Número de mensajes no leídos"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id
msgid "Order"
msgstr "Pedido"
#. module: stock_request_kanban
#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban
msgid "Print kanban"
msgstr "Imprimir kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Print missing"
msgstr "Falta la impresión"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid "Procurement Group"
msgstr "Grupo de Adquisiciones"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Procurement group must be the same"
msgstr "El grupo de reestablecimiento debe coincidir"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_product
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id
msgid "Product"
msgstr "Producto"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_template
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id
msgid "Product Template"
msgstr "Plantilla de Producto"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id
msgid "Product Unit of Measure"
msgstr "Unidad de Medida del Producto"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids
msgid "Products"
msgstr "Productos"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity"
msgstr "Cantidad"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Quantity in the default UoM of the product"
msgstr "Cantidad en unidad de medida por defecto del producto"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity, specified in the unit of measure indicated in the request."
msgstr "Cantidad, especificada en la unidad de medida de la solicitud."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Real Quantity"
msgstr "Cantidad real"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban
msgid "Request from Kanban cards"
msgstr "Solicitar desde tarjetas Kanban"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id
msgid "Responsible User"
msgstr "Usuario Responsable"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id
msgid "Route"
msgstr "Ruta"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids
msgid "Routes"
msgstr "Rutas"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scan"
msgstr "Escanear"
#. module: stock_request_kanban
#. openerp-web
#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0
#, python-format
msgid "Scan Kanban"
msgstr "Escanear Kanban"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scanned"
msgstr "Escaneado"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids
msgid "Scanned Kanban"
msgstr "Kanban escaneado"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Set to draft"
msgstr "Establecer a borrador"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Start"
msgstr "Iniciar"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state
msgid "State"
msgstr "Estado"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status
msgid "Status"
msgstr "Status"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state
msgid "Status State"
msgstr "Estado del Status"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
"Estado en base a las actividades\n"
"Atrasada: La fecha de vencimiento ya ha pasado\n"
"Hoy: La fecha de la actividad es hoy\n"
"Planificada: Actividades futuras."
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Stock Inventories"
msgstr "Inventario de existencias"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban
msgid "Stock Inventory Kanban Wizard"
msgstr "Asistente Kanban de Inventario de Existencias"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action
msgid "Stock Inventory Kanbans"
msgstr "Inventario de existencias Kanbans"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id
msgid "Stock Request"
msgstr "Solicitud de existencias"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Request Kanban"
msgstr "Kanban de Solicitud de Existencias"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract
msgid "Stock Request Kanban Abstract Wizard"
msgstr "Solicitud de Existencias del Asistente Kanban Abstracto"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban
msgid "Stock Request Kanban Wizard"
msgstr "Asistente Kanban de Solicitud de Existencias"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action
msgid "Stock Request Kanbans"
msgstr "Kanbans de Solicitud de Existencias"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban
msgid "Stock Request Order Kanban Wizard"
msgstr "Asistente Kanban para Pedidos de Existencias"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Requests"
msgstr "Solicitudes de existencias"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Stock Requests Kanban"
msgstr "Kanban de Solicitudes de Existencias"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr "Tipo (o clase) de actividad excepcional registrada."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "Unread Messages"
msgstr "Mensajes no leídos"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Unread Messages Counter"
msgstr "Contador de mensajes no leídos"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr "Valor del último código de barras escaneado."
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Warehouse"
msgstr "Almacén"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Warehouse must be the same"
msgstr "El almacén debe coincidir"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website Messages"
msgstr "Mensajes de la página web"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website communication history"
msgstr "Historial de la comunicación en la página web"
#~ msgid "SMS Delivery error"
#~ msgstr "Error en la entrega de SMS"
#, python-format
#~ msgid "Added kanban %s for product %s"
#~ msgstr "Se ha añadido el kanban %s para el product %s"
#, fuzzy
#~ msgid "Planned"
#~ msgstr "Escanear"
#, fuzzy
#~ msgid "wizard.stock.inventory.kanban"
#~ msgstr "wizard.stock.request.kanban"
#~ msgid "wizard.stock.request.kanban"
#~ msgstr "wizard.stock.request.kanban"
#~ msgid "wizard.stock.request.kanban.abstract"
#~ msgstr "wizard.stock.request.kanban.abstract"
#~ msgid "wizard.stock.request.order.kanban"
#~ msgstr "wizard.stock.request.order.kanban"

View file

@ -0,0 +1,751 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_request_kanban
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count
msgid "# Kanban Cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active
msgid "Active"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids
msgid "Activities"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state
msgid "Activity State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Activity Type Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Add Kanban"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0
#, python-format
msgid "Added kanban %(kanban)s for product %(product)s"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location
msgid "Allow Virtual locations on Stock Requests"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Archived"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0
#, python-format
msgid ""
"Barcode %s does not correspond to any Kanban. Try with another barcode or "
"press Close to finish scanning."
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is already scanned"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is not in the inventory"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Barcode %s is on the order"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Barcode Scanned"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0
#, python-format
msgid "CRC is not valid"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Cancel"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled
msgid "Cancelled"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid "Category"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action
msgid "Click to add a Stock Inventory Kanban."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action
msgid "Click to add a Stock Request Kanban."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Close"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed
msgid "Closed"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id
msgid "Company"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Company must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid
msgid "Created by"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date
msgid "Created on"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name
msgid "Display Name"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft
msgid "Draft"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Finish"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished
msgid "Finished"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Group By"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message
msgid "Has Message"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id
msgid "ID"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress
msgid "In progress"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban
msgid "Inventory"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Inventory Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban
msgid "Inventory for Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button
msgid "Kanban Cards"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view
msgid "Kanban Image"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu
msgid "Kanban cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update
msgid "Last Modified on"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid
msgid "Last Updated by"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date
msgid "Last Updated on"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Lines only can be added on orders with draft state"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Location"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Location must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids
msgid "Messages"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Missing"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids
msgid "Missing Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans
msgid "Missing Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid ""
"Moves created through this stock request will be put in this procurement "
"group. If none is given, the moves generated by procurement rules will be "
"grouped into one big picking."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name
msgid "Name"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Number of unread messages"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id
msgid "Order"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban
msgid "Print kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Print missing"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid "Procurement Group"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Procurement group must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_product
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id
msgid "Product"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_template
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id
msgid "Product Template"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id
msgid "Product Unit of Measure"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids
msgid "Products"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Quantity in the default UoM of the product"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity, specified in the unit of measure indicated in the request."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Real Quantity"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban
msgid "Request from Kanban cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id
msgid "Route"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids
msgid "Routes"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scan"
msgstr ""
#. module: stock_request_kanban
#. openerp-web
#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0
#, python-format
msgid "Scan Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scanned"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids
msgid "Scanned Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Set to draft"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Start"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state
msgid "State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status
msgid "Status"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state
msgid "Status State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Stock Inventories"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban
msgid "Stock Inventory Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action
msgid "Stock Inventory Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id
msgid "Stock Request"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Request Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract
msgid "Stock Request Kanban Abstract Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban
msgid "Stock Request Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action
msgid "Stock Request Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban
msgid "Stock Request Order Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Requests"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Stock Requests Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "Unread Messages"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Unread Messages Counter"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Warehouse"
msgstr ""
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Warehouse must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website communication history"
msgstr ""

View file

@ -0,0 +1,745 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_request_kanban
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count
msgid "# Kanban Cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "Action Needed"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active
msgid "Active"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids
msgid "Activities"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state
msgid "Activity State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Activity Type Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Add Kanban"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0
#, python-format
msgid "Added kanban %(kanban)s for product %(product)s"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location
msgid "Allow Virtual locations on Stock Requests"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Archived"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count
msgid "Attachment Count"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0
#, python-format
msgid ""
"Barcode %s does not correspond to any Kanban. Try with another barcode or "
"press Close to finish scanning."
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is already scanned"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is not in the inventory"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Barcode %s is on the order"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Barcode Scanned"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0
#, python-format
msgid "CRC is not valid"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Cancel"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled
msgid "Cancelled"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid "Category"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action
msgid "Click to add a Stock Inventory Kanban."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action
msgid "Click to add a Stock Request Kanban."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Close"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed
msgid "Closed"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id
msgid "Company"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Company must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid
msgid "Created by"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date
msgid "Created on"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name
msgid "Display Name"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft
msgid "Draft"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Finish"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished
msgid "Finished"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids
msgid "Followers"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids
msgid "Followers (Partners)"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Group By"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message
msgid "Has Message"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id
msgid "ID"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "If checked, new messages require your attention."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress
msgid "In progress"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban
msgid "Inventory"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Inventory Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban
msgid "Inventory for Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower
msgid "Is Follower"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button
msgid "Kanban Cards"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view
msgid "Kanban Image"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu
msgid "Kanban cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update
msgid "Last Modified on"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid
msgid "Last Updated by"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date
msgid "Last Updated on"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Lines only can be added on orders with draft state"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Location"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Location must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id
msgid "Main Attachment"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "Message Delivery error"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids
msgid "Messages"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Missing"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids
msgid "Missing Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans
msgid "Missing Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid ""
"Moves created through this stock request will be put in this procurement "
"group. If none is given, the moves generated by procurement rules will be "
"grouped into one big picking."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name
msgid "Name"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline
msgid "Next Activity Deadline"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary
msgid "Next Activity Summary"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id
msgid "Next Activity Type"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of Actions"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of errors"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of messages requiring action"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id
msgid "Order"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban
msgid "Print kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Print missing"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid "Procurement Group"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Procurement group must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_template
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id
msgid "Product"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id
msgid "Product Template"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id
msgid "Product Unit of Measure"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_product
msgid "Product Variant"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids
msgid "Products"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Quantity in the default UoM of the product"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity, specified in the unit of measure indicated in the request."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Real Quantity"
msgstr ""
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban
msgid "Request from Kanban cards"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id
msgid "Responsible User"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id
msgid "Route"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids
msgid "Routes"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scan"
msgstr ""
#. module: stock_request_kanban
#. odoo-javascript
#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0
#, python-format
msgid "Scan Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scanned"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids
msgid "Scanned Kanban"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Set to draft"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Start"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state
msgid "State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status
msgid "Status"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state
msgid "Status State"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Stock Inventories"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban
msgid "Stock Inventory Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action
msgid "Stock Inventory Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id
msgid "Stock Request"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Request Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract
msgid "Stock Request Kanban Abstract Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban
msgid "Stock Request Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action
msgid "Stock Request Kanbans"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban
msgid "Stock Request Order Kanban Wizard"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Requests"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Stock Requests Kanban"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Warehouse"
msgstr ""
#. module: stock_request_kanban
#. odoo-python
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Warehouse must be the same"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website Messages"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website communication history"
msgstr ""

View file

@ -0,0 +1,802 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * stock_request_kanban
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2019-10-16 15:58+0000\n"
"Last-Translator: 黎伟杰 <674416404@qq.com>\n"
"Language-Team: none\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.8\n"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count
#, fuzzy
msgid "# Kanban Cards"
msgstr "看板卡"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction
msgid "Action Needed"
msgstr "需要采取行动"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active
msgid "Active"
msgstr "有效"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids
msgid "Activities"
msgstr "活动"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Activity Exception Decoration"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state
msgid "Activity State"
msgstr "活动状态"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Activity Type Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action
#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Add Kanban"
msgstr "添加看板"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0
#, python-format
msgid "Added kanban %(kanban)s for product %(product)s"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location
msgid "Allow Virtual locations on Stock Requests"
msgstr "允许库存请求中的虚拟位置"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Archived"
msgstr "已归档"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count
msgid "Attachment Count"
msgstr "附件数量"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0
#, python-format
msgid ""
"Barcode %s does not correspond to any Kanban. Try with another barcode or "
"press Close to finish scanning."
msgstr "条形码%s与任何看板都不对应。尝试使用其他条形码或按“关闭”完成扫描。"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is already scanned"
msgstr "条码%s已被扫描"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0
#, python-format
msgid "Barcode %s is not in the inventory"
msgstr "条码%s不在库存中"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Barcode %s is on the order"
msgstr "条码%s在订单上"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Barcode Scanned"
msgstr "条码扫描"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0
#, python-format
msgid "CRC is not valid"
msgstr "CRC无效"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Cancel"
msgstr "取消"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled
msgid "Cancelled"
msgstr "已取消"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid "Category"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action
msgid "Click to add a Stock Inventory Kanban."
msgstr "点击添加库存看板。"
#. module: stock_request_kanban
#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action
msgid "Click to add a Stock Request Kanban."
msgstr "点击添加库存请求看板。"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form
msgid "Close"
msgstr "关闭"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed
msgid "Closed"
msgstr "已关闭"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id
msgid "Company"
msgstr "公司"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Company must be the same"
msgstr "公司必须相同"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id
msgid ""
"Conversion between Units of Measure can only occur if they belong to the "
"same category. The conversion will be made based on the ratios."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid
msgid "Created by"
msgstr "创建者"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date
msgid "Created on"
msgstr "创建时间"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name
msgid "Display Name"
msgstr "显示名称"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft
msgid "Draft"
msgstr "草稿"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Finish"
msgstr "完成"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished
msgid "Finished"
msgstr "已完成"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids
msgid "Followers"
msgstr "关注者"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids
msgid "Followers (Partners)"
msgstr "关注者(业务伙伴)"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon
msgid "Font awesome icon e.g. fa-tasks"
msgstr ""
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Group By"
msgstr "分组"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message
msgid "Has Message"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id
msgid "ID"
msgstr "ID"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon
msgid "Icon to indicate an exception activity."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "If checked, new messages require your attention."
msgstr "如果勾选此项,将会收到新消息提醒。"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "If checked, some messages have a delivery error."
msgstr "如果勾选此项, 某些信息将会产生传递错误。"
#. module: stock_request_kanban
#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress
msgid "In progress"
msgstr "进行中"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban
msgid "Inventory"
msgstr "库存"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Inventory Kanban"
msgstr "库存看板"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban
msgid "Inventory for Kanban"
msgstr "库存看板"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower
msgid "Is Follower"
msgstr "是关注者"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Kanban"
msgstr "看板"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button
#, fuzzy
msgid "Kanban Cards"
msgstr "看板卡"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view
msgid "Kanban Image"
msgstr "看板图片"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu
msgid "Kanban cards"
msgstr "看板卡"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update
msgid "Last Modified on"
msgstr "最后修改时间"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid
msgid "Last Updated by"
msgstr "最后更新者"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date
msgid "Last Updated on"
msgstr "最后更新时间"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Lines only can be added on orders with draft state"
msgstr "只有处于草稿状态的订单才能添加行"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Location"
msgstr "位置"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Location must be the same"
msgstr "位置必须相同"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id
msgid "Main Attachment"
msgstr "附件"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error
msgid "Message Delivery error"
msgstr "消息递送错误"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids
msgid "Messages"
msgstr "消息"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Missing"
msgstr "缺失"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids
msgid "Missing Kanban"
msgstr "看板缺失"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans
msgid "Missing Kanbans"
msgstr "看板缺失"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid ""
"Moves created through this stock request will be put in this procurement "
"group. If none is given, the moves generated by procurement rules will be "
"grouped into one big picking."
msgstr ""
"通过此库存请求创建的移动将放入此采购组。如果没有给出,则由采购规则生成的移动"
"将被分组为一个大拣货。"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline
msgid "My Activity Deadline"
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name
msgid "Name"
msgstr "名称"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline
msgid "Next Activity Deadline"
msgstr "下一个活动截止日期"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary
msgid "Next Activity Summary"
msgstr "下一个活动摘要"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id
msgid "Next Activity Type"
msgstr "下一个活动类型"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of Actions"
msgstr "操作次数"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
#, fuzzy
msgid "Number of errors"
msgstr "错误数"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter
msgid "Number of messages which requires an action"
msgstr "需要操作消息数量"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter
msgid "Number of messages with delivery error"
msgstr "传递错误的消息数量"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Number of unread messages"
msgstr "未读消息的数量"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id
msgid "Order"
msgstr "订单"
#. module: stock_request_kanban
#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban
msgid "Print kanban"
msgstr "打印看板"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Print missing"
msgstr "打印缺失"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id
msgid "Procurement Group"
msgstr "补货组"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Procurement group must be the same"
msgstr "补货组必须相同"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_product
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id
msgid "Product"
msgstr "产品"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_product_template
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id
#, fuzzy
msgid "Product Template"
msgstr "产品"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id
msgid "Product Unit of Measure"
msgstr "产品计量单位"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids
msgid "Products"
msgstr "产品"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity"
msgstr "数量"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Quantity in the default UoM of the product"
msgstr "产品的默认计量单位数量"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty
msgid "Quantity, specified in the unit of measure indicated in the request."
msgstr "数量,以请求中指示的计量单位指定。"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty
msgid "Real Quantity"
msgstr "实际数量"
#. module: stock_request_kanban
#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban
msgid "Request from Kanban cards"
msgstr "来自看板卡的请求"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id
msgid "Responsible User"
msgstr "责任用户"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id
msgid "Route"
msgstr "路线"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids
msgid "Routes"
msgstr "路线"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scan"
msgstr "扫描"
#. module: stock_request_kanban
#. openerp-web
#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0
#, fuzzy, python-format
msgid "Scan Kanban"
msgstr "已扫描看板"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Scanned"
msgstr "已扫描"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids
msgid "Scanned Kanban"
msgstr "已扫描看板"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Set to draft"
msgstr "设置为草稿"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Start"
msgstr "开始"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state
msgid "State"
msgstr "状态"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status
msgid "Status"
msgstr "状态"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state
msgid "Status State"
msgstr "状态"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state
msgid ""
"Status based on activities\n"
"Overdue: Due date is already passed\n"
"Today: Activity date is today\n"
"Planned: Future activities."
msgstr ""
"基于活动的状态\n"
"逾期:已经超过截止日期\n"
"现今:活动日期是当天\n"
"计划:未来的活动。"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form
msgid "Stock Inventories"
msgstr "库存存货"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban
#, fuzzy
msgid "Stock Inventory Kanban Wizard"
msgstr "库存存货看板"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action
msgid "Stock Inventory Kanbans"
msgstr "库存存货看板"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id
#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id
msgid "Stock Request"
msgstr "库存请求"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Request Kanban"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract
#, fuzzy
msgid "Stock Request Kanban Abstract Wizard"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban
#, fuzzy
msgid "Stock Request Kanban Wizard"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action
msgid "Stock Request Kanbans"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban
#, fuzzy
msgid "Stock Request Order Kanban Wizard"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form
msgid "Stock Requests"
msgstr "库存请求"
#. module: stock_request_kanban
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Stock Requests Kanban"
msgstr "库存请求看板"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration
msgid "Type of the exception activity on record."
msgstr ""
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread
msgid "Unread Messages"
msgstr "未读消息"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter
msgid "Unread Messages Counter"
msgstr "未读消息计数器"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned
#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned
msgid "Value of the last barcode scanned."
msgstr "最后扫描条形码的值。"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id
#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search
msgid "Warehouse"
msgstr "仓库"
#. module: stock_request_kanban
#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0
#, python-format
msgid "Warehouse must be the same"
msgstr "仓库必须相同"
#. module: stock_request_kanban
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website Messages"
msgstr "网站消息"
#. module: stock_request_kanban
#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids
#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids
msgid "Website communication history"
msgstr "网站沟通记录"
#, fuzzy
#~ msgid "SMS Delivery error"
#~ msgstr "消息递送错误"
#, python-format
#~ msgid "Added kanban %s for product %s"
#~ msgstr "为产品%s添加了看板%s"
#~ msgid "Followers (Channels)"
#~ msgstr "关注者(频道)"
#~ msgid "If checked new messages require your attention."
#~ msgstr ".如果勾选此项,将会收到新消息提醒。"
#~ msgid "Overdue"
#~ msgstr "逾期"
#~ msgid "Planned"
#~ msgstr "计划"
#~ msgid "Today"
#~ msgstr "今天"
#~ msgid "wizard.stock.inventory.kanban"
#~ msgstr "wizard.stock.inventory.kanban"
#~ msgid "wizard.stock.request.kanban"
#~ msgstr "wizard.stock.request.kanban"
#~ msgid "wizard.stock.request.kanban.abstract"
#~ msgstr "wizard.stock.request.kanban.abstract"
#~ msgid "wizard.stock.request.order.kanban"
#~ msgstr "wizard.stock.request.order.kanban"

View file

@ -0,0 +1,7 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from . import stock_request
from . import stock_request_kanban
from . import stock_inventory_kanban
from . import product

View file

@ -0,0 +1,53 @@
from odoo import fields, models
class ProductTemplate(models.Model):
_inherit = "product.template"
kanban_card_count = fields.Integer(
"# Kanban Cards", compute="_compute_kanban_card_count", compute_sudo=False
)
def _compute_kanban_card_count(self):
for product in self:
count = 0
for variant in product.product_variant_ids:
count += self.env["stock.request.kanban"].search_count(
[("product_id", "=", variant.id)]
)
product.kanban_card_count = count
def action_view_kanban_cards(self):
self.ensure_one()
action = self.env["ir.actions.act_window"]._for_xml_id(
"stock_request_kanban.stock_request_kanban_action"
)
action["context"] = {"default_product_id": self.product_variant_id.id}
action["domain"] = [
("active", "=", True),
("product_template_id", "=", self.id),
]
return action
class ProductProduct(models.Model):
_inherit = "product.product"
kanban_card_count = fields.Integer(
"# Kanban Cards", compute="_compute_kanban_card_count", compute_sudo=False
)
def _compute_kanban_card_count(self):
for product in self:
product.kanban_card_count += self.env["stock.request.kanban"].search_count(
[("product_id", "=", product.id)]
)
def action_view_kanban_cards(self):
self.ensure_one()
action = self.env["ir.actions.act_window"]._for_xml_id(
"stock_request_kanban.stock_request_kanban_action"
)
action["context"] = {"default_product_id": self.id}
action["domain"] = [("active", "=", True), ("product_id", "=", self.id)]
return action

View file

@ -0,0 +1,156 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import api, fields, models
from odoo.osv import expression
class StockInventoryKanban(models.Model):
_name = "stock.inventory.kanban"
_description = "Inventory for Kanban"
_inherit = ["mail.thread", "mail.activity.mixin"]
name = fields.Char(
readonly=True, states={"draft": [("readonly", False)]}, copy=False
)
state = fields.Selection(
[
("draft", "Draft"),
("in_progress", "In progress"),
("finished", "Finished"),
("closed", "Closed"),
("cancelled", "Cancelled"),
],
required=True,
default="draft",
readonly=True,
copy=False,
tracking=True,
)
warehouse_ids = fields.Many2many(
"stock.warehouse",
string="Warehouse",
ondelete="cascade",
readonly=True,
states={"draft": [("readonly", False)]},
)
location_ids = fields.Many2many(
"stock.location",
string="Location",
domain=[("usage", "in", ["internal", "transit"])],
ondelete="cascade",
readonly=True,
states={"draft": [("readonly", False)]},
)
product_ids = fields.Many2many(
"product.product",
string="Products",
domain=[("type", "in", ["product", "consu"])],
ondelete="cascade",
readonly=True,
states={"draft": [("readonly", False)]},
)
kanban_ids = fields.Many2many(
"stock.request.kanban",
relation="stock_inventory_kanban_kanban",
readonly=True,
copy=False,
)
scanned_kanban_ids = fields.Many2many(
"stock.request.kanban",
relation="stock_inventory_kanban_scanned_kanban",
readonly=True,
copy=False,
)
missing_kanban_ids = fields.Many2many(
"stock.request.kanban", readonly=True, compute="_compute_missing_kanban"
)
count_missing_kanbans = fields.Integer(
"Missing Kanbans", readonly=True, compute="_compute_missing_kanban"
)
@api.depends("kanban_ids", "scanned_kanban_ids")
def _compute_missing_kanban(self):
for rec in self:
rec.missing_kanban_ids = rec.kanban_ids.filtered(
lambda r: r.id not in rec.scanned_kanban_ids.ids
)
rec.count_missing_kanbans = len(rec.missing_kanban_ids)
def _get_inventory_kanban_domain(self):
domain = []
if self.warehouse_ids:
domain = expression.AND(
(domain, [("warehouse_id", "in", self.warehouse_ids.ids)])
)
if self.product_ids:
domain = expression.AND(
(domain, [("product_id", "in", self.product_ids.ids)])
)
if self.location_ids:
domain = expression.AND(
(domain, [("location_id", "in", self.location_ids.ids)])
)
return domain
def _start_inventory_values(self):
return {"state": "in_progress"}
def _finish_inventory_values(self):
return {"state": "finished"}
def _close_inventory_values(self):
return {"state": "closed"}
@api.model_create_multi
def create(self, vals_list):
vals_list_upd = []
for vals in vals_list:
upd_vals = vals.copy()
if upd_vals.get("name", "/") == "/":
upd_vals["name"] = self.env["ir.sequence"].next_by_code(
"stock.inventory.kanban"
)
vals_list_upd.append(upd_vals)
return super().create(vals_list_upd)
def calculate_kanbans(self):
for rec in self:
if rec.state == "draft":
rec.kanban_ids = self.env["stock.request.kanban"].search(
rec._get_inventory_kanban_domain()
)
def start_inventory(self):
self.calculate_kanbans()
self.write(self._start_inventory_values())
def finish_inventory(self):
self.write(self._finish_inventory_values())
def close_inventory(self):
self.write(self._close_inventory_values())
def print_missing_kanbans(self):
"""Print the missing kanban cards in order to restore them"""
self.ensure_one()
return self.env.ref("stock_request_kanban.action_report_kanban").report_action(
self.missing_kanban_ids
)
def _cancel_inventory_values(self):
return {"state": "cancelled"}
def cancel(self):
self.write(self._cancel_inventory_values())
def _to_draft_inventory_values(self):
return {
"state": "draft",
"kanban_ids": [(5, 0)],
"scanned_kanban_ids": [(5, 0)],
}
def to_draft(self):
self.write(self._to_draft_inventory_values())

View file

@ -0,0 +1,10 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import fields, models
class StockRequest(models.Model):
_inherit = "stock.request"
kanban_id = fields.Many2one("stock.request.kanban", readonly=True)

View file

@ -0,0 +1,65 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from reportlab.graphics.barcode import getCodes
from odoo import _, api, fields, models
from odoo.exceptions import ValidationError
class StockRequestKanban(models.Model):
_name = "stock.request.kanban"
_description = "Stock Request Kanban"
_inherit = "stock.request.abstract"
active = fields.Boolean(default=True)
product_template_id = fields.Many2one(related="product_id.product_tmpl_id")
@api.model_create_multi
def create(self, vals_list):
vals_list_upd = []
for vals in vals_list:
upd_vals = vals.copy()
if upd_vals.get("name", "/") == "/":
upd_vals["name"] = self.env["ir.sequence"].next_by_code(
"stock.request.kanban"
)
vals_list_upd.append(upd_vals)
return super().create(vals_list_upd)
@api.model
def get_barcode_format(self):
return (
self.env["ir.config_parameter"]
.sudo()
.get_param("stock_request_kanban.barcode_format", default="Standard39")
)
@api.model
def _recompute_barcode(self, barcode):
if (
self.env["ir.config_parameter"]
.sudo()
.get_param("stock_request_kanban.crc", default="1")
== "0"
):
return barcode
if (
self.env["ir.config_parameter"]
.sudo()
.get_param("stock_request_kanban.ignore_crc", default="0")
== "0"
):
bcc = getCodes()[self.get_barcode_format()](value=barcode[:-1])
bcc.validate()
bcc.encode()
if bcc.encoded[1:-1] != barcode:
raise ValidationError(_("CRC is not valid"))
return barcode[:-1]
@api.model
def search_barcode(self, barcode):
recomputed_barcode = self._recompute_barcode(barcode)
return self.env["stock.request.kanban"].search(
[("name", "ilike", recomputed_barcode)]
)

View file

@ -0,0 +1,16 @@
If the barcode does not contain a CRC check digit on the kanban card, you should:
* Access on Development mode
* Access 'Settings / Technical / Parameters / System Parameters'
* Create a parameter with name 'stock_request_kanban.crc' and set it to value to 0
If the barcode contains a CRC check digit and you want to ignore it:
* Create a paramenter with name 'stock_request_kanban.ignore_crc' and set it to value to 1
If you want to change the format of the QR, you should:
* Access on Development mode
* Access 'Settings / Technical / Parameters / System Parameters'
* Create a parameter with name 'stock_request_kanban.barcode_format' and set
the format of the barcode

View file

@ -0,0 +1,2 @@
* Enric Tobella <etobella@creublanca.es>
* Kitti Upariphutthiphong <kittiu@ecosoft.co.th>

View file

@ -0,0 +1,8 @@
On most companies there are products that must be purchased often but cannot be
stored as a usual product because no consumption moves are made.
Usually, they are stored as consumables or putaway rules are defined.
In both cases, reordering rules cannot be used.
This module allows to use stock request as reordering rules for this kind of
products.
It is created following the concept of lean kanban cards.

View file

@ -0,0 +1,28 @@
Creation
~~~~~~~~
* Go to 'Stock Requests / Stock Requests Kanban' and create a new Kanban.
* Indicate a product, quantity and location.
* Press 'Save'.
* Print the kanban and put it in the storage of the product
Request kanban
~~~~~~~~~~~~~~
This should be used if you want to create the kanban when the card is consumed.
* Once the product is consumed, take the card
* Go to 'Stock Requests / Order Kanban Card'
* Scan the card
* The stock request is created
Request kanban batch
~~~~~~~~~~~~~~~~~~~~
This should be used when you will store the cards and create request orders
for kanbans later.
* Once the product is consumed, take the card and store it
* Create a store request order
* Press the scan button
* Scan all the pending kanban cards

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="kanban_paper_format" model="report.paperformat">
<field name="name">Kanban format</field>
<field name="format">A4</field>
<field name="orientation">Portrait</field>
<field name="margin_top">0.0</field>
<field name="margin_bottom">0.0</field>
<field name="margin_left">0.0</field>
<field name="margin_right">0.0</field>
<field name="header_spacing">0</field>
<field name="dpi">72</field>
</record>
</odoo>

View file

@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017-2020 ForgeFlow, S.L.
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). -->
<odoo>
<template id="report_simple_label">
<div class="col-3" style="padding:20;height:350px;">
<div class="container">
<div class="row">
<div
class="col-12"
style="height:15%;border:2px solid black;text-align:center;vertical-align:middle;display:table;"
>
<div style="display: table-cell; vertical-align: middle;">
<strong t-field="o.location_id.name" />
</div>
</div>
</div>
<div class="row" t-if="o.product_id.default_code">
<div
class="col-12"
style="height:15%;border:2px solid black;text-align:center;vertical-align:middle;display:table;"
>
<div style="display: table-cell; vertical-align: middle;">
<strong
t-field="o.product_id.default_code"
t-if="o.product_id.default_code"
/>
</div>
</div>
</div>
<div class="row">
<div
class="col-12 align-middle"
style="height:40%;border:2px solid black;text-align:center;vertical-align:middle;display:table;"
>
<div style="display: table-cell; vertical-align: middle;">
<strong t-field="o.product_id.name" />
</div>
</div>
</div>
<div class="row">
<div
class="col-6"
style="height:10%;border:2px solid black;text-align:center;vertical-align:middle;"
>
<div style="vertical-align: middle;">
<span t-esc="float(o.product_qty)" />
<span t-field="o.product_id.uom_id.name" />
</div>
</div>
<div
class="col-6"
style="height:10%;border:2px solid black;text-align:center;vertical-align:middle;"
>
<div style="vertical-align: middle;">
<span t-esc="float(o.product_uom_qty)" />
<span t-field="o.product_uom_id.name" />
</div>
</div>
</div>
<div class="row">
<div
class="col-12"
style="height:10%;border:2px solid black;text-align:center;vertical-align:middle;display:table;"
>
<div style="display: table-cell; vertical-align: middle;">
<span t-field="o.name" />
</div>
</div>
</div>
<div class="row">
<div class="col-12" style="height:10%;">
<img
t-att-src="'/report/barcode/%s/%s?width=%s&amp;height=%s' % (o.get_barcode_format(), o.name, 320, 20)"
style="height:80%; width: 100%;"
/>
</div>
</div>
</div>
</div>
</template>
<template id="report_kanban_label">
<t t-call="web.basic_layout">
<t t-foreach="docs" t-as="o">
<div class="page">
<t t-call="stock_request_kanban.report_simple_label">
<t t-set="o" t-value="o" />
</t>
</div>
</t>
</t>
</template>
<record id="action_report_kanban" model="ir.actions.report">
<field name="name">Print kanban</field>
<field name="model">stock.request.kanban</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">stock_request_kanban.report_kanban_label</field>
<field name="report_file">stock_request_kanban.report_kanban_label</field>
<field name="paperformat_id" ref="stock_request_kanban.kanban_paper_format" />
<field name="binding_model_id" ref="model_stock_request_kanban" />
<field name="binding_type">report</field>
</record>
</odoo>

View file

@ -0,0 +1,11 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_stock_request_kanban_user,stock request kanban user,model_stock_request_kanban,stock_request.group_stock_request_user,1,1,1,
access_stock_request_kanban_manager,stock request kanban manager,model_stock_request_kanban,stock_request.group_stock_request_manager,1,1,1,1
access_stock_inventory_kanban_user,stock inventory kanban user,model_stock_inventory_kanban,stock_request.group_stock_request_user,1,1,1,
access_stock_inventory_kanban_manager,stock inventory kanban manager,model_stock_inventory_kanban,stock_request.group_stock_request_manager,1,1,1,1
access_wizard_stock_request_kanban_user,wizard stock request kanban user,model_wizard_stock_request_kanban,stock_request.group_stock_request_user,1,1,1,
access_wizard_stock_request_kanban_manager,wizard stock request kanban manager,model_wizard_stock_request_kanban,stock_request.group_stock_request_manager,1,1,1,1
access_wizard_stock_inventory_kanban_user,wizard stock inventory kanban user,model_wizard_stock_inventory_kanban,stock_request.group_stock_request_user,1,1,1,
access_wizard_stock_inventory_kanban_manager,wizard stock inventory kanban manager,model_wizard_stock_inventory_kanban,stock_request.group_stock_request_manager,1,1,1,1
access_wizard_stock_request_order_kanban_user,wizard stock request order kanban user,model_wizard_stock_request_order_kanban,stock_request.group_stock_request_user,1,1,1,
access_wizard_stock_request_order_kanban_manager,wizard stock request order kanban manager,model_wizard_stock_request_order_kanban,stock_request.group_stock_request_manager,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_stock_request_kanban_user stock request kanban user model_stock_request_kanban stock_request.group_stock_request_user 1 1 1
3 access_stock_request_kanban_manager stock request kanban manager model_stock_request_kanban stock_request.group_stock_request_manager 1 1 1 1
4 access_stock_inventory_kanban_user stock inventory kanban user model_stock_inventory_kanban stock_request.group_stock_request_user 1 1 1
5 access_stock_inventory_kanban_manager stock inventory kanban manager model_stock_inventory_kanban stock_request.group_stock_request_manager 1 1 1 1
6 access_wizard_stock_request_kanban_user wizard stock request kanban user model_wizard_stock_request_kanban stock_request.group_stock_request_user 1 1 1
7 access_wizard_stock_request_kanban_manager wizard stock request kanban manager model_wizard_stock_request_kanban stock_request.group_stock_request_manager 1 1 1 1
8 access_wizard_stock_inventory_kanban_user wizard stock inventory kanban user model_wizard_stock_inventory_kanban stock_request.group_stock_request_user 1 1 1
9 access_wizard_stock_inventory_kanban_manager wizard stock inventory kanban manager model_wizard_stock_inventory_kanban stock_request.group_stock_request_manager 1 1 1 1
10 access_wizard_stock_request_order_kanban_user wizard stock request order kanban user model_wizard_stock_request_order_kanban stock_request.group_stock_request_user 1 1 1
11 access_wizard_stock_request_order_kanban_manager wizard stock request order kanban manager model_wizard_stock_request_order_kanban stock_request.group_stock_request_manager 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,497 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="stock-request-kanban">
<h1>Stock Request kanban</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9d6da8812db1c2e6954d43783dd6d9665ae4e28b9c79f9f893ce77a84244cc1d
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/license-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_kanban"><img alt="OCA/stock-logistics-request" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_kanban"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>On most companies there are products that must be purchased often but cannot be
stored as a usual product because no consumption moves are made.
Usually, they are stored as consumables or putaway rules are defined.
In both cases, reordering rules cannot be used.
This module allows to use stock request as reordering rules for this kind of
products.</p>
<p>It is created following the concept of lean kanban cards.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</a><ul>
<li><a class="reference internal" href="#creation" id="toc-entry-3">Creation</a></li>
<li><a class="reference internal" href="#request-kanban" id="toc-entry-4">Request kanban</a></li>
<li><a class="reference internal" href="#request-kanban-batch" id="toc-entry-5">Request kanban batch</a></li>
</ul>
</li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-6">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-7">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-8">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-9">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-10">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="configuration">
<h2><a class="toc-backref" href="#toc-entry-1">Configuration</a></h2>
<p>If the barcode does not contain a CRC check digit on the kanban card, you should:</p>
<ul class="simple">
<li>Access on Development mode</li>
<li>Access Settings / Technical / Parameters / System Parameters</li>
<li>Create a parameter with name stock_request_kanban.crc and set it to value to 0</li>
</ul>
<p>If the barcode contains a CRC check digit and you want to ignore it:</p>
<ul class="simple">
<li>Create a paramenter with name stock_request_kanban.ignore_crc and set it to value to 1</li>
</ul>
<p>If you want to change the format of the QR, you should:</p>
<ul class="simple">
<li>Access on Development mode</li>
<li>Access Settings / Technical / Parameters / System Parameters</li>
<li>Create a parameter with name stock_request_kanban.barcode_format and set
the format of the barcode</li>
</ul>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#toc-entry-2">Usage</a></h2>
<div class="section" id="creation">
<h3><a class="toc-backref" href="#toc-entry-3">Creation</a></h3>
<ul class="simple">
<li>Go to Stock Requests / Stock Requests Kanban and create a new Kanban.</li>
<li>Indicate a product, quantity and location.</li>
<li>Press Save.</li>
<li>Print the kanban and put it in the storage of the product</li>
</ul>
</div>
<div class="section" id="request-kanban">
<h3><a class="toc-backref" href="#toc-entry-4">Request kanban</a></h3>
<p>This should be used if you want to create the kanban when the card is consumed.</p>
<ul class="simple">
<li>Once the product is consumed, take the card</li>
<li>Go to Stock Requests / Order Kanban Card</li>
<li>Scan the card</li>
<li>The stock request is created</li>
</ul>
</div>
<div class="section" id="request-kanban-batch">
<h3><a class="toc-backref" href="#toc-entry-5">Request kanban batch</a></h3>
<p>This should be used when you will store the cards and create request orders
for kanbans later.</p>
<ul class="simple">
<li>Once the product is consumed, take the card and store it</li>
<li>Create a store request order</li>
<li>Press the scan button</li>
<li>Scan all the pending kanban cards</li>
</ul>
</div>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-6">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-request/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/stock-logistics-request/issues/new?body=module:%20stock_request_kanban%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-7">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-8">Authors</a></h3>
<ul class="simple">
<li>Creu Blanca</li>
<li>ForgeFlow</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-9">Contributors</a></h3>
<ul class="simple">
<li>Enric Tobella &lt;<a class="reference external" href="mailto:etobella&#64;creublanca.es">etobella&#64;creublanca.es</a>&gt;</li>
<li>Kitti Upariphutthiphong &lt;<a class="reference external" href="mailto:kittiu&#64;ecosoft.co.th">kittiu&#64;ecosoft.co.th</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-10">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_kanban">OCA/stock-logistics-request</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,48 @@
/** @odoo-module **/
import ListController from "web.ListController";
import core from "web.core";
var qweb = core.qweb;
var StockRequestKanbanController = ListController.extend({
// -------------------------------------------------------------------------
// Public
// -------------------------------------------------------------------------
init: function (parent, model, renderer) {
this.context = renderer.state.getContext();
return this._super.apply(this, arguments);
},
/**
* @override
*/
renderButtons: function () {
this._super.apply(this, arguments);
var $buttonScan = $(qweb.render("StockRequestKanban.Buttons"));
$buttonScan.on("click", this._onOpenWizard.bind(this));
this.$buttons.prepend($buttonScan);
},
// -------------------------------------------------------------------------
// Handlers
// -------------------------------------------------------------------------
_onOpenWizard: function () {
var context = {
active_model: this.modelName,
};
this.do_action({
res_model: "wizard.stock.request.kanban",
views: [[false, "form"]],
target: "new",
type: "ir.actions.act_window",
context: context,
});
},
});
export default StockRequestKanbanController;

View file

@ -0,0 +1,15 @@
/** @odoo-module **/
import ListView from "web.ListView";
import StockRequestKanbanController from "@stock_request_kanban/js/stock_request_kanban_scan_controller.esm";
import viewRegistry from "web.view_registry";
var StockRequestKanbanListView = ListView.extend({
config: _.extend({}, ListView.prototype.config, {
Controller: StockRequestKanbanController,
}),
});
viewRegistry.add("stock_request_kanban_list", StockRequestKanbanListView);
export default StockRequestKanbanListView;

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" ?>
<templates id="template" xml:space="preserve">
<button
t-name="StockRequestKanban.Buttons"
class="btn-primary btn mr-1"
type="button"
style="margin-right: 10px;"
>
Scan Kanban
</button>
</templates>

View file

@ -0,0 +1,2 @@
from . import test_kanban
from . import test_inventory_kanban

View file

@ -0,0 +1,17 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from reportlab.graphics.barcode import getCodes
from odoo.tests.common import TransactionCase
class TestBaseKanban(TransactionCase):
def pass_code(self, wizard, code):
bcc = getCodes()[self.env["stock.request.kanban"].get_barcode_format()](
value=code
)
bcc.validate()
bcc.encode()
wizard.on_barcode_scanned(bcc.encoded[1:-1])

View file

@ -0,0 +1,112 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from .base_test import TestBaseKanban
class TestKanban(TestBaseKanban):
def setUp(self):
super().setUp()
self.main_company = self.env.ref("base.main_company")
self.route = self.env["stock.route"].create(
{
"name": "Transfer",
"product_categ_selectable": False,
"product_selectable": True,
"company_id": self.main_company.id,
"sequence": 10,
}
)
self.product = self.env["product.product"].create(
{"name": "Product", "route_ids": [(4, self.route.id)], "company_id": False}
)
self.product_2 = self.env["product.product"].create(
{
"name": "Product 2",
"route_ids": [(4, self.route.id)],
"company_id": False,
}
)
self.kanban_1 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
self.kanban_2 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
self.kanban_3 = self.env["stock.request.kanban"].create(
{
"product_id": self.product_2.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
def test_inventory_warehouse(self):
inventory = self.env["stock.inventory.kanban"].create(
{"warehouse_ids": [(4, self.kanban_1.warehouse_id.id)]}
)
inventory.start_inventory()
self.assertIn(self.kanban_1, inventory.kanban_ids)
self.assertIn(self.kanban_1, inventory.missing_kanban_ids)
def test_inventory_location(self):
inventory = self.env["stock.inventory.kanban"].create(
{"location_ids": [(4, self.kanban_1.location_id.id)]}
)
inventory.start_inventory()
self.assertIn(self.kanban_1, inventory.kanban_ids)
self.assertIn(self.kanban_1, inventory.missing_kanban_ids)
def test_inventory_product(self):
inventory = self.env["stock.inventory.kanban"].create(
{"product_ids": [(4, self.product.id)]}
)
inventory.start_inventory()
self.assertIn(self.kanban_1, inventory.kanban_ids)
self.assertNotIn(self.kanban_3, inventory.kanban_ids)
self.assertIn(self.kanban_1, inventory.missing_kanban_ids)
self.assertEqual(inventory.state, "in_progress")
wizard = (
self.env["wizard.stock.inventory.kanban"]
.with_context(default_inventory_kanban_id=inventory.id)
.create({})
)
self.pass_code(wizard, self.kanban_3.name)
self.assertEqual(wizard.status_state, 1)
self.pass_code(wizard, self.kanban_1.name)
self.assertEqual(wizard.status_state, 0)
self.assertNotIn(self.kanban_1, inventory.missing_kanban_ids)
self.assertIn(self.kanban_1, inventory.scanned_kanban_ids)
self.pass_code(wizard, self.kanban_1.name)
self.assertEqual(wizard.status_state, 1)
self.assertNotIn(self.kanban_1, inventory.missing_kanban_ids)
self.assertIn(self.kanban_1, inventory.scanned_kanban_ids)
inventory.finish_inventory()
self.assertEqual(inventory.state, "finished")
inventory.close_inventory()
self.assertEqual(inventory.state, "closed")
def test_cancel_inventory(self):
inventory = self.env["stock.inventory.kanban"].create(
{"product_ids": [(4, self.product.id)]}
)
inventory.start_inventory()
self.assertIn(self.kanban_1, inventory.kanban_ids)
self.assertNotIn(self.kanban_3, inventory.kanban_ids)
self.assertIn(self.kanban_1, inventory.missing_kanban_ids)
self.assertEqual(inventory.state, "in_progress")
inventory.cancel()
self.assertEqual(inventory.state, "cancelled")
inventory.to_draft()
self.assertEqual(inventory.state, "draft")
self.assertFalse(inventory.kanban_ids)
self.assertFalse(inventory.scanned_kanban_ids)

View file

@ -0,0 +1,232 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo.exceptions import ValidationError
from .base_test import TestBaseKanban
class TestKanban(TestBaseKanban):
def setUp(self):
super().setUp()
self.main_company = self.env.ref("base.main_company")
self.warehouse = self.env.ref("stock.warehouse0")
self.categ_unit = self.env.ref("uom.product_uom_categ_unit")
# common data
self.company_2 = self.env["res.company"].create({"name": "Comp2"})
self.wh2 = self.env["stock.warehouse"].search(
[("company_id", "=", self.company_2.id)], limit=1
)
self.wh3 = self.env["stock.warehouse"].create(
{
"name": "Warehouse TEst",
"code": "WH-TEST",
"company_id": self.main_company.id,
}
)
self.ressuply_loc = self.env["stock.location"].create(
{"name": "Ressuply", "location_id": self.warehouse.view_location_id.id}
)
self.route = self.env["stock.route"].create(
{
"name": "Transfer",
"product_categ_selectable": False,
"product_selectable": True,
"company_id": self.main_company.id,
"sequence": 10,
}
)
self.product = self.env["product.product"].create(
{"name": "Product", "route_ids": [(4, self.route.id)], "company_id": False}
)
self.uom_dozen = self.env["uom.uom"].create(
{
"name": "Test-DozenA",
"category_id": self.categ_unit.id,
"factor_inv": 12,
"uom_type": "bigger",
"rounding": 0.001,
}
)
self.env["stock.rule"].create(
{
"name": "Transfer",
"route_id": self.route.id,
"location_src_id": self.ressuply_loc.id,
"location_dest_id": self.warehouse.lot_stock_id.id,
"action": "pull_push",
"picking_type_id": self.warehouse.int_type_id.id,
"procure_method": "make_to_stock",
"warehouse_id": self.warehouse.id,
"company_id": self.main_company.id,
}
)
self.env["ir.config_parameter"].set_param("stock_request_kanban.crc", "1")
def test_onchanges(self):
kanban = self.env["stock.request.kanban"].new({})
kanban.product_id = self.product
kanban.onchange_product_id()
kanban.company_id = self.main_company
kanban.onchange_company_id()
self.assertTrue(kanban.warehouse_id)
kanban.warehouse_id = self.wh2
kanban.onchange_warehouse_id()
self.assertEqual(kanban.company_id, self.company_2)
kanban.location_id = self.warehouse.view_location_id
kanban.onchange_location_id()
self.assertEqual(kanban.company_id, self.main_company)
self.assertEqual(kanban.warehouse_id, self.warehouse)
def test_create(self):
kanban = self.env["stock.request.kanban"].new({})
kanban.product_id = self.product
kanban.onchange_product_id()
kanban.product_uom_qty = 1
kanban = kanban.create(kanban._convert_to_write(kanban._cache))
self.assertTrue(kanban.company_id)
self.assertIn(self.route, kanban.route_ids)
def test_order_barcodes(self):
kanban_1 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
kanban_2 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
kanban_3 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
"company_id": self.main_company.id,
"warehouse_id": self.wh3.id,
"location_id": self.wh3.lot_stock_id.id,
}
)
order = self.env["stock.request.order"].create(
{
"company_id": self.main_company.id,
"warehouse_id": self.warehouse.id,
"location_id": self.warehouse.lot_stock_id.id,
}
)
wizard = (
self.env["wizard.stock.request.order.kanban"]
.with_context(default_order_id=order.id)
.create({})
)
with self.assertRaises(ValidationError):
wizard.on_barcode_scanned(kanban_1.name)
self.pass_code(wizard, kanban_1.name)
self.assertEqual(wizard.status_state, 0)
self.assertTrue(
order.stock_request_ids.filtered(lambda r: r.kanban_id == kanban_1)
)
self.pass_code(wizard, kanban_2.name)
self.assertTrue(
order.stock_request_ids.filtered(lambda r: r.kanban_id == kanban_2)
)
self.assertEqual(wizard.status_state, 0)
self.pass_code(wizard, kanban_1.name)
self.assertEqual(wizard.status_state, 1)
self.pass_code(wizard, kanban_2.name + kanban_1.name)
self.assertEqual(wizard.status_state, 1)
with self.assertRaises(ValidationError):
self.pass_code(wizard, kanban_3.name)
def test_barcodes(self):
kanban_1 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
kanban_2 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
kanban_3 = self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
wizard = self.env["wizard.stock.request.kanban"].with_context().create({})
with self.assertRaises(ValidationError):
wizard.on_barcode_scanned(kanban_1.name)
self.assertFalse(
self.env["stock.request"].search([("kanban_id", "=", kanban_1.id)])
)
self.pass_code(wizard, kanban_1.name)
self.assertEqual(wizard.status_state, 0)
self.assertTrue(
self.env["stock.request"].search([("kanban_id", "=", kanban_1.id)])
)
self.assertFalse(
self.env["stock.request"].search([("kanban_id", "=", kanban_2.id)])
)
self.pass_code(wizard, kanban_2.name)
self.assertTrue(
self.env["stock.request"].search([("kanban_id", "=", kanban_2.id)])
)
with self.assertRaises(ValidationError):
wizard.on_barcode_scanned(kanban_3.name)
self.assertFalse(
self.env["stock.request"].search([("kanban_id", "=", kanban_3.id)])
)
self.env["ir.config_parameter"].set_param("stock_request_kanban.crc", "0")
wizard.on_barcode_scanned(kanban_3.name)
self.assertEqual(wizard.status_state, 0)
self.assertTrue(
self.env["stock.request"].search([("kanban_id", "=", kanban_3.id)])
)
def test_product_kanban_count(self):
self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
self.env["stock.request.kanban"].create(
{
"product_id": self.product.id,
"product_uom_id": self.product.uom_id.id,
"product_uom_qty": 1,
}
)
self.assertEqual(self.product.kanban_card_count, 2)
self.assertEqual(self.product.product_tmpl_id.kanban_card_count, 2)
def test_product_kanban_action(self):
prod_action = self.product.action_view_kanban_cards()
tmpl_action = self.product.product_tmpl_id.action_view_kanban_cards()
self.assertEqual(
prod_action.get("context", {}).get("default_product_id"),
self.product.id,
"Product variant not in action",
)
self.assertEqual(
tmpl_action.get("context", {}).get("default_product_id"),
self.product.id,
"Product template not in action",
)

View file

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2020 ForgeFlow, S.L.
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). -->
<odoo>
<record id="product_product_form_view_kanban_card_button" model="ir.ui.view">
<field name="name">product.product.stock.request.kanban</field>
<field name="model">product.product</field>
<field name="inherit_id" ref="product.product_normal_form_view" />
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button
class="oe_stat_button"
name="action_view_kanban_cards"
type="object"
attrs="{'invisible':[('type', 'not in', ['product', 'consu'])]}"
icon="fa-barcode"
groups="stock_request.group_stock_request_user"
>
<field
string="Kanban Cards"
name="kanban_card_count"
widget="statinfo"
/>
</button>
</div>
</field>
</record>
<record id="product_template_form_view_bom_button" model="ir.ui.view">
<field name="name">product.template.stock.request.kanban</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_only_form_view" />
<field name="arch" type="xml">
<div name="button_box" position="inside">
<button
class="oe_stat_button"
name="action_view_kanban_cards"
type="object"
attrs="{'invisible':[('type', 'not in', ['product', 'consu'])]}"
icon="fa-barcode"
groups="stock_request.group_stock_request_user"
>
<field
string="Kanban Cards"
name="kanban_card_count"
widget="statinfo"
/>
</button>
</div>
</field>
</record>
</odoo>

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="view_stock_inventory_kanban_tree" model="ir.ui.view">
<field name="name">stock.inventory.kanban.tree</field>
<field name="model">stock.inventory.kanban</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="count_missing_kanbans" />
<field name="state" />
</tree>
</field>
</record>
<record id="view_stock_inventory_kanban_form" model="ir.ui.view">
<field name="name">stock.inventory.kanban.form</field>
<field name="model">stock.inventory.kanban</field>
<field name="arch" type="xml">
<form string="Stock Inventories">
<header>
<button
name="start_inventory"
type="object"
string="Start"
states="draft"
class="btn-primary"
/>
<button
name="finish_inventory"
type="object"
string="Finish"
states="in_progress"
class="btn-primary"
/>
<button
name="print_missing_kanbans"
type="object"
string="Print missing"
states="finished"
/>
<button
name="close_inventory"
type="object"
string="Close"
states="finished"
class="btn-primary"
/>
<button
name="cancel"
type="object"
string="Cancel"
states="draft,in_progress,finished"
/>
<button
name="to_draft"
type="object"
string="Set to draft"
states="cancelled"
/>
<field name="state" widget="statusbar" />
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button
name="%(stock_request_kanban.wizard_stock_inventory_kanban_action)d"
type="action"
icon="fa-barcode"
string="Scan"
states="in_progress"
class="oe_read_only"
/>
</div>
<div class="oe_title">
<label for="name" string="Inventory Kanban" />
<h1>
<field name="name" readonly="1" />
</h1>
</div>
<group>
<field
name="warehouse_ids"
widget="many2many_tags"
groups="stock.group_stock_multi_locations"
/>
<field
name="location_ids"
widget="many2many_tags"
groups="stock.group_stock_multi_locations"
/>
<field name="product_ids" widget="many2many_tags" />
</group>
<notebook>
<page string="Kanban" id="kanban">
<field name="kanban_ids" />
</page>
<page string="Missing" id="missing">
<field name="missing_kanban_ids" />
</page>
<page string="Scanned" id="scanned">
<field name="scanned_kanban_ids" />
</page>
</notebook>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" />
<field name="activity_ids" widget="mail_activity" />
<field name="message_ids" widget="mail_thread" />
</div>
</form>
</field>
</record>
<record id="stock_inventory_kanban_action" model="ir.actions.act_window">
<field name="name">Stock Inventory Kanbans</field>
<field name="res_model">stock.inventory.kanban</field>
<field name="type">ir.actions.act_window</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a Stock Inventory Kanban.
</p>
</field>
</record>
</odoo>

View file

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017-2020 ForgeFlow, S.L.
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). -->
<odoo>
<record id="view_stock_request_kanban_tree" model="ir.ui.view">
<field name="name">stock.request.kanban.tree</field>
<field name="model">stock.request.kanban</field>
<field name="arch" type="xml">
<tree
decoration-muted="active == 'false'"
decoration-bf="message_needaction==True"
>
<field name="message_needaction" invisible="1" />
<field name="name" />
<field name="warehouse_id" groups="stock.group_stock_multi_locations" />
<field name="allow_virtual_location" invisible="1" />
<field name="location_id" groups="stock.group_stock_multi_locations" />
<field
name="route_id"
options="{'no_create': True}"
groups="stock.group_stock_multi_locations"
/>
<field name="product_id" />
<field
name="product_uom_id"
options="{'no_open': True, 'no_create': True}"
groups="uom.group_uom"
/>
<field name="product_uom_qty" />
<field name="active" invisible="1" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="stock_request_kanban_search">
<field name="name">stock.request.kanban.search</field>
<field name="model">stock.request.kanban</field>
<field name="arch" type="xml">
<search string="Stock Requests Kanban">
<field name="name" string="Stock Requests Kanban" />
<field name="warehouse_id" groups="stock.group_stock_multi_locations" />
<field name="location_id" groups="stock.group_stock_multi_locations" />
<field name="company_id" groups="base.group_multi_company" />
<field name="product_id" />
<filter
string="Archived"
name="inactive"
domain="[('active','=',False)]"
/>
<group expand="0" string="Group By">
<filter
name="warehouse"
string="Warehouse"
domain="[]"
context="{'group_by':'warehouse_id'}"
/>
<filter
name="location"
string="Location"
domain="[]"
context="{'group_by':'location_id'}"
/>
</group>
</search>
</field>
</record>
<record id="view_stock_request_kanban_form" model="ir.ui.view">
<field name="name">stock.request.kanban.form</field>
<field name="model">stock.request.kanban</field>
<field name="arch" type="xml">
<form string="Stock Requests">
<field name="company_id" invisible="1" />
<header />
<sheet>
<div class="oe_button_box" name="button_box" />
<div class="oe_title">
<label for="name" string="Stock Request Kanban" />
<h1>
<field name="name" readonly="1" />
</h1>
</div>
<group>
<group>
<field name="product_id" />
</group>
<group>
<field
name="warehouse_id"
widget="selection"
groups="stock.group_stock_multi_locations"
/>
<field name="allow_virtual_location" invisible="1" />
<field
name="location_id"
groups="stock.group_stock_multi_locations"
/>
<field
name="route_id"
options="{'no_create': True}"
groups="stock.group_stock_multi_locations"
/>
<field name="route_ids" invisible="1" />
<field
name="procurement_group_id"
groups="stock.group_adv_location"
/>
<field
name="company_id"
groups="base.group_multi_company"
options="{'no_create': True}"
/>
</group>
<group name="quantities">
<label for="product_uom_qty" />
<div>
<field name="product_uom_qty" class="oe_inline" />
<field name="allowed_uom_categ_id" invisible="1" />
<field
name="product_uom_id"
class="oe_inline"
options="{'no_open': True, 'no_create': True}"
groups="uom.group_uom"
/>
</div>
</group>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers" />
<field name="activity_ids" widget="mail_activity" />
<field name="message_ids" widget="mail_thread" />
</div>
</form>
</field>
</record>
<!-- Partner Kanban View -->
<record model="ir.ui.view" id="stock_request_kanban_kanban_view">
<field name="name">stock.request.kanban.kanban</field>
<field name="model">stock.request.kanban</field>
<field name="arch" type="xml">
<kanban class="o_res_partner_kanban">
<field name="id" />
<field name="name" />
<field name="product_id" />
<field name="display_name" />
<field name="warehouse_id" />
<field name="location_id" />
<field name="product_qty" />
<templates>
<t t-name="kanban-box">
<div class="oe_kanban_global_click o_res_partner_kanban">
<div class="o_kanban_image">
<img
t-att-src="kanban_image('product.product', 'image_128', record.product_id.raw_value)"
alt="Kanban Image"
/>
</div>
<div class="oe_kanban_details">
<strong class="o_kanban_record_title">
<field name="display_name" />
</strong>
<div class="o_kanban_tags_section" />
<ul>
<li t-if="record.product_id.raw_value">
<field name="product_id" />
</li>
<li
t-if="record.warehouse_id.raw_value"
groups="stock.group_stock_multi_locations"
>
<field name="warehouse_id" />
</li>
<li
t-if="record.location_id.raw_value"
groups="stock.group_stock_multi_locations"
>
<field name="location_id" />
</li>
<li t-if="record.product_qty">
<field name="product_qty" />
<field name="product_uom_id" />
</li>
</ul>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record id="stock_request_kanban_action" model="ir.actions.act_window">
<field name="name">Stock Request Kanbans</field>
<field name="res_model">stock.request.kanban</field>
<field name="type">ir.actions.act_window</field>
<field name="view_mode">kanban,tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a Stock Request Kanban.
</p>
</field>
</record>
</odoo>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<menuitem
id="stock_request_kanban_menu"
name="Kanban cards"
parent="stock_request.menu_stock_request_master_data"
action="stock_request_kanban_action"
groups="stock_request.group_stock_request_manager"
sequence="110"
/>
<menuitem
id="menu_wizard_stock_request_kanban"
name="Request from Kanban cards"
parent="stock_request.menu_stock_request_operations"
action="wizard_stock_request_kanban_action"
sequence="40"
/>
<menuitem
id="menu_wizard_stock_inventory_kanban"
name="Inventory"
parent="stock_request.menu_stock_request_operations"
action="stock_inventory_kanban_action"
sequence="60"
/>
</odoo>

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record model="ir.ui.view" id="stock_request_order_form">
<field name="name">stock.request.order.form</field>
<field name="model">stock.request.order</field>
<field name="inherit_id" ref="stock_request.stock_request_order_form" />
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']" position="inside">
<button
name="%(stock_request_kanban.wizard_stock_request_order_kanban_action)d"
type="action"
icon="fa-barcode"
string="Scan"
states="draft"
class="oe_read_only"
/>
</xpath>
</field>
</record>
</odoo>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 ForgeFlow
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). -->
<odoo>
<record id="view_stock_request_tree" model="ir.ui.view">
<field name="name">stock.request.tree</field>
<field name="model">stock.request</field>
<field name="inherit_id" ref="stock_request.view_stock_request_tree" />
<field name="arch" type="xml">
<tree position="attributes">
<attribute name="js_class">stock_request_kanban_list</attribute>
</tree>
</field>
</record>
</odoo>

View file

@ -0,0 +1,7 @@
# Copyright 2018 Creu Blanca
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from . import wizard_stock_request_kanban_abstract
from . import wizard_stock_request_kanban
from . import wizard_stock_request_order_kanban
from . import wizard_stock_inventory_kanban

View file

@ -0,0 +1,34 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import _, fields, models
class WizardStockInventoryKanban(models.TransientModel):
_name = "wizard.stock.inventory.kanban"
_description = "Stock Inventory Kanban Wizard"
_inherit = "wizard.stock.request.kanban.abstract"
inventory_kanban_id = fields.Many2one("stock.inventory.kanban", readonly=True)
def barcode_ending(self):
res = super().barcode_ending()
self.inventory_kanban_id.write({"scanned_kanban_ids": [(4, self.kanban_id.id)]})
return res
def validate_kanban(self, barcode):
res = super().validate_kanban(barcode)
if not self.inventory_kanban_id.kanban_ids.filtered(
lambda r: r == self.kanban_id
):
self.status = _("Barcode %s is not in the inventory") % barcode
self.status_state = 1
return False
if self.inventory_kanban_id.scanned_kanban_ids.filtered(
lambda r: r == self.kanban_id
):
self.status = _("Barcode %s is already scanned") % barcode
self.status_state = 1
return False
return res

View file

@ -0,0 +1,55 @@
<?xml version="1.0" ?>
<!--
Copyright 2017-2020 ForgeFlow, S.L.
Copyright 2017 Creu Blanca
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
-->
<odoo>
<record id="wizard_stock_inventory_kanban_form" model="ir.ui.view">
<field name="name">wizard.stock.inventory.kanban.form</field>
<field name="model">wizard.stock.inventory.kanban</field>
<field name="arch" type="xml">
<form string="Add Kanban">
<div
class="alert alert-success text-center o_form_header"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible':[('status_state', '!=', 0)]}"
>
<bold>
<field name="status" />
</bold>
</div>
<div
class="alert alert-danger alert-dismissable text-center"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible':[('status_state', '=', 0)]}"
>
<bold>
<field name="status" />
</bold>
</div>
<field name="status_state" invisible="1" />
<field name="kanban_id" invisible="1" />
<field name="inventory_kanban_id" invisible="1" />
<field name="_barcode_scanned" widget="barcode_handler" />
<footer>
<button
name="action_cancel"
string="Close"
class="oe_link"
special="cancel"
/>
</footer>
</form>
</field>
</record>
<record id="wizard_stock_inventory_kanban_action" model="ir.actions.act_window">
<field name="name">Add Kanban</field>
<field name="res_model">wizard.stock.inventory.kanban</field>
<field name="view_mode">form</field>
<field name="context">{'default_inventory_kanban_id': active_id}</field>
<field name="target">new</field>
</record>
</odoo>

View file

@ -0,0 +1,50 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import _, fields, models
class WizardStockRequestKanban(models.TransientModel):
_name = "wizard.stock.request.kanban"
_description = "Stock Request Kanban Wizard"
_inherit = "wizard.stock.request.kanban.abstract"
stock_request_id = fields.Many2one("stock.request", readonly=True)
def barcode_ending(self):
res = super().barcode_ending()
self.stock_request_id = self.env["stock.request"].create(
self.stock_request_kanban_values()
)
self.stock_request_ending()
self.update_status()
return res
def stock_request_ending(self):
self.stock_request_id.action_confirm()
def update_status(self):
self.update(
{
"status_state": 0,
"status": _(
"Added kanban %(kanban)s for product %(product)s",
kanban=self.stock_request_id.kanban_id.name,
product=self.stock_request_id.product_id.display_name,
),
}
)
def stock_request_kanban_values(self):
return {
"company_id": self.kanban_id.company_id.id,
"procurement_group_id": self.kanban_id.procurement_group_id.id or False,
"location_id": self.kanban_id.location_id.id or False,
"warehouse_id": self.kanban_id.warehouse_id.id or False,
"product_id": self.kanban_id.product_id.id,
"product_uom_id": self.kanban_id.product_uom_id.id or False,
"route_id": self.kanban_id.route_id.id or False,
"product_uom_qty": self.kanban_id.product_uom_qty,
"kanban_id": self.kanban_id.id,
}

View file

@ -0,0 +1,44 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import _, fields, models
class WizardStockRequestKanbanAbstract(models.AbstractModel):
_name = "wizard.stock.request.kanban.abstract"
_description = "Stock Request Kanban Abstract Wizard"
_inherit = "barcodes.barcode_events_mixin"
kanban_id = fields.Many2one("stock.request.kanban", readonly=True)
status = fields.Text(readonly=True, default="Start scanning")
status_state = fields.Integer(default=0, readonly=True)
def on_barcode_scanned(self, barcode):
self.kanban_id = self.env["stock.request.kanban"].search_barcode(barcode)
if not self.kanban_id:
self.status = (
_(
"Barcode %s does not correspond to any "
"Kanban. Try with another barcode or "
"press Close to finish scanning."
)
% barcode
)
self.status_state = 1
return
if self.validate_kanban(barcode):
self.status_state = 0
self.barcode_ending()
return
def barcode_ending(self):
pass
def validate_kanban(self, barcode):
"""
It must return True if the kanban is valid, False otherwise
:param barcode:
:return:
"""
return True

View file

@ -0,0 +1,54 @@
<?xml version="1.0" ?>
<!--
Copyright 2017-2020 ForgeFlow, S.L.
Copyright 2017 Creu Blanca
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
-->
<odoo>
<record id="wizard_stock_request_kanban_form" model="ir.ui.view">
<field name="name">wizard.stock.request.kanban.form</field>
<field name="model">wizard.stock.request.kanban</field>
<field name="arch" type="xml">
<form string="Add Kanban">
<div
class="alert alert-success text-center o_form_header"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible':[('status_state', '!=', 0)]}"
>
<bold>
<field name="status" />
</bold>
</div>
<div
class="alert alert-danger alert-dismissable text-center"
role="alert"
style="margin-bottom:0px;"
attrs="{'invisible':[('status_state', '=', 0)]}"
>
<bold>
<field name="status" />
</bold>
</div>
<field name="status_state" invisible="1" />
<field name="kanban_id" invisible="1" />
<field name="stock_request_id" invisible="1" />
<field name="_barcode_scanned" widget="barcode_handler" />
<footer>
<button
name="action_cancel"
string="Close"
class="oe_link"
special="cancel"
/>
</footer>
</form>
</field>
</record>
<record id="wizard_stock_request_kanban_action" model="ir.actions.act_window">
<field name="name">Add Kanban</field>
<field name="res_model">wizard.stock.request.kanban</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</odoo>

View file

@ -0,0 +1,56 @@
# Copyright 2017 Creu Blanca
# Copyright 2017-2020 ForgeFlow, S.L.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
from odoo import _, fields, models
from odoo.exceptions import ValidationError
class WizardStockRequestOrderKanban(models.TransientModel):
_name = "wizard.stock.request.order.kanban"
_description = "Stock Request Order Kanban Wizard"
_inherit = "wizard.stock.request.kanban"
order_id = fields.Many2one("stock.request.order", required=True)
def validate_kanban(self, barcode):
res = super().validate_kanban(barcode)
if self.order_id.stock_request_ids.filtered(
lambda r: r.kanban_id == self.kanban_id
):
self.status = _("Barcode %s is on the order") % barcode
self.status_state = 1
return False
if self.order_id.state != "draft":
raise ValidationError(
_("Lines only can be added on orders with draft state")
)
if not self.order_id.company_id:
self.order_id.company_id = self.kanban_id.company_id
elif self.order_id.company_id != self.kanban_id.company_id:
raise ValidationError(_("Company must be the same"))
if (
self.kanban_id.procurement_group_id
and self.order_id.procurement_group_id
!= self.kanban_id.procurement_group_id
):
raise ValidationError(_("Procurement group must be the same"))
if self.order_id.location_id != self.kanban_id.location_id:
raise ValidationError(_("Location must be the same"))
if self.order_id.warehouse_id != self.kanban_id.warehouse_id:
raise ValidationError(_("Warehouse must be the same"))
return res
def stock_request_kanban_values(self):
res = super().stock_request_kanban_values()
res["order_id"] = (self.order_id.id,)
res["expected_date"] = fields.Datetime.to_string(self.order_id.expected_date)
return res
def stock_request_ending(self):
return
def barcode_ending(self):
res = super().barcode_ending()
self.order_id = self.stock_request_id.order_id
return res

View file

@ -0,0 +1,26 @@
<?xml version="1.0" ?>
<!--
Copyright 2017-2020 ForgeFlow, S.L.
Copyright 2017 Creu Blanca
License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
-->
<odoo>
<record id="wizard_stock_request_order_kanban_form" model="ir.ui.view">
<field name="name">wizard.stock.request.order.kanban.form</field>
<field name="model">wizard.stock.request.order.kanban</field>
<field name="mode">primary</field>
<field name="inherit_id" ref="wizard_stock_request_kanban_form" />
<field name="arch" type="xml">
<field name="kanban_id" position="after">
<field name="order_id" invisible="1" />
</field>
</field>
</record>
<record id="wizard_stock_request_order_kanban_action" model="ir.actions.act_window">
<field name="name">Add Kanban</field>
<field name="res_model">wizard.stock.request.order.kanban</field>
<field name="view_mode">form</field>
<field name="context">{'default_order_id': active_id}</field>
<field name="target">new</field>
</record>
</odoo>