mirror of
https://github.com/OCA/stock-logistics-warehouse.git
synced 2025-01-21 14:27:28 +02:00
Merge pull request #526 from Jarsa-dev/12.0-mig-stock_available_unreserved
MIG 12.0 stock available unreserved
This commit is contained in:
67
stock_available_unreserved/README.rst
Normal file
67
stock_available_unreserved/README.rst
Normal file
@@ -0,0 +1,67 @@
|
||||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
|
||||
==========================
|
||||
Stock Available Unreserved
|
||||
==========================
|
||||
|
||||
This module allows users to check the quantity of a stocked product that is
|
||||
available on-hand, and that has not yet been reserved for use anywhere else.
|
||||
|
||||
This key figure is very important during the monitoring of the warehouse
|
||||
execution, because it assists users to ensure that the flow of products will
|
||||
not be stuck due to a sudden unavailability of stock.
|
||||
|
||||
If the warehouse personnel ensures that the unreserved quantity on hand > 0,
|
||||
then nobody will be stuck in pickings or manufacturing orders waiting for
|
||||
the availability of unreserved stock.
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
|
||||
:alt: Try me on Runbot
|
||||
:target: https://runbot.odoo-community.org/runbot/153/11.0
|
||||
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/stock-logistics-warehouse/issues>`_. In case of trouble, please
|
||||
check there if your issue has already been reported. If you spotted it first,
|
||||
help us smashing it by providing a detailed and welcomed feedback.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Jordi Ballester Alomar <jordi.ballester@eficent.com>
|
||||
* Stefan Rijnhart <stefan@opener.amsterdam>
|
||||
* Mykhailo Panarin <m.panarin@mobilunity.com>
|
||||
* Atte Isopuro <atte.isopuro@avoin.systems>
|
||||
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
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.
|
||||
|
||||
To contribute to this module, please visit https://odoo-community.org.
|
||||
6
stock_available_unreserved/__init__.py
Normal file
6
stock_available_unreserved/__init__.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# (http://www.eficent.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import models
|
||||
22
stock_available_unreserved/__manifest__.py
Normal file
22
stock_available_unreserved/__manifest__.py
Normal file
@@ -0,0 +1,22 @@
|
||||
# Copyright 2018 Camptocamp SA
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# (http://www.eficent.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
{
|
||||
"name": "Stock Available Unreserved",
|
||||
"summary": "Quantity of stock available for immediate use",
|
||||
"version": "12.0.1.0.0",
|
||||
"author": "Eficent Business and IT Consulting Services S.L,"
|
||||
"Odoo Community Association (OCA)",
|
||||
"website": "https://github.com/OCA/stock-logistics-warehouse",
|
||||
"category": "Warehouse Management",
|
||||
"depends": [
|
||||
"stock",
|
||||
],
|
||||
"data": [
|
||||
"views/stock_quant_view.xml",
|
||||
"views/product_view.xml",
|
||||
],
|
||||
"license": "AGPL-3",
|
||||
}
|
||||
86
stock_available_unreserved/i18n/ar.po
Normal file
86
stock_available_unreserved/i18n/ar.po
Normal file
@@ -0,0 +1,86 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2018-06-29 14:21+0000\n"
|
||||
"Last-Translator: Osoul <baruni@osoul.ly>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: ar\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||
"X-Generator: Weblate 3.0.1\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr "يحتوي على كميات غير محجوزة"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr "الغير محجوز داخلياً"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "المنتج"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "قالب المنتج"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr "الكمية المتوفرة الغير محجوزة"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr "الكمية في متناول اليد الغير محجوزة"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr "المنتجات القابلة للحجز"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr "الكمية في متناول اليد (غير محجوزة)"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr "غير محجوز"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr "غير محجوز:"
|
||||
87
stock_available_unreserved/i18n/ca.po
Normal file
87
stock_available_unreserved/i18n/ca.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Carles Antoli <carlesantoli@hotmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Carles Antoli <carlesantoli@hotmail.com>, 2017\n"
|
||||
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
|
||||
"Language: ca\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Producte"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla del producte"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
96
stock_available_unreserved/i18n/de.po
Normal file
96
stock_available_unreserved/i18n/de.po
Normal file
@@ -0,0 +1,96 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-16 14:35+0000\n"
|
||||
"PO-Revision-Date: 2018-01-16 14:35+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
||||
"Language: de\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr "Intern nicht reserviert"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produkt"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Produktvorlage"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr "Freier Bestand"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr "Nicht reservierte, verfügbare Menge"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr "Freier Bestand (nicht reserv.)"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr "Nicht reserviert"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr "Nicht reserviert:"
|
||||
|
||||
#~ msgid " On Hand"
|
||||
#~ msgstr "Verfügbar"
|
||||
|
||||
#~ msgid "Available per stock"
|
||||
#~ msgstr "Verfügbar nach Bestand"
|
||||
|
||||
#~ msgid "Unreserved stock quantity"
|
||||
#~ msgstr "Nicht reservierte Bestandsmenge"
|
||||
88
stock_available_unreserved/i18n/el_GR.po
Normal file
88
stock_available_unreserved/i18n/el_GR.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Kostas Goutoudis <goutoudis@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Kostas Goutoudis <goutoudis@gmail.com>, 2017\n"
|
||||
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
|
||||
"el_GR/)\n"
|
||||
"Language: el_GR\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Προϊόν"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/es.po
Normal file
87
stock_available_unreserved/i18n/es.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\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"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Producto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla de producto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr "No reservado"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/es_ES.po
Normal file
88
stock_available_unreserved/i18n/es_ES.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Javier García-Panach <panaka7@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Javier García-Panach <panaka7@gmail.com>, 2017\n"
|
||||
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/"
|
||||
"es_ES/)\n"
|
||||
"Language: es_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"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Producto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/es_MX.po
Normal file
88
stock_available_unreserved/i18n/es_MX.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Juan González <bifomania@protonmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Juan González <bifomania@protonmail.com>, 2017\n"
|
||||
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
|
||||
"es_MX/)\n"
|
||||
"Language: es_MX\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Plantilla del producto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/eu.po
Normal file
87
stock_available_unreserved/i18n/eu.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Esther Martín Menéndez <esthermartin001@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Esther Martín Menéndez <esthermartin001@gmail.com>, 2017\n"
|
||||
"Language-Team: Basque (https://www.transifex.com/oca/teams/23907/eu/)\n"
|
||||
"Language: eu\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produktua"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/fi.po
Normal file
87
stock_available_unreserved/i18n/fi.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
|
||||
"Language: fi\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Tuote"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Tuotteen malli"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/fr.po
Normal file
87
stock_available_unreserved/i18n/fr.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
|
||||
"Language: fr\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Article"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modèle de produit"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
89
stock_available_unreserved/i18n/fr_CH.po
Normal file
89
stock_available_unreserved/i18n/fr_CH.po
Normal file
@@ -0,0 +1,89 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# leemannd <denis.leemann@camptocamp.com>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
|
||||
"teams/23907/fr_CH/)\n"
|
||||
"Language: fr_CH\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produit"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Template de produit"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/fr_FR.po
Normal file
88
stock_available_unreserved/i18n/fr_FR.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: French (France) (https://www.transifex.com/oca/teams/23907/"
|
||||
"fr_FR/)\n"
|
||||
"Language: fr_FR\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produit"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/gl.po
Normal file
87
stock_available_unreserved/i18n/gl.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# César Castro Cruz <ulmroan@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: César Castro Cruz <ulmroan@gmail.com>, 2017\n"
|
||||
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
|
||||
"Language: gl\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
89
stock_available_unreserved/i18n/hr.po
Normal file
89
stock_available_unreserved/i18n/hr.po
Normal file
@@ -0,0 +1,89 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Bole <bole@dajmi5.com>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Predložak proizvoda"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
90
stock_available_unreserved/i18n/hr_HR.po
Normal file
90
stock_available_unreserved/i18n/hr_HR.po
Normal file
@@ -0,0 +1,90 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Bole <bole@dajmi5.com>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
|
||||
"hr_HR/)\n"
|
||||
"Language: hr_HR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Predložak proizvoda"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/it.po
Normal file
88
stock_available_unreserved/i18n/it.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Paolo Valier <paolo.valier@hotmail.it>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Prodotto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Template Prodotto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/nl.po
Normal file
87
stock_available_unreserved/i18n/nl.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-16 14:35+0000\n"
|
||||
"PO-Revision-Date: 2018-01-16 14:35+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
|
||||
"Language: nl\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Product"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Productsjabloon"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
89
stock_available_unreserved/i18n/nl_NL.po
Normal file
89
stock_available_unreserved/i18n/nl_NL.po
Normal file
@@ -0,0 +1,89 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
# Peter Hageman <hageman.p@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-23 00:57+0000\n"
|
||||
"PO-Revision-Date: 2017-06-23 00:57+0000\n"
|
||||
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
|
||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
|
||||
"teams/23907/nl_NL/)\n"
|
||||
"Language: nl_NL\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Product"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Productsjabloon"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
87
stock_available_unreserved/i18n/pt.po
Normal file
87
stock_available_unreserved/i18n/pt.po
Normal file
@@ -0,0 +1,87 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
|
||||
"Language: pt\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
90
stock_available_unreserved/i18n/pt_BR.po
Normal file
90
stock_available_unreserved/i18n/pt_BR.po
Normal file
@@ -0,0 +1,90 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Claudio Araujo Santos <claudioaraujosantos@gmail.com>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
# danimaribeiro <danimaribeiro@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: danimaribeiro <danimaribeiro@gmail.com>, 2017\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
|
||||
"teams/23907/pt_BR/)\n"
|
||||
"Language: pt_BR\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Modelo Produto"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr "Desreservar"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/ro.po
Normal file
88
stock_available_unreserved/i18n/ro.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
|
||||
"2:1));\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Produs"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Produs șablon"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
89
stock_available_unreserved/i18n/ru.po
Normal file
89
stock_available_unreserved/i18n/ru.po
Normal file
@@ -0,0 +1,89 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2018
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-16 14:35+0000\n"
|
||||
"PO-Revision-Date: 2018-01-16 14:35+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
|
||||
"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
||||
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Товар/Услуга"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
97
stock_available_unreserved/i18n/sl.po
Normal file
97
stock_available_unreserved/i18n/sl.po
Normal file
@@ -0,0 +1,97 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2018-01-16 14:35+0000\n"
|
||||
"PO-Revision-Date: 2018-01-16 14:35+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr "Interno ne rezervirano"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Proizvod"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Predloga proizvoda"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr "Ne rezervirana količina na voljo"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr "Ne rezervirana količna pri roki"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr "Količina pri roki (ne rezervirana)"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr "Odstranjena rezervacija"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr "Ne rezervirano:"
|
||||
|
||||
#~ msgid " On Hand"
|
||||
#~ msgstr "Na voljo"
|
||||
|
||||
#~ msgid "Available per stock"
|
||||
#~ msgstr "Na voljo po zalogah"
|
||||
|
||||
#~ msgid "Unreserved stock quantity"
|
||||
#~ msgstr "Količina ne rezerviranih zalog"
|
||||
@@ -0,0 +1,83 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 11.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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
|
||||
88
stock_available_unreserved/i18n/tr.po
Normal file
88
stock_available_unreserved/i18n/tr.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Ediz Duman <neps1192@gmail.com>, 2017
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-23 00:57+0000\n"
|
||||
"PO-Revision-Date: 2017-06-23 00:57+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
|
||||
"Language: tr\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_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Ürün"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Ürün Şablonu"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/tr_TR.po
Normal file
88
stock_available_unreserved/i18n/tr_TR.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Ozge Altinisik <ozge@altinkaya.com.tr>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Ozge Altinisik <ozge@altinkaya.com.tr>, 2017\n"
|
||||
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
|
||||
"tr_TR/)\n"
|
||||
"Language: tr_TR\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"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Ürün"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Ürün şablonu"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/vi_VN.po
Normal file
88
stock_available_unreserved/i18n/vi_VN.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/"
|
||||
"teams/23907/vi_VN/)\n"
|
||||
"Language: vi_VN\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"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "Sản phẩm"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "Mẫu sản phẩm"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
88
stock_available_unreserved/i18n/zh_CN.po
Normal file
88
stock_available_unreserved/i18n/zh_CN.po
Normal file
@@ -0,0 +1,88 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * stock_available_unreserved
|
||||
#
|
||||
# Translators:
|
||||
# Jeffery CHEN <jeffery9@gmail.com>, 2017
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0c\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-03-04 03:58+0000\n"
|
||||
"PO-Revision-Date: 2017-03-04 03:58+0000\n"
|
||||
"Last-Translator: Jeffery CHEN <jeffery9@gmail.com>, 2017\n"
|
||||
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
|
||||
"zh_CN/)\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"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant_contains_unreserved
|
||||
msgid "Contains unreserved products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view
|
||||
msgid "Internal Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:116
|
||||
#, python-format
|
||||
msgid "Invalid domain operator %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: code:addons/stock_available_unreserved/models/product.py:118
|
||||
#, python-format
|
||||
msgid "Invalid domain right operand %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_product
|
||||
msgid "Product"
|
||||
msgstr "产品"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_product_template
|
||||
msgid "Product Template"
|
||||
msgstr "产品模板"
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_product_qty_available_not_res
|
||||
msgid "Qty Available Not Reserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model.fields,field_description:stock_available_unreserved.field_product_template_qty_available_not_res
|
||||
msgid "Quantity On Hand Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.model,name:stock_available_unreserved.model_stock_quant
|
||||
msgid "Quants"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock
|
||||
msgid "Reservable Products"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved
|
||||
msgid "Stock On Hand (Unreserved)"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button
|
||||
msgid "Unreserved"
|
||||
msgstr ""
|
||||
|
||||
#. module: stock_available_unreserved
|
||||
#: model:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view
|
||||
msgid "Unreserved:"
|
||||
msgstr ""
|
||||
7
stock_available_unreserved/models/__init__.py
Normal file
7
stock_available_unreserved/models/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# (http://www.eficent.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import product
|
||||
from . import quant
|
||||
125
stock_available_unreserved/models/product.py
Normal file
125
stock_available_unreserved/models/product.py
Normal file
@@ -0,0 +1,125 @@
|
||||
# Copyright 2018 Camptocamp SA
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# (http://www.eficent.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
from odoo.addons import decimal_precision as dp
|
||||
from odoo.addons.stock.models.product import OPERATORS
|
||||
from odoo.tools.float_utils import float_round
|
||||
from odoo.exceptions import UserError
|
||||
|
||||
UNIT = dp.get_precision('Product Unit of Measure')
|
||||
|
||||
|
||||
class ProductTemplate(models.Model):
|
||||
_inherit = "product.template"
|
||||
|
||||
qty_available_not_res = fields.Float(
|
||||
string='Quantity On Hand Unreserved',
|
||||
digits=UNIT,
|
||||
compute='_compute_product_available_not_res',
|
||||
search='_search_quantity_unreserved',
|
||||
)
|
||||
|
||||
@api.multi
|
||||
@api.depends('product_variant_ids.qty_available_not_res')
|
||||
def _compute_product_available_not_res(self):
|
||||
for tmpl in self:
|
||||
if isinstance(tmpl.id, models.NewId):
|
||||
continue
|
||||
tmpl.qty_available_not_res = sum(
|
||||
tmpl.mapped('product_variant_ids.qty_available_not_res')
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def action_open_quants_unreserved(self):
|
||||
products_ids = self.mapped('product_variant_ids').ids
|
||||
quants = self.env['stock.quant'].search([
|
||||
('product_id', 'in', products_ids),
|
||||
])
|
||||
quant_ids = quants.filtered(
|
||||
lambda x: x.product_id.qty_available_not_res > 0
|
||||
).ids
|
||||
result = self.env.ref('stock.product_open_quants').read()[0]
|
||||
result['domain'] = [('id', 'in', quant_ids)]
|
||||
result['context'] = {
|
||||
'search_default_locationgroup': 1,
|
||||
'search_default_internal_loc': 1,
|
||||
}
|
||||
return result
|
||||
|
||||
def _search_quantity_unreserved(self, operator, value):
|
||||
domain = [('qty_available_not_res', operator, value)]
|
||||
product_variant_ids = self.env['product.product'].search(domain)
|
||||
return [('product_variant_ids', 'in', product_variant_ids.ids)]
|
||||
|
||||
|
||||
class ProductProduct(models.Model):
|
||||
_inherit = 'product.product'
|
||||
|
||||
qty_available_not_res = fields.Float(
|
||||
string='Qty Available Not Reserved',
|
||||
digits=UNIT,
|
||||
compute='_compute_qty_available_not_reserved',
|
||||
search="_search_quantity_unreserved",
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def _prepare_domain_available_not_reserved(self):
|
||||
domain_quant = [
|
||||
('product_id', 'in', self.ids),
|
||||
]
|
||||
domain_quant_locations = self._get_domain_locations()[0]
|
||||
domain_quant.extend(domain_quant_locations)
|
||||
return domain_quant
|
||||
|
||||
@api.multi
|
||||
def _compute_product_available_not_res_dict(self):
|
||||
|
||||
res = {}
|
||||
|
||||
domain_quant = self._prepare_domain_available_not_reserved()
|
||||
quants = self.env['stock.quant'].with_context(lang=False).read_group(
|
||||
domain_quant,
|
||||
['product_id', 'location_id', 'quantity', 'reserved_quantity'],
|
||||
['product_id', 'location_id'],
|
||||
lazy=False)
|
||||
product_sums = {}
|
||||
for quant in quants:
|
||||
# create a dictionary with the total value per products
|
||||
product_sums.setdefault(quant['product_id'][0], 0.)
|
||||
product_sums[quant['product_id'][0]] += (
|
||||
quant['quantity'] - quant['reserved_quantity']
|
||||
)
|
||||
for product in self.with_context(prefetch_fields=False, lang=''):
|
||||
available_not_res = float_round(
|
||||
product_sums.get(product.id, 0.0),
|
||||
precision_rounding=product.uom_id.rounding
|
||||
)
|
||||
res[product.id] = {
|
||||
'qty_available_not_res': available_not_res,
|
||||
}
|
||||
return res
|
||||
|
||||
@api.multi
|
||||
@api.depends('stock_move_ids.product_qty', 'stock_move_ids.state')
|
||||
def _compute_qty_available_not_reserved(self):
|
||||
res = self._compute_product_available_not_res_dict()
|
||||
for prod in self:
|
||||
qty = res[prod.id]['qty_available_not_res']
|
||||
prod.qty_available_not_res = qty
|
||||
return res
|
||||
|
||||
def _search_quantity_unreserved(self, operator, value):
|
||||
if operator not in OPERATORS:
|
||||
raise UserError(_('Invalid domain operator %s') % operator)
|
||||
if not isinstance(value, (float, int)):
|
||||
raise UserError(_('Invalid domain right operand %s') % value)
|
||||
|
||||
ids = []
|
||||
for product in self.search([]):
|
||||
if OPERATORS[operator](product.qty_available_not_res, value):
|
||||
ids.append(product.id)
|
||||
return [('id', 'in', ids)]
|
||||
23
stock_available_unreserved/models/quant.py
Normal file
23
stock_available_unreserved/models/quant.py
Normal file
@@ -0,0 +1,23 @@
|
||||
# Copyright 2018 Camptocamp SA
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class StockQuant(models.Model):
|
||||
_inherit = "stock.quant"
|
||||
|
||||
contains_unreserved = fields.Boolean(
|
||||
string="Contains unreserved products",
|
||||
compute="_compute_contains_unreserved",
|
||||
store=True,
|
||||
)
|
||||
|
||||
@api.depends('product_id', 'location_id', 'quantity', 'reserved_quantity')
|
||||
def _compute_contains_unreserved(self):
|
||||
for record in self:
|
||||
available = record._get_available_quantity(
|
||||
record.product_id,
|
||||
record.location_id,
|
||||
)
|
||||
record.contains_unreserved = True if available > 0 else False
|
||||
BIN
stock_available_unreserved/static/description/icon.png
Normal file
BIN
stock_available_unreserved/static/description/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
7
stock_available_unreserved/tests/__init__.py
Normal file
7
stock_available_unreserved/tests/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# Copyright 2019 JARSA Sistemas S.A. de C.V.
|
||||
# (http://www.eficent.com)
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from . import test_stock_available_unreserved
|
||||
@@ -0,0 +1,342 @@
|
||||
# Copyright 2018 Camptocamp SA
|
||||
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
|
||||
# Copyright 2016 Eficent Business and IT Consulting Services S.L.
|
||||
# (http://www.eficent.com)
|
||||
# Copyright 2016 Therp BV <http://therp.nl>
|
||||
# Copyright 2019 JARSA Sistemas S.A. de C.V.
|
||||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from odoo.tests.common import SavepointCase
|
||||
|
||||
|
||||
class TestStockLogisticsWarehouse(SavepointCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.pickingObj = cls.env['stock.picking']
|
||||
cls.productObj = cls.env['product.product']
|
||||
cls.templateObj = cls.env['product.template']
|
||||
cls.supplier_location = cls.env.ref('stock.stock_location_suppliers')
|
||||
cls.stock_location = cls.env.ref('stock.stock_location_stock')
|
||||
cls.customer_location = cls.env.ref('stock.stock_location_customers')
|
||||
cls.uom_unit = cls.env.ref('uom.product_uom_unit')
|
||||
cls.main_company = cls.env.ref('base.main_company')
|
||||
|
||||
cls.bin_a = cls.env['stock.location'].create({
|
||||
'usage': 'internal',
|
||||
'name': 'Bin A',
|
||||
'location_id': cls.stock_location.id,
|
||||
'company_id': cls.main_company.id
|
||||
})
|
||||
|
||||
cls.bin_b = cls.env['stock.location'].create({
|
||||
'usage': 'internal',
|
||||
'name': 'Bin B',
|
||||
'location_id': cls.stock_location.id,
|
||||
'company_id': cls.main_company.id
|
||||
})
|
||||
|
||||
cls.env['stock.location']._parent_store_compute()
|
||||
|
||||
# Create product template
|
||||
cls.templateAB = cls.templateObj.create({
|
||||
'name': 'templAB',
|
||||
'uom_id': cls.uom_unit.id,
|
||||
})
|
||||
|
||||
cls.productC = cls.templateAB.product_variant_ids
|
||||
|
||||
# Create product A and B
|
||||
cls.productA = cls.productObj.create({
|
||||
'name': 'product A',
|
||||
'standard_price': 1,
|
||||
'type': 'product',
|
||||
'uom_id': cls.uom_unit.id,
|
||||
'default_code': 'A',
|
||||
'product_tmpl_id': cls.templateAB.id,
|
||||
})
|
||||
|
||||
cls.productB = cls.productObj.create({
|
||||
'name': 'product B',
|
||||
'standard_price': 1,
|
||||
'type': 'product',
|
||||
'uom_id': cls.uom_unit.id,
|
||||
'default_code': 'B',
|
||||
'product_tmpl_id': cls.templateAB.id,
|
||||
})
|
||||
|
||||
# Create a picking move from INCOMING to STOCK
|
||||
cls.pickingInA = cls.pickingObj.create({
|
||||
'picking_type_id': cls.env.ref('stock.picking_type_in').id,
|
||||
'location_id': cls.supplier_location.id,
|
||||
'location_dest_id': cls.stock_location.id,
|
||||
'move_lines': [
|
||||
(0, 0, {
|
||||
'name': 'Test move',
|
||||
'product_id': cls.productA.id,
|
||||
'product_uom': cls.productA.uom_id.id,
|
||||
'product_uom_qty': 2,
|
||||
'quantity_done': 2,
|
||||
'location_id': cls.supplier_location.id,
|
||||
'location_dest_id': cls.stock_location.id,
|
||||
})
|
||||
]
|
||||
})
|
||||
|
||||
cls.pickingInB = cls.pickingObj.create({
|
||||
'picking_type_id': cls.env.ref('stock.picking_type_in').id,
|
||||
'location_id': cls.supplier_location.id,
|
||||
'location_dest_id': cls.stock_location.id,
|
||||
'move_lines': [
|
||||
(0, 0, {
|
||||
'name': 'Test move',
|
||||
'product_id': cls.productB.id,
|
||||
'product_uom': cls.productB.uom_id.id,
|
||||
'product_uom_qty': 3,
|
||||
'quantity_done': 3,
|
||||
'location_id': cls.supplier_location.id,
|
||||
'location_dest_id': cls.stock_location.id,
|
||||
})
|
||||
]
|
||||
})
|
||||
cls.pickingOutA = cls.pickingObj.create({
|
||||
'picking_type_id': cls.env.ref('stock.picking_type_out').id,
|
||||
'location_id': cls.stock_location.id,
|
||||
'location_dest_id': cls.customer_location.id,
|
||||
'move_lines': [
|
||||
(0, 0, {
|
||||
'name': 'Test move',
|
||||
'product_id': cls.productB.id,
|
||||
'product_uom': cls.productB.uom_id.id,
|
||||
'product_uom_qty': 2,
|
||||
'location_id': cls.stock_location.id,
|
||||
'location_dest_id': cls.customer_location.id,
|
||||
})
|
||||
]
|
||||
})
|
||||
|
||||
def compare_qty_available_not_res(self, product, value):
|
||||
product.invalidate_cache()
|
||||
self.assertEqual(product.qty_available_not_res, value)
|
||||
|
||||
def test_stock_levels(self):
|
||||
"""checking that qty_available_not_res actually reflects \
|
||||
the variations in stock, both on product and template"""
|
||||
|
||||
self.compare_qty_available_not_res(self.productA, 0)
|
||||
self.compare_qty_available_not_res(self.templateAB, 0)
|
||||
|
||||
self.pickingInA.action_confirm()
|
||||
self.compare_qty_available_not_res(self.productA, 0)
|
||||
self.compare_qty_available_not_res(self.templateAB, 0)
|
||||
|
||||
self.pickingInA.action_assign()
|
||||
self.compare_qty_available_not_res(self.productA, 0)
|
||||
self.compare_qty_available_not_res(self.templateAB, 0)
|
||||
|
||||
self.pickingInA.button_validate()
|
||||
self.compare_qty_available_not_res(self.productA, 2)
|
||||
self.compare_qty_available_not_res(self.templateAB, 2)
|
||||
|
||||
# will directly trigger action_done on self.productB
|
||||
self.pickingInB.action_done()
|
||||
self.compare_qty_available_not_res(self.productA, 2)
|
||||
self.compare_qty_available_not_res(self.productB, 3)
|
||||
self.compare_qty_available_not_res(self.templateAB, 5)
|
||||
|
||||
self.compare_qty_available_not_res(self.productB, 3)
|
||||
self.compare_qty_available_not_res(self.templateAB, 5)
|
||||
|
||||
self.pickingOutA.action_confirm()
|
||||
self.compare_qty_available_not_res(self.productB, 3)
|
||||
self.compare_qty_available_not_res(self.templateAB, 5)
|
||||
|
||||
self.pickingOutA.action_assign()
|
||||
self.compare_qty_available_not_res(self.productB, 1)
|
||||
self.compare_qty_available_not_res(self.templateAB, 3)
|
||||
|
||||
self.pickingOutA.action_done()
|
||||
self.compare_qty_available_not_res(self.productB, 1)
|
||||
self.compare_qty_available_not_res(self.templateAB, 3)
|
||||
|
||||
self.templateAB.action_open_quants_unreserved()
|
||||
|
||||
def test_more_than_one_quant(self):
|
||||
self.env['stock.quant'].create(
|
||||
{'location_id': self.stock_location.id,
|
||||
'company_id': self.main_company.id,
|
||||
'product_id': self.productA.id,
|
||||
'quantity': 10.0})
|
||||
self.env['stock.quant'].create(
|
||||
{'location_id': self.bin_a.id,
|
||||
'company_id': self.main_company.id,
|
||||
'product_id': self.productA.id,
|
||||
'quantity': 10.0})
|
||||
self.env['stock.quant'].create(
|
||||
{'location_id': self.bin_b.id,
|
||||
'company_id': self.main_company.id,
|
||||
'product_id': self.productA.id,
|
||||
'quantity': 60.0})
|
||||
self.compare_qty_available_not_res(self.productA, 80)
|
||||
|
||||
def check_variants_found_correctly(self, operator, value, expected):
|
||||
domain = [('id', 'in', self.templateAB.product_variant_ids.ids)]
|
||||
return self.check_found_correctly(self.env['product.product'],
|
||||
domain, operator, value, expected)
|
||||
|
||||
def check_template_found_correctly(self, operator, value, expected):
|
||||
# There may be other products already in the system: ignore those
|
||||
domain = [('id', 'in', self.templateAB.ids)]
|
||||
return self.check_found_correctly(self.env['product.template'],
|
||||
domain, operator, value, expected)
|
||||
|
||||
def check_found_correctly(self, model, domain, operator, value, expected):
|
||||
found = model.search(domain + [
|
||||
('qty_available_not_res', operator, value)]
|
||||
)
|
||||
if found != expected:
|
||||
self.fail(
|
||||
"Searching for products failed: search for unreserved "
|
||||
"quantity {operator} {value}; expected to find "
|
||||
"{expected}, but found {found}".format(
|
||||
operator=operator,
|
||||
value=value,
|
||||
expected=expected or "no products",
|
||||
found=found,
|
||||
)
|
||||
)
|
||||
|
||||
def test_stock_search(self):
|
||||
all_variants = self.templateAB.product_variant_ids
|
||||
a_and_b = self.productA + self.productB
|
||||
b_and_c = self.productB + self.productC
|
||||
a_and_c = self.productA + self.productC
|
||||
no_variants = self.env['product.product']
|
||||
no_template = self.env['product.template']
|
||||
# Start: one template with three variants.
|
||||
# All variants have zero unreserved stock
|
||||
self.check_variants_found_correctly('=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>=', 0, all_variants)
|
||||
self.check_variants_found_correctly('<=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>', 0, no_variants)
|
||||
self.check_variants_found_correctly('<', 0, no_variants)
|
||||
self.check_variants_found_correctly('!=', 0, no_variants)
|
||||
|
||||
self.check_template_found_correctly('=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>', 0, no_template)
|
||||
self.check_template_found_correctly('<', 0, no_template)
|
||||
self.check_template_found_correctly('!=', 0, no_template)
|
||||
|
||||
self.pickingInA.action_confirm()
|
||||
# All variants still have zero unreserved stock
|
||||
self.check_variants_found_correctly('=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>=', 0, all_variants)
|
||||
self.check_variants_found_correctly('<=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>', 0, no_variants)
|
||||
self.check_variants_found_correctly('<', 0, no_variants)
|
||||
self.check_variants_found_correctly('!=', 0, no_variants)
|
||||
|
||||
self.check_template_found_correctly('=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>', 0, no_template)
|
||||
self.check_template_found_correctly('<', 0, no_template)
|
||||
self.check_template_found_correctly('!=', 0, no_template)
|
||||
|
||||
self.pickingInA.action_assign()
|
||||
# All variants still have zero unreserved stock
|
||||
self.check_variants_found_correctly('=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>=', 0, all_variants)
|
||||
self.check_variants_found_correctly('<=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>', 0, no_variants)
|
||||
self.check_variants_found_correctly('<', 0, no_variants)
|
||||
self.check_variants_found_correctly('!=', 0, no_variants)
|
||||
|
||||
self.check_template_found_correctly('=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>', 0, no_template)
|
||||
self.check_template_found_correctly('<', 0, no_template)
|
||||
self.check_template_found_correctly('!=', 0, no_template)
|
||||
|
||||
self.pickingInA.button_validate()
|
||||
# product A has 2 unreserved stock, other variants have 0
|
||||
|
||||
self.check_variants_found_correctly('=', 2, self.productA)
|
||||
self.check_variants_found_correctly('=', 0, b_and_c)
|
||||
self.check_variants_found_correctly('>', 0, self.productA)
|
||||
self.check_variants_found_correctly('<', 0, no_variants)
|
||||
self.check_variants_found_correctly('!=', 0, self.productA)
|
||||
self.check_variants_found_correctly('!=', 1, all_variants)
|
||||
self.check_variants_found_correctly('!=', 2, b_and_c)
|
||||
self.check_variants_found_correctly('<=', 0, b_and_c)
|
||||
self.check_variants_found_correctly('<=', 1, b_and_c)
|
||||
self.check_variants_found_correctly('>=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>=', 1, self.productA)
|
||||
|
||||
self.check_template_found_correctly('=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('=', 1, no_template)
|
||||
self.check_template_found_correctly('=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 1, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('>', -1, self.templateAB)
|
||||
self.check_template_found_correctly('>', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>', 1, self.templateAB)
|
||||
self.check_template_found_correctly('>', 2, no_template)
|
||||
self.check_template_found_correctly('<', 3, self.templateAB)
|
||||
self.check_template_found_correctly('<', 2, self.templateAB)
|
||||
self.check_template_found_correctly('<', 1, self.templateAB)
|
||||
self.check_template_found_correctly('<', 0, no_template)
|
||||
self.check_template_found_correctly('>=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 1, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('>=', 3, no_template)
|
||||
self.check_template_found_correctly('<=', 3, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 1, self.templateAB)
|
||||
self.check_template_found_correctly('<=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('<=', -1, no_template)
|
||||
|
||||
self.pickingInB.action_done()
|
||||
# product A has 2 unreserved, product B has 3 unreserved and
|
||||
# the remaining variant has 0
|
||||
|
||||
self.check_variants_found_correctly('=', 2, self.productA)
|
||||
self.check_variants_found_correctly('=', 3, self.productB)
|
||||
self.check_variants_found_correctly('=', 0, self.productC)
|
||||
self.check_variants_found_correctly('>', 0, a_and_b)
|
||||
self.check_variants_found_correctly('<', 0, no_variants)
|
||||
self.check_variants_found_correctly('!=', 0, a_and_b)
|
||||
self.check_variants_found_correctly('!=', 1, all_variants)
|
||||
self.check_variants_found_correctly('!=', 2, b_and_c)
|
||||
self.check_variants_found_correctly('!=', 3, a_and_c)
|
||||
self.check_variants_found_correctly('<=', 0, self.productC)
|
||||
self.check_variants_found_correctly('<=', 1, self.productC)
|
||||
self.check_variants_found_correctly('>=', 0, all_variants)
|
||||
self.check_variants_found_correctly('>=', 1, a_and_b)
|
||||
self.check_variants_found_correctly('>=', 2, a_and_b)
|
||||
self.check_variants_found_correctly('>=', 3, self.productB)
|
||||
self.check_variants_found_correctly('>=', 4, no_variants)
|
||||
|
||||
self.check_template_found_correctly('=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('=', 1, no_template)
|
||||
self.check_template_found_correctly('=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('=', 3, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 0, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 2, self.templateAB)
|
||||
self.check_template_found_correctly('!=', 3, self.templateAB)
|
||||
self.check_template_found_correctly('>', 1, self.templateAB)
|
||||
self.check_template_found_correctly('>', 2, self.templateAB)
|
||||
# This part may seem a bit unintuitive, but this is the
|
||||
# way it works in the Odoo core
|
||||
# Searches are "deferred" to the variants, so while the template says
|
||||
# it has a stock of 5, searching for a stock greater than 3 will not
|
||||
# find anything because no singular variant has a higher stock
|
||||
self.check_template_found_correctly('>', 3, no_template)
|
||||
self.check_template_found_correctly('<', 3, self.templateAB)
|
||||
self.check_template_found_correctly('<', 2, self.templateAB)
|
||||
self.check_template_found_correctly('<', 1, self.templateAB)
|
||||
self.check_template_found_correctly('<', 0, no_template)
|
||||
87
stock_available_unreserved/views/product_view.xml
Normal file
87
stock_available_unreserved/views/product_view.xml
Normal file
@@ -0,0 +1,87 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
|
||||
<record id="view_stock_product_template_tree" model="ir.ui.view">
|
||||
<field name="name">product.template.stock.tree.inherit</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id"
|
||||
ref="stock.view_stock_product_template_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="qty_available" position="after">
|
||||
<field name="qty_available_not_res"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="product_template_search_form_view_stock" model="ir.ui.view">
|
||||
<field name="name">product.template.search.stock.form.inherit</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="stock.product_template_search_form_view_stock"/>
|
||||
<field name="arch" type="xml">
|
||||
<filter name="real_stock_available" position="after">
|
||||
<filter name="real_stock_unreserved" string="Reservable Products" domain="[('qty_available_not_res','>',0)]"/>
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="product_template_kanban_stock_view">
|
||||
<field name="name">Product Template Kanban Stock</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id"
|
||||
ref="stock.product_template_kanban_stock_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<ul position="inside">
|
||||
<li t-if="record.type.raw_value == 'product'">Unreserved: <field name="qty_available_not_res"/> <field name="uom_id"/></li>
|
||||
</ul>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_product_tree" model="ir.ui.view">
|
||||
<field name="name">product.stock.tree.inherit</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="stock.view_stock_product_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="qty_available" position="after">
|
||||
<field name="qty_available_not_res"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="product_template_form_view_procurement_button">
|
||||
<field name="name">product.template_procurement</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id"
|
||||
ref="stock.product_template_form_view_procurement_button"/>
|
||||
<field name="arch" type="xml">
|
||||
<div name="button_box" position="inside">
|
||||
<button type="object"
|
||||
name="action_open_quants_unreserved"
|
||||
attrs="{'invisible':[('type', '!=', 'product')]}"
|
||||
class="oe_stat_button" icon="fa-building-o">
|
||||
<field name="qty_available_not_res" widget="statinfo"
|
||||
string="Unreserved"/>
|
||||
</button>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="product_form_view_procurement_button">
|
||||
<field name="name">product.product.procurement</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id"
|
||||
ref="stock.product_form_view_procurement_button"/>
|
||||
<field name="arch" type="xml">
|
||||
<div name="button_box" position="inside">
|
||||
<button class="oe_stat_button"
|
||||
name="%(product_open_quants_unreserved)d"
|
||||
icon="fa-building-o"
|
||||
type="action" attrs="{'invisible':[('type', '!=', 'product')]}">
|
||||
<field name="qty_available_not_res" widget="statinfo"
|
||||
string="Unreserved"/>
|
||||
</button>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
29
stock_available_unreserved/views/stock_quant_view.xml
Normal file
29
stock_available_unreserved/views/stock_quant_view.xml
Normal file
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
|
||||
<record id="quant_search_view" model="ir.ui.view">
|
||||
<field name="name">stock.quant.search</field>
|
||||
<field name="model">stock.quant</field>
|
||||
<field name="inherit_id" ref="stock.quant_search_view"/>
|
||||
<field eval="10" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="owner_id" position="after">
|
||||
<field name="contains_unreserved"/>
|
||||
</field>
|
||||
<filter name="internal_loc" position="after">
|
||||
<filter name='internal_unreserved'
|
||||
string="Internal Unreserved"
|
||||
domain="[('contains_unreserved','=', True), ('location_id.usage','=', 'internal')]"/>
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window"
|
||||
id="product_open_quants_unreserved">
|
||||
<field name="name">Stock On Hand (Unreserved)</field>
|
||||
<field name="context">{'search_default_internal_loc': 1, 'search_default_locationgroup':1}</field>
|
||||
<field name="domain">[('product_id', '=', active_id), ('contains_unreserved', '=', True)]</field>
|
||||
<field name="res_model">stock.quant</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user