From c1319feab8f0c7e37e8804378f25f65bcb0f62e1 Mon Sep 17 00:00:00 2001 From: Ernad Husremovic Date: Sat, 30 Aug 2025 17:55:29 +0200 Subject: [PATCH] Move 21 stock-logistics modules from oca-technical to oca-warehouse MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 12 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../README.rst | 102 + .../__init__.py | 3 + .../__manifest__.py | 20 + .../i18n/bs.po | 31 + .../i18n/es.po | 35 + .../i18n/hr.po | 35 + .../i18n/it.po | 34 + .../i18n/sale_stock_available_info_popup.pot | 31 + .../i18n/sl.po | 43 + .../models/__init__.py | 3 + .../models/sale_order.py | 36 + .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 3 + .../readme/USAGE.rst | 15 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 445 +++++ .../static/src/xml/qty_at_date.xml | 25 + .../tests/__init__.py | 3 + .../test_sale_stock_available_info_popup.py | 96 + .../views/sale_order_views.xml | 18 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 14 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_available/README.rst | 120 ++ .../stock_available/__init__.py | 3 + .../stock_available/__manifest__.py | 20 + .../stock_available/i18n/ar.po | 143 ++ .../stock_available/i18n/bs.po | 130 ++ .../stock_available/i18n/ca.po | 180 ++ .../stock_available/i18n/cs_CZ.po | 177 ++ .../stock_available/i18n/de.po | 167 ++ .../stock_available/i18n/el_GR.po | 138 ++ .../stock_available/i18n/es.po | 166 ++ .../stock_available/i18n/es_ES.po | 138 ++ .../stock_available/i18n/es_MX.po | 141 ++ .../stock_available/i18n/eu.po | 137 ++ .../stock_available/i18n/fi.po | 140 ++ .../stock_available/i18n/fr.po | 175 ++ .../stock_available/i18n/fr_CH.po | 141 ++ .../stock_available/i18n/fr_FR.po | 138 ++ .../stock_available/i18n/gl.po | 137 ++ .../stock_available/i18n/hr.po | 146 ++ .../stock_available/i18n/hr_HR.po | 177 ++ .../stock_available/i18n/it.po | 165 ++ .../stock_available/i18n/nl.po | 140 ++ .../stock_available/i18n/nl_NL.po | 143 ++ .../stock_available/i18n/pt.po | 137 ++ .../stock_available/i18n/pt_BR.po | 182 ++ .../stock_available/i18n/ro.po | 141 ++ .../stock_available/i18n/ru.po | 139 ++ .../stock_available/i18n/sl.po | 141 ++ .../stock_available/i18n/stock_available.pot | 130 ++ .../stock_available/i18n/tr.po | 159 ++ .../stock_available/i18n/tr_TR.po | 141 ++ .../stock_available/i18n/vi_VN.po | 141 ++ .../stock_available/i18n/zh_CN.po | 170 ++ .../stock_available/models/__init__.py | 7 + .../stock_available/models/product_product.py | 90 + .../models/product_template.py | 84 + .../models/res_config_settings.py | 64 + .../stock_available/readme/CONFIGURE.rst | 7 + .../stock_available/readme/CONTRIBUTORS.rst | 19 + .../stock_available/readme/DESCRIPTION.rst | 8 + .../stock_available/readme/USAGE.rst | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 481 +++++ .../stock_available/tests/__init__.py | 5 + .../tests/test_stock_available.py | 177 ++ .../views/product_product_view.xml | 71 + .../views/product_template_view.xml | 88 + .../views/res_config_settings_views.xml | 46 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../README.rst | 96 + .../__init__.py | 1 + .../__manifest__.py | 15 + .../i18n/bs.po | 54 + .../i18n/it.po | 63 + .../stock_available_base_exclude_location.pot | 54 + .../models/__init__.py | 2 + .../models/product_product.py | 99 + .../models/stock_exclude_location_mixin.py | 37 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../readme/USAGE.rst | 6 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 434 +++++ .../tests/__init__.py | 1 + .../tests/common.py | 9 + .../tests/test_stock_exclude_location.py | 124 ++ .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 14 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 44 + .../README.rst | 93 + .../__init__.py | 1 + .../__manifest__.py | 20 + .../i18n/bs.po | 69 + .../i18n/it.po | 76 + .../i18n/stock_available_exclude_location.pot | 69 + .../models/__init__.py | 3 + .../models/product_product.py | 47 + .../models/res_company.py | 16 + .../models/res_config_settings.py | 17 + .../readme/CONFIGURE.rst | 5 + .../readme/CONTRIBUTORS.rst | 4 + .../readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 443 +++++ .../tests/__init__.py | 1 + .../tests/test_exclude_location.py | 79 + .../views/res_config_settings.xml | 37 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 12 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_available_immediately/README.rst | 90 + .../stock_available_immediately/__init__.py | 3 + .../__manifest__.py | 16 + .../stock_available_immediately/i18n/bs.po | 19 + .../stock_available_immediately/i18n/ca.po | 27 + .../stock_available_immediately/i18n/cs_CZ.po | 28 + .../stock_available_immediately/i18n/de.po | 27 + .../stock_available_immediately/i18n/el_GR.po | 28 + .../stock_available_immediately/i18n/es.po | 28 + .../stock_available_immediately/i18n/es_ES.po | 28 + .../stock_available_immediately/i18n/es_MX.po | 28 + .../stock_available_immediately/i18n/eu.po | 27 + .../stock_available_immediately/i18n/fi.po | 27 + .../stock_available_immediately/i18n/fr.po | 28 + .../stock_available_immediately/i18n/fr_CH.po | 28 + .../stock_available_immediately/i18n/fr_FR.po | 28 + .../stock_available_immediately/i18n/gl.po | 27 + .../stock_available_immediately/i18n/hr.po | 29 + .../stock_available_immediately/i18n/hr_HR.po | 29 + .../stock_available_immediately/i18n/it.po | 28 + .../stock_available_immediately/i18n/nl.po | 27 + .../stock_available_immediately/i18n/nl_NL.po | 28 + .../stock_available_immediately/i18n/pt.po | 27 + .../stock_available_immediately/i18n/pt_BR.po | 30 + .../stock_available_immediately/i18n/ro.po | 28 + .../stock_available_immediately/i18n/ru.po | 29 + .../stock_available_immediately/i18n/sl.po | 28 + .../i18n/stock_available_immediately.pot | 19 + .../stock_available_immediately/i18n/tr.po | 28 + .../stock_available_immediately/i18n/tr_TR.po | 28 + .../stock_available_immediately/i18n/vi_VN.po | 28 + .../stock_available_immediately/i18n/zh_CN.po | 28 + .../models/__init__.py | 3 + .../models/product_product.py | 22 + .../readme/CONTRIBUTORS.rst | 10 + .../readme/DESCRIPTION.rst | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 438 +++++ .../tests/__init__.py | 1 + .../tests/test_stock_available_immediately.py | 124 ++ .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../README.rst | 82 + .../__init__.py | 3 + .../__manifest__.py | 14 + .../i18n/bs.po | 39 + .../i18n/it.po | 42 + ...available_immediately_exclude_location.pot | 39 + .../models/__init__.py | 4 + .../models/product_product.py | 152 ++ .../models/stock_location.py | 34 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 431 +++++ .../tests/__init__.py | 1 + .../tests/test_stock_exclude_location.py | 86 + .../views/stock_location.xml | 33 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 12 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 44 + .../README.rst | 85 + .../__init__.py | 1 + .../__manifest__.py | 14 + .../i18n/bs.po | 19 + .../i18n/it.po | 22 + .../stock_available_location_get_domain.pot | 19 + .../models/__init__.py | 1 + .../models/product_product.py | 200 ++ .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 2 + .../readme/USAGE.rst | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 432 +++++ .../tests/__init__.py | 1 + .../tests/test_location_domain.py | 192 ++ .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 12 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../stock_available_mrp/README.rst | 140 ++ .../stock_available_mrp/__init__.py | 4 + .../stock_available_mrp/__manifest__.py | 13 + .../stock_available_mrp/demo/mrp_data.xml | 47 + .../stock_available_mrp/i18n/bs.po | 24 + .../stock_available_mrp/i18n/ca.po | 39 + .../stock_available_mrp/i18n/de.po | 39 + .../stock_available_mrp/i18n/es.po | 60 + .../stock_available_mrp/i18n/fi.po | 35 + .../stock_available_mrp/i18n/fr.po | 51 + .../stock_available_mrp/i18n/hr_HR.po | 66 + .../stock_available_mrp/i18n/it.po | 33 + .../stock_available_mrp/i18n/pt_BR.po | 66 + .../stock_available_mrp/i18n/sl.po | 40 + .../i18n/stock_available_mrp.pot | 24 + .../stock_available_mrp/i18n/tr.po | 27 + .../stock_available_mrp/i18n/zh_CN.po | 61 + .../stock_available_mrp/models/__init__.py | 4 + .../models/product_product.py | 187 ++ .../readme/CONTRIBUTORS.rst | 15 + .../readme/DESCRIPTION.rst | 6 + .../stock_available_mrp/readme/ROADMAP.rst | 41 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 501 +++++ .../stock_available_mrp/tests/__init__.py | 4 + .../tests/test_potential_qty.py | 508 +++++ .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 14 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_available_unreserved/README.rst | 102 + .../stock_available_unreserved/__init__.py | 1 + .../__manifest__.py | 17 + .../stock_available_unreserved/i18n/ar.po | 98 + .../stock_available_unreserved/i18n/bs.po | 91 + .../stock_available_unreserved/i18n/ca.po | 100 + .../stock_available_unreserved/i18n/de.po | 108 ++ .../stock_available_unreserved/i18n/el_GR.po | 97 + .../stock_available_unreserved/i18n/es.po | 101 + .../stock_available_unreserved/i18n/es_ES.po | 97 + .../stock_available_unreserved/i18n/es_MX.po | 100 + .../stock_available_unreserved/i18n/eu.po | 96 + .../stock_available_unreserved/i18n/fi.po | 99 + .../stock_available_unreserved/i18n/fr.po | 100 + .../stock_available_unreserved/i18n/fr_CH.po | 101 + .../stock_available_unreserved/i18n/fr_FR.po | 97 + .../stock_available_unreserved/i18n/gl.po | 96 + .../stock_available_unreserved/i18n/hr.po | 102 + .../stock_available_unreserved/i18n/hr_HR.po | 102 + .../stock_available_unreserved/i18n/it.po | 103 + .../stock_available_unreserved/i18n/nl.po | 99 + .../stock_available_unreserved/i18n/nl_NL.po | 101 + .../stock_available_unreserved/i18n/pt.po | 96 + .../stock_available_unreserved/i18n/pt_BR.po | 105 + .../stock_available_unreserved/i18n/ro.po | 100 + .../stock_available_unreserved/i18n/ru.po | 98 + .../stock_available_unreserved/i18n/sl.po | 109 ++ .../i18n/stock_available_unreserved.pot | 91 + .../stock_available_unreserved/i18n/tr.po | 101 + .../stock_available_unreserved/i18n/tr_TR.po | 100 + .../stock_available_unreserved/i18n/vi_VN.po | 100 + .../stock_available_unreserved/i18n/zh_CN.po | 101 + .../models/__init__.py | 3 + .../models/product_product.py | 78 + .../models/product_template.py | 45 + .../models/stock_quant.py | 26 + .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 10 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 443 +++++ .../tests/__init__.py | 1 + .../tests/test_stock_available_unreserved.py | 369 ++++ .../views/product_view.xml | 96 + .../views/stock_quant_view.xml | 31 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 12 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_free_quantity/README.rst | 76 + .../stock_free_quantity/__init__.py | 3 + .../stock_free_quantity/__manifest__.py | 17 + .../stock_free_quantity/i18n/bs.po | 35 + .../stock_free_quantity/i18n/es.po | 38 + .../stock_free_quantity/i18n/fr.po | 41 + .../stock_free_quantity/i18n/it.po | 38 + .../i18n/stock_free_quantity.pot | 35 + .../stock_free_quantity/models/__init__.py | 1 + .../models/product_template.py | 34 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 421 ++++ .../stock_free_quantity/tests/__init__.py | 1 + .../tests/test_template_free_qty.py | 35 + .../views/product_product_view.xml | 36 + .../views/product_template_view.xml | 84 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 11 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_quant_available_quantity/README.rst | 98 + .../__init__.py | 1 + .../__manifest__.py | 20 + .../stock_quant_available_quantity/i18n/it.po | 14 + .../i18n/stock_quant_available_quantity.pot | 13 + .../readme/CONTRIBUTORS.md | 4 + .../readme/DESCRIPTION.md | 3 + .../readme/USAGE.md | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/icon.svg | 79 + .../static/description/index.html | 124 ++ .../views/stock_quant_views.xml | 17 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 26 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 42 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_request/README.rst | 152 ++ .../stock_request/__init__.py | 1 + .../stock_request/__manifest__.py | 28 + .../data/stock_request_sequence_data.xml | 17 + .../stock_request/i18n/bs.po | 1155 +++++++++++ .../stock_request/i18n/ca.po | 1158 +++++++++++ .../stock_request/i18n/de.po | 1200 ++++++++++++ .../stock_request/i18n/el_GR.po | 1159 ++++++++++++ .../stock_request/i18n/es.po | 1219 ++++++++++++ .../stock_request/i18n/es_ES.po | 1159 ++++++++++++ .../stock_request/i18n/eu.po | 1158 +++++++++++ .../stock_request/i18n/fi.po | 1158 +++++++++++ .../stock_request/i18n/fr.po | 1158 +++++++++++ .../stock_request/i18n/fr_CH.po | 1159 ++++++++++++ .../stock_request/i18n/fr_FR.po | 1159 ++++++++++++ .../stock_request/i18n/gl.po | 1158 +++++++++++ .../stock_request/i18n/hr.po | 1159 ++++++++++++ .../stock_request/i18n/hr_HR.po | 1160 ++++++++++++ .../stock_request/i18n/it.po | 1201 ++++++++++++ .../stock_request/i18n/ja.po | 1154 +++++++++++ .../stock_request/i18n/ja_JP.po | 1154 +++++++++++ .../stock_request/i18n/nl.po | 1158 +++++++++++ .../stock_request/i18n/nl_NL.po | 1159 ++++++++++++ .../stock_request/i18n/pt.po | 1158 +++++++++++ .../stock_request/i18n/pt_BR.po | 1159 ++++++++++++ .../stock_request/i18n/ro.po | 1159 ++++++++++++ .../stock_request/i18n/ru.po | 1160 ++++++++++++ .../stock_request/i18n/sl.po | 1159 ++++++++++++ .../stock_request/i18n/stock_request.pot | 1155 +++++++++++ .../stock_request/i18n/tr.po | 1158 +++++++++++ .../stock_request/i18n/tr_TR.po | 1159 ++++++++++++ .../stock_request/i18n/vi_VN.po | 1159 ++++++++++++ .../stock_request/i18n/zh_CN.po | 1190 ++++++++++++ .../stock_request/models/__init__.py | 14 + .../stock_request/models/procurement_group.py | 29 + .../stock_request/models/res_company.py | 17 + .../models/res_config_settings.py | 43 + .../stock_request/models/stock_location.py | 45 + .../stock_request/models/stock_move.py | 82 + .../stock_request/models/stock_move_line.py | 71 + .../stock_request/models/stock_picking.py | 41 + .../stock_request/models/stock_request.py | 465 +++++ .../models/stock_request_abstract.py | 252 +++ .../models/stock_request_allocation.py | 92 + .../models/stock_request_order.py | 437 +++++ .../stock_request/models/stock_route.py | 27 + .../stock_request/models/stock_rule.py | 42 + .../stock_request/models/stock_warehouse.py | 46 + .../stock_request/readme/CONFIGURE.rst | 17 + .../stock_request/readme/CONTRIBUTORS.rst | 15 + .../stock_request/readme/DESCRIPTION.rst | 2 + .../stock_request/readme/ROADMAP.rst | 5 + .../stock_request/readme/USAGE.rst | 16 + .../security/ir.model.access.csv | 17 + .../security/stock_request_security.xml | 116 ++ .../stock_request/static/description/icon.png | Bin 0 -> 15218 bytes .../stock_request/static/description/icon.svg | 172 ++ .../static/description/index.html | 485 +++++ .../stock_request/tests/__init__.py | 1 + .../stock_request/tests/test_stock_request.py | 1685 +++++++++++++++++ .../stock_request/views/product.xml | 36 + .../views/res_config_settings_views.xml | 170 ++ .../stock_request/views/stock_move_views.xml | 27 + .../views/stock_picking_views.xml | 27 + .../views/stock_request_allocation_views.xml | 59 + .../views/stock_request_menu.xml | 45 + .../views/stock_request_order_views.xml | 226 +++ .../views/stock_request_views.xml | 261 +++ .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_request_direction/README.rst | 122 ++ .../stock_request_direction/__init__.py | 4 + .../stock_request_direction/__manifest__.py | 21 + .../stock_request_direction/i18n/bs.po | 42 + .../stock_request_direction/i18n/es.po | 45 + .../stock_request_direction/i18n/it.po | 63 + .../i18n/stock_request_direction.pot | 42 + .../stock_request_direction/i18n/zh_CN.po | 63 + .../models/__init__.py | 5 + .../models/stock_request.py | 24 + .../models/stock_request_order.py | 33 + .../readme/CONTRIBUTORS.rst | 14 + .../readme/DESCRIPTION.rst | 3 + .../stock_request_direction/readme/USAGE.rst | 19 + .../static/description/icon.png | Bin 0 -> 7510 bytes .../static/description/index.html | 465 +++++ .../stock_request_direction/tests/__init__.py | 1 + .../tests/test_stock_request_direction.py | 128 ++ .../views/res_config_settings.xml | 13 + .../views/stock_request_order_views.xml | 39 + .../views/stock_request_views.xml | 24 + .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 17 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 24 + .../doc/SECURITY.md | 34 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 10 + .../pyproject.toml | 43 + .../stock_request_kanban/README.rst | 141 ++ .../stock_request_kanban/__init__.py | 5 + .../stock_request_kanban/__manifest__.py | 37 + .../data/stock_request_sequence_data.xml | 17 + .../stock_request_kanban/i18n/bs.po | 745 ++++++++ .../stock_request_kanban/i18n/es.po | 789 ++++++++ .../stock_request_kanban/i18n/it.po | 751 ++++++++ .../i18n/stock_request_kanban.pot | 745 ++++++++ .../stock_request_kanban/i18n/zh_CN.po | 802 ++++++++ .../stock_request_kanban/models/__init__.py | 7 + .../stock_request_kanban/models/product.py | 53 + .../models/stock_inventory_kanban.py | 156 ++ .../models/stock_request.py | 10 + .../models/stock_request_kanban.py | 65 + .../stock_request_kanban/readme/CONFIGURE.rst | 16 + .../readme/CONTRIBUTORS.rst | 2 + .../readme/DESCRIPTION.rst | 8 + .../stock_request_kanban/readme/USAGE.rst | 28 + .../report/report_paper_format.xml | 14 + .../report/stock_request_kanban_templates.xml | 103 + .../security/ir.model.access.csv | 11 + .../static/description/icon.png | Bin 0 -> 15218 bytes .../static/description/index.html | 497 +++++ ...tock_request_kanban_scan_controller.esm.js | 48 + .../js/stock_request_kanban_scan_view.esm.js | 15 + .../src/xml/stock_request_kanban_scan.xml | 11 + .../stock_request_kanban/tests/__init__.py | 2 + .../stock_request_kanban/tests/base_test.py | 17 + .../tests/test_inventory_kanban.py | 112 ++ .../stock_request_kanban/tests/test_kanban.py | 232 +++ .../views/product_views.xml | 51 + .../views/stock_inventory_kanban_views.xml | 122 ++ .../views/stock_request_kanban_views.xml | 201 ++ .../views/stock_request_menu.xml | 25 + .../views/stock_request_order_views.xml | 20 + .../views/stock_request_views.xml | 15 + .../stock_request_kanban/wizard/__init__.py | 7 + .../wizard/wizard_stock_inventory_kanban.py | 34 + .../wizard_stock_inventory_kanban_views.xml | 55 + .../wizard/wizard_stock_request_kanban.py | 50 + .../wizard_stock_request_kanban_abstract.py | 44 + .../wizard_stock_request_kanban_views.xml | 54 + .../wizard_stock_request_order_kanban.py | 56 + ...izard_stock_request_order_kanban_views.xml | 26 + .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 15 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 34 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../stock_request_mrp/README.rst | 101 + .../stock_request_mrp/__init__.py | 2 + .../stock_request_mrp/__manifest__.py | 23 + .../stock_request_mrp/hooks.py | 73 + .../stock_request_mrp/i18n/bs.po | 71 + .../stock_request_mrp/i18n/es.po | 74 + .../stock_request_mrp/i18n/it.po | 74 + .../i18n/stock_request_mrp.pot | 71 + .../stock_request_mrp/models/__init__.py | 4 + .../models/mrp_production.py | 77 + .../stock_request_mrp/models/stock_request.py | 59 + .../models/stock_request_order.py | 44 + .../stock_request_mrp/models/stock_rule.py | 34 + .../stock_request_mrp/readme/CONTRIBUTORS.rst | 1 + .../stock_request_mrp/readme/DESCRIPTION.rst | 2 + .../stock_request_mrp/readme/ROADMAP.rst | 2 + .../stock_request_mrp/readme/USAGE.rst | 3 + .../security/ir.model.access.csv | 4 + .../static/description/icon.png | Bin 0 -> 15218 bytes .../static/description/index.html | 441 +++++ .../stock_request_mrp/tests/__init__.py | 1 + .../tests/test_stock_request_mrp.py | 141 ++ .../views/mrp_production_views.xml | 37 + .../views/stock_request_order_views.xml | 29 + .../views/stock_request_views.xml | 29 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_request_picking_type/README.rst | 95 + .../stock_request_picking_type/__init__.py | 4 + .../__manifest__.py | 20 + .../data/stock_picking_type.xml | 8 + .../stock_request_picking_type/i18n/bs.po | 102 + .../stock_request_picking_type/i18n/es.po | 163 ++ .../stock_request_picking_type/i18n/it.po | 125 ++ .../stock_request_picking_type/i18n/pt_BR.po | 164 ++ .../i18n/stock_request_picking_type.pot | 102 + .../stock_request_picking_type/i18n/zh_CN.po | 163 ++ .../models/__init__.py | 5 + .../models/stock_picking_type.py | 46 + .../models/stock_request_order.py | 37 + .../readme/CONTRIBUTORS.rst | 5 + .../readme/DESCRIPTION.rst | 1 + .../readme/USAGE.rst | 3 + .../static/description/icon.png | Bin 0 -> 15218 bytes .../static/description/index.html | 436 +++++ .../tests/__init__.py | 2 + .../tests/test_stock_picking_type.py | 158 ++ .../tests/test_stock_request.py | 145 ++ .../views/stock_picking_views.xml | 198 ++ .../views/stock_request_order_views.xml | 60 + .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 16 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 34 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../stock_request_purchase/README.rst | 106 ++ .../stock_request_purchase/__init__.py | 1 + .../stock_request_purchase/__manifest__.py | 22 + .../stock_request_purchase/i18n/bs.po | 93 + .../stock_request_purchase/i18n/de.po | 99 + .../stock_request_purchase/i18n/es.po | 100 + .../stock_request_purchase/i18n/it.po | 98 + .../i18n/stock_request_purchase.pot | 93 + .../stock_request_purchase/i18n/zh_CN.po | 94 + .../stock_request_purchase/models/__init__.py | 5 + .../models/purchase_order.py | 45 + .../models/purchase_order_line.py | 69 + .../models/stock_request.py | 63 + .../models/stock_request_order.py | 46 + .../models/stock_rule.py | 18 + .../readme/CONTRIBUTORS.rst | 6 + .../readme/DESCRIPTION.rst | 2 + .../stock_request_purchase/readme/ROADMAP.rst | 2 + .../stock_request_purchase/readme/USAGE.rst | 3 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 15218 bytes .../static/description/index.html | 446 +++++ .../stock_request_purchase/tests/__init__.py | 1 + .../tests/test_stock_request_purchase.py | 292 +++ .../views/purchase_order_views.xml | 52 + .../views/stock_request_order_views.xml | 29 + .../views/stock_request_views.xml | 29 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../stock_request_submit/README.rst | 86 + .../stock_request_submit/__init__.py | 2 + .../stock_request_submit/__manifest__.py | 17 + .../stock_request_submit/hooks.py | 11 + .../stock_request_submit/i18n/bs.po | 52 + .../stock_request_submit/i18n/es.po | 56 + .../stock_request_submit/i18n/it.po | 56 + .../i18n/stock_request_submit.pot | 52 + .../stock_request_submit/i18n/zh_CN.po | 55 + .../stock_request_submit/models/__init__.py | 2 + .../models/stock_request.py | 28 + .../models/stock_request_order.py | 20 + .../readme/CONTRIBUTORS.rst | 8 + .../readme/DESCRIPTION.rst | 4 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 430 +++++ .../stock_request_submit/tests/__init__.py | 1 + .../tests/test_stock_request_submit.py | 59 + .../views/stock_request_order_views.xml | 41 + .../views/stock_request_views.xml | 31 + .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 14 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 8 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 43 + .../stock_request_tier_validation/README.rst | 137 ++ .../stock_request_tier_validation/__init__.py | 1 + .../__manifest__.py | 21 + .../data/stock_request_tier_definition.xml | 29 + .../stock_request_tier_validation/i18n/bs.po | 134 ++ .../stock_request_tier_validation/i18n/es.po | 172 ++ .../stock_request_tier_validation/i18n/it.po | 140 ++ .../i18n/stock_request_tier_validation.pot | 134 ++ .../i18n/zh_CN.po | 166 ++ .../models/__init__.py | 3 + .../models/stock_request.py | 18 + .../models/stock_request_order.py | 18 + .../models/tier_definition.py | 13 + .../readme/CONFIGURE.rst | 7 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/CREDITS.rst | 4 + .../readme/DESCRIPTION.rst | 2 + .../readme/INSTALL.rst | 2 + .../readme/USAGE.rst | 14 + .../static/description/icon.png | Bin 0 -> 15218 bytes .../static/description/index.html | 483 +++++ .../tests/__init__.py | 1 + .../test_stock_request_tier_validation.py | 28 + .../views/stock_request_order_view.xml | 26 + .../views/stock_request_view.xml | 28 + .../README.md | 47 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 6 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 15 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 34 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../internal_stock_quant_package/README.rst | 120 ++ .../internal_stock_quant_package/__init__.py | 1 + .../__manifest__.py | 18 + .../internal_stock_quant_package/i18n/bs.po | 112 ++ .../i18n/fr_BE.po | 117 ++ .../i18n/internal_stock_quant_package.pot | 112 ++ .../internal_stock_quant_package/i18n/it.po | 117 ++ .../models/__init__.py | 4 + .../stock_internal_package_config_line.py | 33 + .../models/stock_picking.py | 61 + .../models/stock_picking_type.py | 39 + .../models/stock_quant_package.py | 11 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 15 + .../readme/USAGE.rst | 26 + .../security/ir.model.access.csv | 3 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 462 +++++ .../tests/__init__.py | 2 + .../tests/common.py | 56 + .../tests/test_stock_picking.py | 104 + .../views/stock_picking_type_views.xml | 64 + .../views/stock_quant_package_views.xml | 49 + .../pyproject.toml | 43 + .../README.md | 46 + .../doc/ARCHITECTURE.md | 32 + .../doc/CONFIGURATION.md | 3 + .../doc/CONTROLLERS.md | 3 + .../doc/DEPENDENCIES.md | 5 + .../doc/FAQ.md | 4 + .../doc/INSTALL.md | 7 + .../doc/MODELS.md | 13 + .../doc/OVERVIEW.md | 6 + .../doc/REPORTS.md | 3 + .../doc/SECURITY.md | 34 + .../doc/TROUBLESHOOTING.md | 5 + .../doc/USAGE.md | 7 + .../doc/WIZARDS.md | 3 + .../pyproject.toml | 42 + .../README.rst | 82 + .../__init__.py | 6 + .../__manifest__.py | 17 + .../hooks.py | 13 + .../i18n/bs.po | 100 + .../i18n/it.po | 105 + .../stock_quant_package_multi_reference.pot | 100 + .../models/__init__.py | 5 + .../models/stock_quant_package.py | 71 + .../models/stock_quant_package_reference.py | 49 + .../readme/CONTRIBUTORS.rst | 1 + .../readme/DESCRIPTION.rst | 1 + .../readme/USAGE.rst | 2 + .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 429 +++++ .../tests/__init__.py | 4 + ...est_stock_quant_package_multi_reference.py | 77 + .../views/stock_quant_package_view.xml | 24 + 884 files changed, 80693 insertions(+) create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/hr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sale_stock_available_info_popup.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/sale_order.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/test_sale_stock_available_info_popup.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/views/sale_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ar.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ca.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/cs_CZ.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/el_GR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_ES.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_MX.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/eu.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fi.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_CH.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_FR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/gl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr_HR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl_NL.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ro.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ru.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/stock_available.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr_TR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/vi_VN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_template.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/res_config_settings.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONFIGURE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/test_stock_available.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_product_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_template_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/res_config_settings_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/stock_available_base_exclude_location.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/stock_exclude_location_mixin.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/common.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/test_stock_exclude_location.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/stock_available_exclude_location.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_company.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_config_settings.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONFIGURE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/test_exclude_location.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/views/res_config_settings.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ca.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/cs_CZ.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/el_GR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_ES.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_MX.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/eu.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fi.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_CH.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_FR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/gl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr_HR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl_NL.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ro.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ru.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/stock_available_immediately.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr_TR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/vi_VN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/test_stock_available_immediately.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/stock_available_immediately_exclude_location.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/stock_location.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/test_stock_exclude_location.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/views/stock_location.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/stock_available_location_get_domain.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/test_location_domain.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/demo/mrp_data.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/ca.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fi.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/hr_HR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/stock_available_mrp.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/tr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/ROADMAP.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/test_potential_qty.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ar.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ca.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/el_GR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_ES.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_MX.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/eu.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fi.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_CH.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_FR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/gl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr_HR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl_NL.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ro.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ru.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/stock_available_unreserved.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr_TR.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/vi_VN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_product.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_template.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/stock_quant.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/test_stock_available_unreserved.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/product_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/stock_quant_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/stock_free_quantity.pot create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/product_template.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/test_template_free_qty.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_product_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_template_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/README.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/stock_quant_available_quantity.pot create mode 100755 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/CONTRIBUTORS.md create mode 100755 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/DESCRIPTION.md create mode 100755 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.svg create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/views/stock_quant_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/data/stock_request_sequence_data.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ca.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/el_GR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es_ES.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/eu.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fi.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_CH.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_FR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/gl.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr_HR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja_JP.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl_NL.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ro.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ru.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/sl.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/stock_request.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr_TR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/vi_VN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/procurement_group.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_company.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_config_settings.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_location.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move_line.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_picking.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_abstract.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_allocation.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_route.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_rule.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_warehouse.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONFIGURE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/ROADMAP.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/stock_request_security.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.svg create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/test_stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/product.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/res_config_settings_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_move_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_picking_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_allocation_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_menu.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/stock_request_direction.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/test_stock_request_direction.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/res_config_settings.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/data/stock_request_sequence_data.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/stock_request_kanban.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/product.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_inventory_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONFIGURE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/report_paper_format.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/stock_request_kanban_templates.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/base_test.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_inventory_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/product_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_inventory_kanban_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_kanban_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_menu.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_inventory_kanban_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_request_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_request_kanban_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/wizard/wizard_stock_request_order_kanban_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/hooks.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/i18n/stock_request_mrp.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/models/mrp_production.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/models/stock_rule.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/readme/ROADMAP.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/tests/test_stock_request_mrp.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/mrp_production_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/data/stock_picking_type.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/pt_BR.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/stock_request_picking_type.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_picking_type.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_picking_type.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_picking_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/de.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/stock_request_purchase.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order_line.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_rule.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/ROADMAP.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/test_stock_request_purchase.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/purchase_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/hooks.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/stock_request_submit.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/test_stock_request_submit.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_order_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/README.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/data/stock_request_tier_definition.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/es.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/stock_request_tier_validation.pot create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/zh_CN.po create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request_order.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/tier_definition.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONFIGURE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CREDITS.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/INSTALL.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/test_stock_request_tier_validation.py create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_order_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_view.xml create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/README.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/fr_BE.po create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/internal_stock_quant_package.pot create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_internal_package_config_line.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking_type.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_quant_package.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/common.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/test_stock_picking.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_picking_type_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_quant_package_views.xml create mode 100644 odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/README.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/ARCHITECTURE.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONFIGURATION.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONTROLLERS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/DEPENDENCIES.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/FAQ.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/INSTALL.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/MODELS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/OVERVIEW.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/REPORTS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/SECURITY.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/TROUBLESHOOTING.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/USAGE.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/WIZARDS.md create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/pyproject.toml create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/README.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__manifest__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/hooks.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/bs.po create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/it.po create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/stock_quant_package_multi_reference.pot create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package_reference.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/CONTRIBUTORS.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/DESCRIPTION.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/USAGE.rst create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/security/ir.model.access.csv create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/icon.png create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/index.html create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/__init__.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/test_stock_quant_package_multi_reference.py create mode 100644 odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/views/stock_quant_package_view.xml diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/README.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/README.md new file mode 100644 index 0000000..9a2f234 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/README.md @@ -0,0 +1,47 @@ +# Sale Stock Available Info Popup + +Odoo addon: sale_stock_available_info_popup + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup +``` + +## Dependencies + +This addon depends on: +- sale_stock +- stock_available + +## Manifest Information + +- **Name**: Sale Stock Available Info Popup +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse Management +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `sale_stock_available_info_popup`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/ARCHITECTURE.md new file mode 100644 index 0000000..7ede393 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Sale_stock_available_info_popup Module - sale_stock_available_info_popup + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONFIGURATION.md new file mode 100644 index 0000000..3d77c84 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for sale_stock_available_info_popup. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/DEPENDENCIES.md new file mode 100644 index 0000000..c6adfa9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [sale_stock](https://github.com/bringout/oca-ocb-sale/tree/681dc8d5fff638cb0862a34e48091a2098d091f8/odoo-bringout-oca-ocb-sale_stock) +- [stock_available](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/FAQ.md new file mode 100644 index 0000000..30ca63b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon sale_stock_available_info_popup or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/INSTALL.md new file mode 100644 index 0000000..3f82776 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/MODELS.md new file mode 100644 index 0000000..75bbb20 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/MODELS.md @@ -0,0 +1,12 @@ +# Models + +Detected core models and extensions in sale_stock_available_info_popup. + +```mermaid +classDiagram + class sale_order_line +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/OVERVIEW.md new file mode 100644 index 0000000..a31a33d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: sale_stock_available_info_popup. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon sale_stock_available_info_popup +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/USAGE.md new file mode 100644 index 0000000..55d6c41 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon sale_stock_available_info_popup +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/pyproject.toml new file mode 100644 index 0000000..e9497b9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup" +version = "16.0.0" +description = "Sale Stock Available Info Popup - Adds an 'Available to promise' quantity to the popover shown in sale order line that display stock info of the product" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-availability-sale_stock>=16.0.0", + "odoo-bringout-oca-stock-logistics-availability-stock_available>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["sale_stock_available_info_popup"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/README.rst b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/README.rst new file mode 100644 index 0000000..7dcee49 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/README.rst @@ -0,0 +1,102 @@ +=============================== +Sale Stock Available Info Popup +=============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:03c40a24f7e84d8161569da2bb53b33f3dbc181a0158651e559492163d7b0583 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/sale_stock_available_info_popup + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-sale_stock_available_info_popup + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of 'Sale Stock' module +to add the 'Available to promise' quantity of the corresponding product +to the pop-up that show stock information at sales order line level. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +#. Go to *Sales > Orders > quotations* and create a new one. +#. Add a sale order line with a storable product +#. Click on the icon |fa_info_circle| in the line and you will + see in the popover the 'Available to promise' quantity of the + corresponding product. + +Note: Now the color of the icon depends on the 'Available to promise' +quantity of the corresponding product instead of 'Forecast Quantity'. +If that quantity is less than the quantity to deliver, the color of +the icon will be red, indicating an alert; otherwise it will be blue. + +.. |fa_info_circle| image:: https://raw.githubusercontent.com/OCA/stock-logistics-availability/16.0/sale_stock_available_info_popup/static/src/img/info-circle-solid.png + :width: 10px + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza + * Víctor Martínez + * César A. Sánchez + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__init__.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__init__.py new file mode 100644 index 0000000..4b76c7b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__manifest__.py new file mode 100644 index 0000000..90e9730 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). +{ + "name": "Sale Stock Available Info Popup", + "summary": "Adds an 'Available to promise' quantity to the popover shown " + "in sale order line that display stock info of the product", + "author": "Tecnativa, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "category": "Warehouse Management", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "depends": ["sale_stock", "stock_available"], + "data": ["views/sale_order_views.xml"], + "assets": { + "web.assets_backend": [ + "sale_stock_available_info_popup/static/src/xml/qty_at_date.xml", + ], + }, + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/bs.po new file mode 100644 index 0000000..002a78a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/bs.po @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "Dostupno za ponuditi" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "Danas raspoloživa količina" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodaje" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/es.po new file mode 100644 index 0000000..fcb5e44 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/es.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-24 19:48+0000\n" +"PO-Revision-Date: 2023-09-03 13:35+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "Disponible para Prometer" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "Cantidad inmediatamente utilizable hoy" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "Línea de pedido de venta" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/hr.po b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/hr.po new file mode 100644 index 0000000..8a0fe77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/hr.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-03-01 17:22+0000\n" +"Last-Translator: Bole \n" +"Language-Team: none\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" +"X-Generator: Weblate 4.14.1\n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "Dostupno za ponuditi" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "Danas raspoloživa količina" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "Stavka prodaje" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/it.po new file mode 100644 index 0000000..0cab845 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/it.po @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-24 16:35+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "Disponibile da promettere" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "Quantità immediatamente utilizzabile oggi" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "Riga ordine di vendita" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sale_stock_available_info_popup.pot b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sale_stock_available_info_popup.pot new file mode 100644 index 0000000..435e08f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sale_stock_available_info_popup.pot @@ -0,0 +1,31 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sl.po b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sl.po new file mode 100644 index 0000000..a0ce678 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/i18n/sl.po @@ -0,0 +1,43 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * sale_stock_available_info_popup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-08-11 10:59+0000\n" +"Last-Translator: Matjaz Mozetic \n" +"Language-Team: none\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" +"X-Generator: Weblate 3.10\n" + +#. module: sale_stock_available_info_popup +#. odoo-javascript +#: code:addons/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml:0 +#, python-format +msgid "Available to promise" +msgstr "Lahko obljubimo" + +#. module: sale_stock_available_info_popup +#: model:ir.model.fields,field_description:sale_stock_available_info_popup.field_sale_order_line__immediately_usable_qty_today +msgid "Immediately Usable Qty Today" +msgstr "Takoj razpoložljiva današnja kol" + +#. module: sale_stock_available_info_popup +#: model:ir.model,name:sale_stock_available_info_popup.model_sale_order_line +msgid "Sales Order Line" +msgstr "Prodajna postavka" + +#, python-format +#~ msgid "" +#~ "widget.data.immediately_usable_qty_today < widget.data.qty_to_deliver " +#~ "and !widget.data.is_mto" +#~ msgstr "" +#~ "widget.data.immediately_usable_qty_today < widget.data.qty_to_deliver " +#~ "and !widget.data.is_mto" diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/__init__.py new file mode 100644 index 0000000..b1ad204 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import sale_order diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/sale_order.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/sale_order.py new file mode 100644 index 0000000..3bdf641 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/models/sale_order.py @@ -0,0 +1,36 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from collections import defaultdict + +from odoo import api, fields, models + + +class SaleOrderLine(models.Model): + _inherit = "sale.order.line" + + immediately_usable_qty_today = fields.Float( + compute="_compute_immediately_usable_qty_today" + ) + + @api.depends( + "product_id", + "product_uom_qty", + "scheduled_date", + "order_id.date_order", + "warehouse_id", + ) + def _compute_immediately_usable_qty_today(self): + qty_processed_per_product = defaultdict(lambda: 0) + self.immediately_usable_qty_today = False + for line in self.sorted(key=lambda r: r.sequence): + if not line.display_qty_widget: + continue + product = line.product_id.with_context( + to_date=line.scheduled_date, warehouse=line.warehouse_id.id + ) + qty_processed = qty_processed_per_product[product.id] + line.immediately_usable_qty_today = ( + product.immediately_usable_qty - qty_processed + ) + qty_processed_per_product[product.id] += line.product_uom_qty diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..f18dd5e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* `Tecnativa `_: + + * Ernesto Tejeda + * Pedro M. Baeza + * Víctor Martínez + * César A. Sánchez diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/DESCRIPTION.rst new file mode 100644 index 0000000..e690dfb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module extends the functionality of 'Sale Stock' module +to add the 'Available to promise' quantity of the corresponding product +to the pop-up that show stock information at sales order line level. diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/USAGE.rst new file mode 100644 index 0000000..a9e5403 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/readme/USAGE.rst @@ -0,0 +1,15 @@ +To use this module, you need to: + +#. Go to *Sales > Orders > quotations* and create a new one. +#. Add a sale order line with a storable product +#. Click on the icon |fa_info_circle| in the line and you will + see in the popover the 'Available to promise' quantity of the + corresponding product. + +Note: Now the color of the icon depends on the 'Available to promise' +quantity of the corresponding product instead of 'Forecast Quantity'. +If that quantity is less than the quantity to deliver, the color of +the icon will be red, indicating an alert; otherwise it will be blue. + +.. |fa_info_circle| image:: ../static/src/img/info-circle-solid.png + :width: 10px diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/index.html new file mode 100644 index 0000000..a9b2e54 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/description/index.html @@ -0,0 +1,445 @@ + + + + + + +Sale Stock Available Info Popup + + + +
+

Sale Stock Available Info Popup

+ + +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module extends the functionality of ‘Sale Stock’ module +to add the ‘Available to promise’ quantity of the corresponding product +to the pop-up that show stock information at sales order line level.

+

Table of contents

+ +
+

Usage

+

To use this module, you need to:

+
    +
  1. Go to Sales > Orders > quotations and create a new one.
  2. +
  3. Add a sale order line with a storable product
  4. +
  5. Click on the icon fa_info_circle in the line and you will +see in the popover the ‘Available to promise’ quantity of the +corresponding product.
  6. +
+

Note: Now the color of the icon depends on the ‘Available to promise’ +quantity of the corresponding product instead of ‘Forecast Quantity’. +If that quantity is less than the quantity to deliver, the color of +the icon will be red, indicating an alert; otherwise it will be blue.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Ernesto Tejeda
    • +
    • Pedro M. Baeza
    • +
    • Víctor Martínez
    • +
    • César A. Sánchez
    • +
    +
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml new file mode 100644 index 0000000..be55a16 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/static/src/xml/qty_at_date.xml @@ -0,0 +1,25 @@ + + + + + + + + Available to promise + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/__init__.py new file mode 100644 index 0000000..47d9809 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import test_sale_stock_available_info_popup diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/test_sale_stock_available_info_popup.py b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/test_sale_stock_available_info_popup.py new file mode 100644 index 0000000..8c17ec6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/tests/test_sale_stock_available_info_popup.py @@ -0,0 +1,96 @@ +# Copyright 2020 Tecnativa - Ernesto Tejeda +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from datetime import timedelta + +from odoo.fields import Datetime +from odoo.tests import Form, common, new_test_user +from odoo.tests.common import users + + +class SaleStockAvailableInfoPopup(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.sale_user = new_test_user( + cls.env, + login="sale_user", + groups="sales_team.group_sale_salesman", + ) + cls.product = cls.env["product.product"].create( + {"name": "Storable product", "detailed_type": "product"} + ) + cls.partner = cls.env["res.partner"].create({"name": "Mr. Odoo"}) + cls.env["stock.quant"].create( + { + "product_id": cls.product.id, + "location_id": cls.env.ref("stock.stock_location_stock").id, + "quantity": 40.0, + } + ) + picking_in = cls._create_picking(cls, cls.env.ref("stock.picking_type_in"), 5) + picking_in.action_assign() + picking_in.move_ids[0].move_line_ids[0].qty_done = 5 + picking_in._action_done() + picking_out = cls._create_picking(cls, cls.env.ref("stock.picking_type_out"), 3) + picking_out.action_assign() + picking_out.move_ids[0].move_line_ids[0].qty_done = 3 + picking_out._action_done() + + def _create_picking(self, picking_type, qty): + picking_form = Form(self.env["stock.picking"]) + picking_form.picking_type_id = picking_type + with picking_form.move_ids_without_package.new() as move: + move.product_id = self.product + move.product_uom_qty = qty + return picking_form.save() + + def _create_sale(self): + sale_form = Form(self.env["sale.order"]) + sale_form.partner_id = self.partner + sale_form.user_id = self.sale_user + return sale_form + + def _add_sale_line(self, sale_form, product, qty=1): + with sale_form.order_line.new() as line: + line.product_id = self.product + line.product_uom_qty = qty + + @users("admin", "sale_user") + def test_immediately_usable_qty_today(self): + sale_form = self._create_sale() + self._add_sale_line(sale_form, self.product) + sale = sale_form.save() + # 42=40-1+3 + self.assertAlmostEqual(sale.order_line.immediately_usable_qty_today, 42) + + @users("admin", "sale_user") + def test_immediately_usable_qty_today_similar_solines(self): + """Create a sale order containing three times the same product. The quantity + available should be different for the 3 lines. + """ + # Modules like stock_available_inmmediately change the behavior of this field + # so we have to evaluate their values on the fly + qty = self.product.immediately_usable_qty + yesterday = Datetime.now() - timedelta(days=1) + sale_form = self._create_sale() + self._add_sale_line(sale_form, self.product, 5) + self._add_sale_line(sale_form, self.product, 5) + self._add_sale_line(sale_form, self.product, 5) + sale = sale_form.save() + self.assertEqual( + sale.order_line.mapped("immediately_usable_qty_today"), + [qty, qty - 5, qty - 10], + ) + self.product.invalidate_recordset() + qty_yesterday = self.product.with_context( + to_date=yesterday + ).immediately_usable_qty + self.assertFalse(qty == qty_yesterday) + # Commitment date will affect the computation + sale.commitment_date = yesterday + sale.order_line.invalidate_recordset() + self.assertEqual( + sale.order_line.mapped("immediately_usable_qty_today"), + [qty_yesterday, qty_yesterday - 5, qty_yesterday - 10], + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/views/sale_order_views.xml b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/views/sale_order_views.xml new file mode 100644 index 0000000..52d82ba --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-sale_stock_available_info_popup/sale_stock_available_info_popup/views/sale_order_views.xml @@ -0,0 +1,18 @@ + + + + + sale.order.line.tree.inherit + sale.order + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/README.md new file mode 100644 index 0000000..737284f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/README.md @@ -0,0 +1,46 @@ +# Stock available to promise + +Odoo addon: stock_available + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock available to promise +- **Version**: 16.0.1.1.0 +- **Category**: Warehouse +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/ARCHITECTURE.md new file mode 100644 index 0000000..f4afaac --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available Module - stock_available + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONFIGURATION.md new file mode 100644 index 0000000..37b87b8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/FAQ.md new file mode 100644 index 0000000..c4559ff --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/INSTALL.md new file mode 100644 index 0000000..ee5bd63 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/MODELS.md new file mode 100644 index 0000000..ad1d2f5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in stock_available. + +```mermaid +classDiagram + class product_product + class product_template + class res_config_settings +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/OVERVIEW.md new file mode 100644 index 0000000..dc8082a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/USAGE.md new file mode 100644 index 0000000..2a5eba9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available/pyproject.toml new file mode 100644 index 0000000..5735d23 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available" +version = "16.0.0" +description = "Stock available to promise - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/README.rst new file mode 100644 index 0000000..773e6b7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/README.rst @@ -0,0 +1,120 @@ +========================== +Stock available to promise +========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:d4140e26779bc492db382b505bdd268792c5892c6e84395626e69a9f34bcf8ff + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module proposes several options to compute the quantity available to +promise for each product. +This quantity is based on the projected stock and, depending on the +configuration, it can account for various data such as sales quotations or +immediate production capacity. +In case of immediate production capacity, it is possible to configure on which +field the potential is computed, by default Quantity On Hand is used. +This can be configured in `Inventory` > `Configuration` > `Settings`. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +By default, this module computes the stock available to promise as the virtual +stock. +To take advantage of the additional features, you must define on which information you +want to base the computation, by checking one or more boxes in the settings: +`Inventory` > `Configuration` > `Settings` > `Stock available to promise`. +In case of "Include the production potential", it is also possible to configure +which field of product to use to compute the production potential. + +Usage +===== + +This module adds a field named `Available for sale` on the Product form. +Various additional fields may be added, depending on which information you +chose to base the computation on. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Numérigraphe +* Sodexis + +Contributors +~~~~~~~~~~~~ + +* `Numérigraphe `_: + + * Lionel Sausin + +* `Sodexis `_: + + * Sodexis + +* `Factor Libre `_: + + * Kiko Peiro + +* `Tecnativa `_: + + * Sergio Teruel + +* `Ecosoft `_: + + * Pimolnat Suntian + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__init__.py new file mode 100644 index 0000000..83e553a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__manifest__.py new file mode 100644 index 0000000..e461d2c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Stock available to promise", + "version": "16.0.1.1.0", + "author": "Numérigraphe, Sodexis, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "development_status": "Production/Stable", + "category": "Warehouse", + "depends": ["stock"], + "license": "AGPL-3", + "data": [ + "views/product_template_view.xml", + "views/product_product_view.xml", + "views/res_config_settings_views.xml", + ], + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ar.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ar.po new file mode 100644 index 0000000..18fb137 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ar.po @@ -0,0 +1,143 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +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 \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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "المتوفر" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "المتوقع" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "القابل للبيع:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "القابل للبيع" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "الإعدادات" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "تجاهل الكميات الواردة" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "احتسب المتوقع من التصنيع" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "المتوقع" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "المنتج" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "الكمية القابلة للبيع" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "مبني على" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "تجاهل الكميات الموجودة في العروض المبدئية" + +#~ msgid "Product Template" +#~ msgstr "قالب المنتج" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/bs.po new file mode 100644 index 0000000..e726a2a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/bs.po @@ -0,0 +1,130 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Raspoloživo" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencijalno" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Raspoloživo za obećati:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Raspoloživo za obećati" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Isključi robu u dolasku" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Isključi potencijal proizvodnje" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencijal" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Zaliha raspoloživa za obećati" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "bazirano na" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ca.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ca.po new file mode 100644 index 0000000..65f9094 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ca.po @@ -0,0 +1,180 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2022-08-17 12:07+0000\n" +"Last-Translator: jabelchi \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" +"X-Generator: Weblate 4.3.2\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Disponible" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Disponible per a prometre:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Disponible per a prometre" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Trieu el camp del producte que s'utilitzarà per a calcular el potencial.\n" +"Si es buit, s'utilitzarà la quantitat a mà.\n" +"Només els camps de quantitat tenen sentit per a calcular l'estoc" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Configuració" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Excloure mercaderies a rebre" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Incloure el potencial de producció" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Producte" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Quantitat del producte que es podria produir utilitzant els materials ja en " +"estoc." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Quantitat d'aquest producte que podria produir-se utilitzant els materials " +"ja en estoc. Si el producte té diverses variants, serà la major quantitat " +"que es pugui produir per a una única variant." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Estoc disponible per a prometre" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"L'estoc d'aquest producte que pot ser compromès amb seguretat per a vendre a " +"clients.\n" +"La definició d'aquest valor pot ser configurada per ajustar-se a les vostres " +"necessitats" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"L'estoc d'aquest producte que pot ser compromès amb seguretat per a vendre a " +"clients.\n" +"La definició d'aquest valor pot ser configurada per ajustar-se a les vostres " +"necessitats." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Això afegirà les quantitats de mercaderia que poden ser produïdes " +"immeditatament a les quantitats disponibles per a prometre.\n" +"Això instala el mòdul stock_available_mrp.\n" +"Si el mòdul mrp no està instalar, també s'instalarà" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Això restarà les quantitats a rebre de les quantitats disponibles per a " +"prometre.\n" +"Això instala el mòdul stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "basat en" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "Excloure mercaderia que ja està en pressupostos de venda" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producte" + +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Això restarà les quantitats dels pressupostos de venda de les quantitats " +#~ "disponibles per a prometre.\n" +#~ "Això instala el mòdul stock_available_sale.\n" +#~ "Si els mòduls sale i sale_delivery_date no estan instal·lats, els " +#~ "instal·larà també" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/cs_CZ.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/cs_CZ.po new file mode 100644 index 0000000..d75553b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/cs_CZ.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# Lukáš Spurný , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2018-02-27 11:37+0000\n" +"Last-Translator: Lukáš Spurný , 2018\n" +"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/" +"teams/23907/cs_CZ/)\n" +"Language: cs_CZ\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>=2 && n<=4) ? 1 : 2;\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "K dispozici 1" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potenciál 1" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "K dispozici pro slib:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "K dispozici na slib" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Zvolit pole produktu, který bude použit pro výpočet potenciálu. • Pokud je " +"prázdný, použije se množství On Hand. • Pouze množství polí má význam pro " +"výpočet zásob" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Vylučte příchozí zboží" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Zahrnout výrobní potenciál" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potenciál" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Množství tohoto výrobku, které by mohlo být vyrobeno z materiálů, které jsou " +"již k dispozici." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Množství tohoto výrobku, které by mohlo být vyrobeno z materiálů, které jsou " +"již k dispozici. Pokud má produkt několik variant, bude to největší " +"množství, které lze vyrobit pro libovolnou variantu." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Zásoby k dispozici" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Sklad pro tento produkt, který může být bezpečně navržen k prodeji " +"zákazníkům. Definice této hodnoty může být konfigurována tak, aby vyhovovala " +"vašim potřebám" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +#, fuzzy +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Sklad pro tento produkt, který může být bezpečně navržen k prodeji " +"zákazníkům. Definice této hodnoty může být konfigurována tak, aby vyhovovala " +"vašim potřebám" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Tím se přidá množství zboží, které lze okamžitě vyrobit, na množství, která " +"je k dispozici pro slib. \"Instaluje modul stock_available_mrp.\" Pokud " +"modul mrp není nainstalován, instaluje se taky" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Tím se odečtou příchozí veličiny z množství, která je k dispozici pro slib. " +"\"Instaluje modul stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "na základě" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "Vyloučení zboží již v nabídkách prodeje" + +#~ msgid "Product Template" +#~ msgstr "Šablona produktu" + +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Tím se odečtou množství z prodejních kotací z množství, která je k " +#~ "dispozici pro slib. \"Instaluje moduly stock_available_sale.\" Pokud " +#~ "nejsou nainstalovány moduly prodeje a sales_delivery_date, nainstalují se " +#~ "je také" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/de.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/de.po new file mode 100644 index 0000000..0711f03 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/de.po @@ -0,0 +1,167 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# Rudolf Schnapka , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-14 12:02+0000\n" +"PO-Revision-Date: 2016-04-22 09:17+0000\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-9-0/language/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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Verfügbar" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +#, fuzzy +msgid "Potential" +msgstr "Verfügbar" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Verfügbar für Zusage:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Verfügbar für Lieferversprechen" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Warenzugänge ausschließen" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Bestand für Lieferversprechen verfügbar" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Bestand dieses Produkts, der sicher einem Kunden verkauft werden kann.\n" +"Die Definition dieses Werts kann an Ihre Bedürfnisse angepasst werden" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +#, fuzzy +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Bestand dieses Produkts, der sicher einem Kunden verkauft werden kann.\n" +"Die Definition dieses Werts kann an Ihre Bedürfnisse angepasst werden" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +#, fuzzy +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Warenzugänge werden von dem für Lieferversprechen verfügbaren Bestand " +"abgezogen.\n" +"Das Modul stock_available_immediately wird installiert." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Warenzugänge werden von dem für Lieferversprechen verfügbaren Bestand " +"abgezogen.\n" +"Das Modul stock_available_immediately wird installiert." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produktvorlage" + +#, fuzzy +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Warenzugänge werden von dem für Lieferversprechen verfügbaren Bestand " +#~ "abgezogen.\n" +#~ "Das Modul stock_available_immediately wird installiert." diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/el_GR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/el_GR.po new file mode 100644 index 0000000..257651c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/el_GR.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Προϊόν" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es.po new file mode 100644 index 0000000..41e9ad7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es.po @@ -0,0 +1,166 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2025-03-11 20:06+0000\n" +"Last-Translator: Sergio Del Castillo Baranda \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" +"X-Generator: Weblate 5.10.2\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Disp. para prometer" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Disponible para prometer:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Disponible para Prometer" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Escoja el campo del producto que se usará para calcular las existencias " +"potenciales.\n" +"Si está vacío, se utilizará la cantidad a mano.\n" +"Sólo los campos de cantidad tienen sentido para calcular las existencias" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Parámetros de configuración" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Excluir mercancías entrantes" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Incluye el potencial a producir" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Variante de producto" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Cantidad de este Producto que podría fabricarse con los materiales de que ya " +"se dispone." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Cantidad de este producto que puede fabricarse con los materiales " +"disponibles. Si el producto tiene varias variantes, esta será la mayor " +"cantidad que puede fabricarse para una sola variante." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Stock disponible para prometer" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Existencias de este Producto que pueden proponerse con seguridad para la " +"venta a los Clientes.\n" +"La definición de este valor puede configurarse para adaptarse a sus " +"necesidades" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Existencias de este Producto que pueden proponerse con seguridad para la " +"venta a los Clientes.\n" +"La definición de este valor puede configurarse para adaptarse a sus " +"necesidades." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Esto añadirá las cantidades de bienes que pueden ser fabricados " +"inmediatamente, a las cantidades disponibles para prometer.\n" +"Esto instala el módulo stock_available_mrp.\n" +"Si el módulo mrp no está instalado, esto lo instalará también" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Esto restará las cantidades entrantes de las cantidades disponibles para " +"prometer.\n" +"Esto instala el módulo stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "basado en" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_ES.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_ES.po new file mode 100644 index 0000000..6e5d2e4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_ES.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_MX.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_MX.po new file mode 100644 index 0000000..05abf31 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/es_MX.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/eu.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/eu.po new file mode 100644 index 0000000..537e655 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/eu.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produktua" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fi.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fi.po new file mode 100644 index 0000000..ba3788a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fi.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-09-23 20:23+0000\n" +"PO-Revision-Date: 2015-09-15 13:04+0000\n" +"Last-Translator: <>\n" +"Language-Team: Finnish (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-8-0/language/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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Tuote" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Tuotteen malli" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr.po new file mode 100644 index 0000000..73eff74 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr.po @@ -0,0 +1,175 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# Pierre Verkest , 2015 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-02-27 01:43+0000\n" +"PO-Revision-Date: 2023-08-10 11:12+0000\n" +"Last-Translator: sofien-moalla \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-9-0/language/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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Disponible" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potentiel" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Disponible à la vente :" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Disponible à la vente" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Choisir le champ du produit qui sera utilisé pour calculer le potentiel.\n" +"Si vide, la quantité disponible est utilisée.\n" +"Seuls les champs de quantité ont un sens pour le calcul du stock" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de configuration" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Exclure les receptions attendues" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Inclure le potentiel de production" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potentiel" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Article" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Variante de produit" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Quantité de ce produit qui pourrait déjà être fabriquée en utilisant les " +"matériaux à portée de main." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Quantité de ce produit qui pourrait déjà être fabriquée en utilisant les " +"matériaux à portée de main. Si le produit a plusieurs variantes, ce sera la " +"plus grande quantité qui peut être faite pour une seule variante." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Stock disponible à la vente" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Stock pour ce Produit qui peut être proposé en toute sécurité à la vente aux " +"Clients.\n" +"La définition de cette valeur peut être configurée selon vos besoins" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Stock pour ce Produit qui peut être proposé en toute sécurité à la vente aux " +"Clients.\n" +"La définition de cette valeur peut être configurée selon vos besoins." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Ceci ajoutera les quantités de marchandises qui peuvent être immédiatement " +"fabriquées, aux quantités disponibles à promettre.\n" +"Ceci installe le module stock_available_mrp\n" +"Si le module mrp n'est pas installé, ceci l'installera également" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Ceci soustrait les réceptions attendues des quantitiés disponibles à la " +"vente.\n" +"Ceci installe le module stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "basé sur" + +#~ msgid "Product Template" +#~ msgstr "Modèle de produit" + +#, fuzzy +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Ceci soustrait les réceptions attendues des quantitiés disponibles à la " +#~ "vente.\n" +#~ "Ceci installe le module stock_available_immediately." diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_CH.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_CH.po new file mode 100644 index 0000000..10de4ea --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_CH.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produit" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Template de produit" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_FR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_FR.po new file mode 100644 index 0000000..6549e74 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/fr_FR.po @@ -0,0 +1,138 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produit" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/gl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/gl.po new file mode 100644 index 0000000..4bc89c5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/gl.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr.po new file mode 100644 index 0000000..d32013c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr.po @@ -0,0 +1,146 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +# Bole , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2018-02-27 11:37+0000\n" +"Last-Translator: Bole , 2018\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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Raspoloživo" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencijalno" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Raspoloživo za obećati:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Raspoloživo za obećati" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Isključi robu u dolasku" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Isključi potencijal proizvodnje" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencijal" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Zaliha raspoloživa za obećati" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "bazirano na" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "Isključi dobra već u prodajnim nalozima" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr_HR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr_HR.po new file mode 100644 index 0000000..545444e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/hr_HR.po @@ -0,0 +1,177 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2016 +# Bole , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-05-02 00:35+0000\n" +"PO-Revision-Date: 2017-05-02 00:35+0000\n" +"Last-Translator: Bole , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Dostupno" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencijal" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Dostupno za rezervirati:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Dostupno za rezervirati:" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Izaberite polje na proizvodu koje će se koristiti za izračun potencijala.\n" +"Ukoliko je prazno, koristi se količina na raspolaganju.\n" +"Samo polja količine imaju značaj pri izračunu zalihe." + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Isključi robu u dolasku" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Uključi potencijale proizvodnje" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencijal" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Količina ovog proizvoda koja može biti proizvoedena korištenjem trenutno " +"raspoloživih materijala." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Količina ovog proizvoda koja može biti proizvedena korištenjem trenutno " +"raspoloživih materijala. Ukoliko proizvoda ima više varijanti, ovo će " +"pokazati najveću količinu koja može biti proizvoedena za bilokoju varijantu." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Zaliha dostupna za rezervacije" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Zaliha ovog proizvoda koja može biti predložena za prodaju kupcima.\n" +"Definicija ove vrijednosti može biti podešena da odgovara vašim potrebama." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +#, fuzzy +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Zaliha ovog proizvoda koja može biti predložena za prodaju kupcima.\n" +"Definicija ove vrijednosti može biti podešena da odgovara vašim potrebama." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Ovo će dodati količinu robe koja može biti odmah proizvedena, količinama " +"raspoloživim za rezervacije.\n" +"Ovo instalira modul stock_available_mrp.\n" +"Ukoliko modul mrp nije instaliran, instalirati će i njega." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Ovo će oduzeti količine robe u dolasku od količina raspoloživih za " +"rezervacije.\n" +"Ovo instalira modul_stock_available_emediatly." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "bazirano na" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" + +#, fuzzy +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Ovo će dodati količinu robe koja može biti odmah proizvedena, količinama " +#~ "raspoloživim za rezervacije.\n" +#~ "Ovo instalira modul stock_available_mrp.\n" +#~ "Ukoliko modul mrp nije instaliran, instalirati će i njega." diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/it.po new file mode 100644 index 0000000..854ba21 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/it.po @@ -0,0 +1,165 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2023-11-24 16:35+0000\n" +"Last-Translator: mymage \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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Disponibile" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potenziale" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Disponibile da promettere:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Disponibile da promettere" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Scegliere il campo del prodotto che verrà utilizzato per calcolare il " +"potenziale.\n" +"Se vuoto, verrà usato Quantità disponibile.\n" +"Solo i campi quantità hanno senso per calcolare la giacenza" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Esclude merce in arrivo" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Include il potenziale del prodotto" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potenziale" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Prodotto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Quantità di questo prodotto che si può produrre utilizzando i materiali a " +"disposizione." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Quantità di questo prodotto che si può produrre utilizzando i materiali a " +"disposizione. Se il prodotto ha diverse varianti, questa sarà la massima " +"quantità producibile per ogni singola variante." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Giagenza disponibile alla promessa" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Giacenza di questo prodotto che può essere proposta con certezza alla " +"vendiata al cliente.\n" +"La defnizione di questo valore può essere confgurata per adattarsi alle tue " +"esgenze" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Giacenza di questo prodotto che può essere proposta con certezza alla " +"vendiata al cliente.\n" +"La defnizione di questo valore può essere confgurata per adattarsi alle tue " +"esgenze." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Questo aggiungerà la quantità di merce che può essere immediatamente " +"lavorata alla quantità disponibile alla promessa.\n" +"Questo installa il modulo stock_available_mrp.\n" +"Se il modulo MRP non è installato, questo lo installerà" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Questo toglierà le quantità in arrivo alle quantità disponibili per le " +"promesse.\n" +"Questo installa il modulo stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "basato su" + +#~ msgid "Product Template" +#~ msgstr "Template Prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl.po new file mode 100644 index 0000000..54f1bc6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 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 , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Product" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Productsjabloon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl_NL.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl_NL.po new file mode 100644 index 0000000..a26a6a4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/nl_NL.po @@ -0,0 +1,143 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +# Peter Hageman , 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 , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Beschikbaar" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Vrije Voorraad:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Vrije Voorraad" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "stock.config.settings" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Inkomende goederen uitzonderen" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Product" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Vrije voorraad" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "Gebaseerd op" + +#~ msgid "Product Template" +#~ msgstr "Productsjabloon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt.po new file mode 100644 index 0000000..0c3b78f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt.po @@ -0,0 +1,137 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt_BR.po new file mode 100644 index 0000000..8d0b491 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/pt_BR.po @@ -0,0 +1,182 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# Claudio Araujo Santos , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-03 20:56+0000\n" +"PO-Revision-Date: 2024-05-20 16:38+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-stock-logistics-warehouse-9-0/language/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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Disponível" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Disponível a prometer:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Disponível a prometer" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Escolha do campo do produto que vai ser utilizado para calcular potencial.\n" +"Se vazio, quantidade disponível é utilizada.\n" +"Somente os campos de quantidade têm significado para computação estoque" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Definições de configuração" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Excluir entrada de mercadorias" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Incluir o potencial de produção" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potencial" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Variante do Produto" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Quantidade deste produto que pode ser produzida usando os materiais já " +"disponíveis." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Quantidade deste produto que pode ser produzida usando os materiais já " +"disponíveis. Se o produto tiver várias variantes, essa será a maior " +"quantidade que pode ser feita para uma única variante." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Estoque disponível para prometer" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Estoque para este produto que pode ser proposto com segurança para a venda " +"aos clientes.\n" +"A definição deste valor pode ser configurado para atender às suas " +"necessidades" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Estoque para este produto que pode ser proposto com segurança para venda aos " +"clientes.\n" +"A definição desse valor pode ser configurada para atender às suas " +"necessidades." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Isto irá adicionar as quantidades de produtos que podem ser fabricados de " +"imediato, para as quantidades disponíveis para prometer.\n" +"Isso instala o stock_available_mrp módulo.\n" +"Se o MRP módulo não está instalado, este irá instalar-lo também" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Isto irá subtrair quantidades recebidas a partir das quantidades disponíveis " +"para prometer.\n" +"Isso instala o módulo stock_available_immediately." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "Baseado em" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "Excluir mercadorias já em cotações de venda" + +#~ msgid "Product Template" +#~ msgstr "Modelo Produto" + +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "Isso subtrairá as quantidades das cotações de venda das quantidades " +#~ "disponíveis para promessa.\n" +#~ "Isso instala os módulos stock_available_sale.\n" +#~ "Se os módulos sale e sale_delivery_date não estiverem instalados, isso " +#~ "também os instalará" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ro.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ro.po new file mode 100644 index 0000000..b343f4d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ro.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Produs" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produs șablon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ru.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ru.po new file mode 100644 index 0000000..ed5eb03 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/ru.po @@ -0,0 +1,139 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 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 , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Товар/Услуга" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/sl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/sl.po new file mode 100644 index 0000000..d2641a0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/sl.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-04-30 03:10+0000\n" +"PO-Revision-Date: 2016-04-27 11:10+0000\n" +"Last-Translator: OCA Transbot \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-9-0/language/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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Predloga proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/stock_available.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/stock_available.pot new file mode 100644 index 0000000..01c6885 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/stock_available.pot @@ -0,0 +1,130 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr.po new file mode 100644 index 0000000..9ad0bae --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr.po @@ -0,0 +1,159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +# Ediz Duman , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2025-02-20 09:06+0000\n" +"Last-Translator: İsmail Çağan Yılmaz \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" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "Mevcut" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "Potansiyel" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "Söz Verilebilir:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "Söz verilebilir" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"Potansiyeli hesaplamak için kullanılacak ürünün alanını seçin.\n" +"Boşsa Eldeki Miktar kullanılır.\n" +"Stok hesaplamak için yalnızca miktar alanları anlamlıdır" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "Yapılandırma Ayarları" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "Gelen malları hariç tut" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "Üretim potansiyelini dahil edin" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "Potansiyel" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Ürün" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "Ürün Varyantı" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" +"Bu Ürünün halihazırda eldeki malzemeler kullanılarak üretilebilecek miktarı." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"Bu Ürünün halihazırda eldeki malzemeler kullanılarak üretilebilecek miktarı. " +"Ürünün birden fazla varyantı varsa bu, herhangi bir varyant için " +"yapılabilecek en büyük miktar olacaktır." + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "Söz vermek için stok mevcut" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"Bu Ürüne ait, Müşterilere güvenli bir şekilde satışa sunulabilecek stok.\n" +"Bu değerin tanımı ihtiyaçlarınıza uyacak şekilde yapılandırılabilir" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"Bu Ürüne ait, Müşterilere güvenli bir şekilde satışa sunulabilecek stok.\n" +"Bu değerin tanımı ihtiyaçlarınıza uyacak şekilde yapılandırılabilir." + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"Bu, hemen üretilebilecek mal miktarlarını söz verilen miktarlara " +"ekleyecektir.\n" +"Bu, stock_available_mrp modülünü yükler.\n" +"Mrp modülü kurulu değilse bu onu da yükleyecektir" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"Bu, vaat edilen mevcut miktarlardan gelen miktarları çıkaracaktır.\n" +"Bu, stok_available_immediately modülünü yükler." + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "buna dayanır" + +#~ msgid "Product Template" +#~ msgstr "Ürün Şablonu" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr_TR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr_TR.po new file mode 100644 index 0000000..e6e3796 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/tr_TR.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Ürün" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Ürün şablonu" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/vi_VN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/vi_VN.po new file mode 100644 index 0000000..6886825 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/vi_VN.po @@ -0,0 +1,141 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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 +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "Sản phẩm" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Mẫu sản phẩm" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/zh_CN.po new file mode 100644 index 0000000..abdeb20 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/i18n/zh_CN.po @@ -0,0 +1,170 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available +# +# Translators: +# Jeffery Chenn , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-28 10:00+0000\n" +"PO-Revision-Date: 2019-09-26 15:05+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-stock-" +"logistics-warehouse-9-0/language/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" +"X-Generator: Weblate 3.8\n" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Available" +msgstr "可用" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_form +msgid "Potential" +msgstr "潜力" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_available_kanban +msgid "Available to Promise:" +msgstr "可供销售的数量:" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__immediately_usable_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__immediately_usable_qty +msgid "Available to promise" +msgstr "可供销售的数量" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "" +"Choose the field of the product which will be used to compute potential.\n" +"If empty, Quantity On Hand is used.\n" +"Only the quantity fields have meaning for computing stock" +msgstr "" +"选择将用于计算潜力的产品字段。\n" +"如果为空,则使用现有数量。\n" +"只有数量字段才有计算库存的意义" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_res_config_settings +msgid "Config Settings" +msgstr "配置设定" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "Exclude incoming goods" +msgstr "排除进货" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "Include the production potential" +msgstr "包括生产潜力" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_product_product__potential_qty +#: model:ir.model.fields,field_description:stock_available.field_product_template__potential_qty +msgid "Potential" +msgstr "潜力" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_template +msgid "Product" +msgstr "产品" + +#. module: stock_available +#: model:ir.model,name:stock_available.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand." +msgstr "可以使用现有材料生产的产品数量。" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__potential_qty +msgid "" +"Quantity of this Product that could be produced using the materials already " +"at hand. If the product has several variants, this will be the biggest " +"quantity that can be made for a any single variant." +msgstr "" +"可以使用现有材料生产的产品数量。如果产品具有多个变体,则这将是任何单个变体可" +"制造的最大数量。" + +#. module: stock_available +#: model_terms:ir.ui.view,arch_db:stock_available.view_stock_configuration +msgid "Stock available to promise" +msgstr "库存可供销售数量" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_template__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs" +msgstr "" +"此产品的库存,可以安全地出售给客户。\n" +"可以配置此值的定义以满足您的需求" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_product_product__immediately_usable_qty +msgid "" +"Stock for this Product that can be safely proposed for sale to Customers.\n" +"The definition of this value can be configured to suit your needs." +msgstr "" +"该产品的库存可以安全地出售给客户。\n" +"可以配置此值的定义以适合您的需求。" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_mrp +msgid "" +"This will add the quantities of goods that can be immediately manufactured, " +"to the quantities available to promise.\n" +"This installs the module stock_available_mrp.\n" +"If the module mrp is not installed, this will install it too" +msgstr "" +"这会将可立即生产的商品数量增加到可供销售的数量。\n" +"这将安装模块stock_available_mrp。\n" +"如果未安装模块mrp,则也将安装它" + +#. module: stock_available +#: model:ir.model.fields,help:stock_available.field_res_config_settings__module_stock_available_immediately +msgid "" +"This will subtract incoming quantities from the quantities available to " +"promise.\n" +"This installs the module stock_available_immediately." +msgstr "" +"这将从可供销售的数量中减去进货数量。\n" +"这将立即安装模块stock_available_immediately。" + +#. module: stock_available +#: model:ir.model.fields,field_description:stock_available.field_res_config_settings__stock_available_mrp_based_on +msgid "based on" +msgstr "基于" + +#~ msgid "Exclude goods already in sale quotations" +#~ msgstr "排除已经在报价中的商品" + +#~ msgid "Product Template" +#~ msgstr "产品模板" + +#~ msgid "" +#~ "This will subtract quantities from the sale quotations from the " +#~ "quantities available to promise.\n" +#~ "This installs the modules stock_available_sale.\n" +#~ "If the modules sale and sale_delivery_date are not installed, this will " +#~ "install them too" +#~ msgstr "" +#~ "这将从可供销售的数量中减去销售报价中的数量。\n" +#~ "这将安装模块stock_available_sale。\n" +#~ "如果未安装模块sale和sale_delivery_date,这也将安装它们" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/__init__.py new file mode 100644 index 0000000..68ed8c9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/__init__.py @@ -0,0 +1,7 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import product_product +from . import product_template +from . import res_config_settings diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_product.py new file mode 100644 index 0000000..c03bf72 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_product.py @@ -0,0 +1,90 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + +from odoo.addons.stock.models.product import OPERATORS + + +class ProductProduct(models.Model): + + """Add a field for the stock available to promise. + Useful implementations need to be installed through the Settings menu or by + installing one of the modules stock_available_* + """ + + _inherit = "product.product" + + def _compute_available_quantities_dict(self): + stock_dict = self._compute_quantities_dict( + self._context.get("lot_id"), + self._context.get("owner_id"), + self._context.get("package_id"), + self._context.get("from_date"), + self._context.get("to_date"), + ) + res = {} + for product in self: + res[product.id] = { + "immediately_usable_qty": stock_dict[product.id]["virtual_available"], + "potential_qty": 0.0, + } + return res, stock_dict + + @api.depends("virtual_available") + @api.depends_context( + "lot_id", + "owner_id", + "package_id", + "from_date", + "to_date", + "location", + "warehouse", + ) + def _compute_available_quantities(self): + res, _ = self._compute_available_quantities_dict() + for product in self: + for key, value in res[product.id].items(): + if hasattr(product, key): + product[key] = value + + immediately_usable_qty = fields.Float( + digits="Product Unit of Measure", + compute="_compute_available_quantities", + search="_search_immediately_usable_qty", + string="Available to promise", + help="Stock for this Product that can be safely proposed " + "for sale to Customers.\n" + "The definition of this value can be configured to suit " + "your needs.", + ) + potential_qty = fields.Float( + compute="_compute_available_quantities", + digits="Product Unit of Measure", + string="Potential", + help="Quantity of this Product that could be produced using " + "the materials already at hand.", + ) + + def _get_search_immediately_usable_qty_domain(self): + return [("type", "=", "product")] + + @api.model + def _search_immediately_usable_qty(self, operator, value): + """Search function for the immediately_usable_qty field. + The search is quite similar to the Odoo search about quantity available + (addons/stock/models/product.py,253; _search_product_quantity function) + :param operator: str + :param value: str + :return: list of tuple (domain) + """ + product_domain = self._get_search_immediately_usable_qty_domain() + products = self.with_context(prefetch_fields=False).search( + product_domain, order="id" + ) + product_ids = [] + for product in products: + if OPERATORS[operator](product.immediately_usable_qty, value): + product_ids.append(product.id) + return [("id", "in", product_ids)] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_template.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_template.py new file mode 100644 index 0000000..aedba34 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/product_template.py @@ -0,0 +1,84 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + +from odoo.addons.stock.models.product import OPERATORS + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + @api.depends( + "product_variant_ids.immediately_usable_qty", + "product_variant_ids.potential_qty", + ) + def _compute_available_quantities(self): + res = self._compute_available_quantities_dict() + for product in self: + for key, value in res[product.id].items(): + if key in product._fields: + product[key] = value + + def _compute_available_quantities_dict(self): + variants_dict, _ = self.mapped( + "product_variant_ids" + )._compute_available_quantities_dict() + res = {} + for template in self: + immediately_usable_qty = sum( + variants_dict[p.id]["immediately_usable_qty"] + - variants_dict[p.id]["potential_qty"] + for p in template.product_variant_ids + ) + potential_qty = max( + [ + variants_dict[p.id]["potential_qty"] + for p in template.product_variant_ids + ] + or [0.0] + ) + res[template.id] = { + "immediately_usable_qty": immediately_usable_qty + potential_qty, + "potential_qty": potential_qty, + } + return res + + immediately_usable_qty = fields.Float( + digits="Product Unit of Measure", + compute="_compute_available_quantities", + search="_search_immediately_usable_qty", + string="Available to promise", + help="Stock for this Product that can be safely proposed " + "for sale to Customers.\n" + "The definition of this value can be configured to suit " + "your needs", + ) + potential_qty = fields.Float( + compute="_compute_available_quantities", + digits="Product Unit of Measure", + string="Potential", + help="Quantity of this Product that could be produced using " + "the materials already at hand. " + "If the product has several variants, this will be the biggest " + "quantity that can be made for a any single variant.", + ) + + @api.model + def _search_immediately_usable_qty(self, operator, value): + """Search function for the immediately_usable_qty field. + The search is quite similar to the Odoo search about quantity available + (addons/stock/models/product.py,341; _search_product_quantity function) + :param operator: str + :param value: str + :return: list of tuple (domain) + """ + products = self.search([]) + # Force prefetch + products.mapped("immediately_usable_qty") + product_ids = [] + for product in products: + if OPERATORS[operator](product.immediately_usable_qty, value): + product_ids.append(product.id) + return [("id", "in", product_ids)] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/res_config_settings.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/res_config_settings.py new file mode 100644 index 0000000..fa9462b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/models/res_config_settings.py @@ -0,0 +1,64 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + """Add options to easily install the submodules""" + + _inherit = "res.config.settings" + + @api.model + def _get_stock_available_mrp_based_on(self): + """Gets the available languages for the selection.""" + pdct_fields = self.env["ir.model.fields"].search( + [("model", "=", "product.product"), ("ttype", "=", "float")] + ) + return [ + (field.name, field.field_description) + for field in sorted(pdct_fields, key=lambda f: f.field_description) + ] + + module_stock_available_immediately = fields.Boolean( + string="Exclude incoming goods", + help="This will subtract incoming quantities from the quantities " + "available to promise.\n" + "This installs the module stock_available_immediately.", + ) + + module_stock_available_mrp = fields.Boolean( + string="Include the production potential", + help="This will add the quantities of goods that can be " + "immediately manufactured, to the quantities available to " + "promise.\n" + "This installs the module stock_available_mrp.\n" + "If the module mrp is not installed, this will install it " + "too", + ) + + stock_available_mrp_based_on = fields.Selection( + _get_stock_available_mrp_based_on, + string="based on", + help="Choose the field of the product which will be used to compute " + "potential.\nIf empty, Quantity On Hand is used.\n" + "Only the quantity fields have meaning for computing stock", + ) + + @api.model + def get_values(self): + res = super(ResConfigSettings, self).get_values() + res.update( + stock_available_mrp_based_on=self.env["ir.config_parameter"] + .sudo() + .get_param("stock_available_mrp_based_on", "qty_available") + ) + return res + + def set_values(self): + res = super(ResConfigSettings, self).set_values() + self.env["ir.config_parameter"].sudo().set_param( + "stock_available_mrp_based_on", self.stock_available_mrp_based_on + ) + return res diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONFIGURE.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONFIGURE.rst new file mode 100644 index 0000000..e6b596b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONFIGURE.rst @@ -0,0 +1,7 @@ +By default, this module computes the stock available to promise as the virtual +stock. +To take advantage of the additional features, you must define on which information you +want to base the computation, by checking one or more boxes in the settings: +`Inventory` > `Configuration` > `Settings` > `Stock available to promise`. +In case of "Include the production potential", it is also possible to configure +which field of product to use to compute the production potential. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..12ff0e6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/CONTRIBUTORS.rst @@ -0,0 +1,19 @@ +* `Numérigraphe `_: + + * Lionel Sausin + +* `Sodexis `_: + + * Sodexis + +* `Factor Libre `_: + + * Kiko Peiro + +* `Tecnativa `_: + + * Sergio Teruel + +* `Ecosoft `_: + + * Pimolnat Suntian diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/DESCRIPTION.rst new file mode 100644 index 0000000..d345320 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/DESCRIPTION.rst @@ -0,0 +1,8 @@ +This module proposes several options to compute the quantity available to +promise for each product. +This quantity is based on the projected stock and, depending on the +configuration, it can account for various data such as sales quotations or +immediate production capacity. +In case of immediate production capacity, it is possible to configure on which +field the potential is computed, by default Quantity On Hand is used. +This can be configured in `Inventory` > `Configuration` > `Settings`. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/USAGE.rst new file mode 100644 index 0000000..8574917 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/readme/USAGE.rst @@ -0,0 +1,3 @@ +This module adds a field named `Available for sale` on the Product form. +Various additional fields may be added, depending on which information you +chose to base the computation on. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/index.html new file mode 100644 index 0000000..8db0d2a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/static/description/index.html @@ -0,0 +1,481 @@ + + + + + + +Stock available to promise + + + +
+

Stock available to promise

+ + +

Production/Stable License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module proposes several options to compute the quantity available to +promise for each product. +This quantity is based on the projected stock and, depending on the +configuration, it can account for various data such as sales quotations or +immediate production capacity. +In case of immediate production capacity, it is possible to configure on which +field the potential is computed, by default Quantity On Hand is used. +This can be configured in Inventory > Configuration > Settings.

+

Table of contents

+ +
+

Configuration

+

By default, this module computes the stock available to promise as the virtual +stock. +To take advantage of the additional features, you must define on which information you +want to base the computation, by checking one or more boxes in the settings: +Inventory > Configuration > Settings > Stock available to promise. +In case of “Include the production potential”, it is also possible to configure +which field of product to use to compute the production potential.

+
+
+

Usage

+

This module adds a field named Available for sale on the Product form. +Various additional fields may be added, depending on which information you +chose to base the computation on.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Numérigraphe
  • +
  • Sodexis
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/__init__.py new file mode 100644 index 0000000..678c94f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_stock_available diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/test_stock_available.py b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/test_stock_available.py new file mode 100644 index 0000000..87c335e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/tests/test_stock_available.py @@ -0,0 +1,177 @@ +# Copyright 2014 Numérigraphe +# Copyright 2016 Sodexis +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class TestStockLogisticsWarehouse(TransactionCase): + def test_res_config(self): + """Test the config file""" + stock_setting = self.env["res.config.settings"].create({}) + + self.assertEqual(stock_setting.stock_available_mrp_based_on, "qty_available") + stock_setting.stock_available_mrp_based_on = "immediately_usable_qty" + stock_setting.set_values() + self.assertEqual( + stock_setting.stock_available_mrp_based_on, "immediately_usable_qty" + ) + + def test01_stock_levels(self): + """checking that immediately_usable_qty actually reflects \ + the variations in stock, both on product and template""" + moveObj = self.env["stock.move"] + productObj = self.env["product.product"] + templateObj = self.env["product.template"] + supplier_location = self.env.ref("stock.stock_location_suppliers") + stock_location = self.env.ref("stock.stock_location_stock") + customer_location = self.env.ref("stock.stock_location_customers") + uom_unit = self.env.ref("uom.product_uom_unit") + + # Create product template + templateAB = templateObj.create({"name": "templAB", "uom_id": uom_unit.id}) + + # Create product A and B + productA = productObj.create( + { + "name": "product A", + "standard_price": 1, + "type": "product", + "uom_id": uom_unit.id, + "default_code": "A", + "product_tmpl_id": templateAB.id, + } + ) + + productB = productObj.create( + { + "name": "product B", + "standard_price": 1, + "type": "product", + "uom_id": uom_unit.id, + "default_code": "B", + "product_tmpl_id": templateAB.id, + } + ) + + # Create a stock move from INCOMING to STOCK + stockMoveInA = moveObj.create( + { + "location_id": supplier_location.id, + "location_dest_id": stock_location.id, + "name": "MOVE INCOMING -> STOCK ", + "product_id": productA.id, + "product_uom": productA.uom_id.id, + "product_uom_qty": 2, + } + ) + + stockMoveInB = moveObj.create( + { + "location_id": supplier_location.id, + "location_dest_id": stock_location.id, + "name": "MOVE INCOMING -> STOCK ", + "product_id": productB.id, + "product_uom": productB.uom_id.id, + "product_uom_qty": 3, + } + ) + + def compare_product_usable_qty(product, value): + """ + Compare the immediately_usable_qty with the given value + Check also the search function for the immediately_usable_qty field + :param product: product (template/product) recordset + :param value: int + :return: + """ + self.assertEqual(product.immediately_usable_qty, value) + # Now check search function + domain = [("immediately_usable_qty", "=", value)] + results = self.env[product._name].search(domain) + self.assertIn(product.id, results.ids) + domain = [("immediately_usable_qty", "!=", value)] + results = self.env[product._name].search(domain) + self.assertNotIn(product.id, results.ids) + domain = [("immediately_usable_qty", ">", value - 1)] + results = self.env[product._name].search(domain) + self.assertIn(product.id, results.ids) + domain = [("immediately_usable_qty", "<", value + 1)] + results = self.env[product._name].search(domain) + self.assertIn(product.id, results.ids) + + compare_product_usable_qty(productA, 0) + compare_product_usable_qty(templateAB, 0) + + stockMoveInA._action_confirm() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(templateAB, 2) + + stockMoveInA._action_assign() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(templateAB, 2) + + stockMoveInA._action_done() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(templateAB, 2) + + # will directly trigger action_done on productB + stockMoveInB._action_done() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(productB, 3) + compare_product_usable_qty(templateAB, 5) + + # Create a stock move from STOCK to CUSTOMER + stockMoveOutA = moveObj.create( + { + "location_id": stock_location.id, + "location_dest_id": customer_location.id, + "name": " STOCK --> CUSTOMER ", + "product_id": productA.id, + "product_uom": productA.uom_id.id, + "product_uom_qty": 1, + "state": "confirmed", + } + ) + + stockMoveOutA._action_done() + compare_product_usable_qty(productA, 1) + compare_product_usable_qty(templateAB, 4) + + # Potential Qty is set as 0.0 by default + self.assertEqual(templateAB.potential_qty, 0.0) + self.assertEqual(productA.potential_qty, 0.0) + + def test_available_stock_multiple_location(self): + uom_unit = self.env.ref("uom.product_uom_unit") + productA = self.env["product.product"].create( + { + "name": "product A", + "standard_price": 1, + "type": "product", + "uom_id": uom_unit.id, + "default_code": "A", + } + ) + supplier_location = self.env.ref("stock.stock_location_suppliers") + shelf1 = self.env.ref("stock.stock_location_components") + shelf2 = self.env.ref("stock.stock_location_14") + + # Create a stock move from INCOMING to STOCK + stockMoveIn = self.env["stock.move"].create( + { + "location_id": supplier_location.id, + "location_dest_id": shelf1.id, + "name": "MOVE INCOMING -> STOCK ", + "product_id": productA.id, + "product_uom": productA.uom_id.id, + "product_uom_qty": 2, + } + ) + stockMoveIn._action_confirm() + self.assertEqual( + productA.with_context(location=shelf1.id).immediately_usable_qty, 2.0 + ) + self.assertEqual( + productA.with_context(location=shelf2.id).immediately_usable_qty, 0.0 + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_product_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_product_view.xml new file mode 100644 index 0000000..dbe91dc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_product_view.xml @@ -0,0 +1,71 @@ + + + + + Quantity available to promise (variant tree) + product.product + + + + + + + + + + Quantity available to promise (variant tree) + product.product + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_template_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_template_view.xml new file mode 100644 index 0000000..04b253a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/product_template_view.xml @@ -0,0 +1,88 @@ + + + + + Quantity available to promise (form) + product.template + + + + + + + + + + Quantity available to promise (tree) + product.template + + + + + + + + + Quantity available to promise (kanban) + product.template + + + +
Available to Promise:
+
+
+
+
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/res_config_settings_views.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/res_config_settings_views.xml new file mode 100644 index 0000000..3740a42 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available/stock_available/views/res_config_settings_views.xml @@ -0,0 +1,46 @@ + + + + + Stock settings: quantity available to promise + res.config.settings + + + +

Stock available to promise

+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/README.md new file mode 100644 index 0000000..b6954b9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/README.md @@ -0,0 +1,46 @@ +# Stock Available Base Exclude Location + +Odoo addon: stock_available_base_exclude_location + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Available Base Exclude Location +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse +- **License**: AGPL-3 +- **Installable**: False + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_base_exclude_location`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/ARCHITECTURE.md new file mode 100644 index 0000000..8a9fd54 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_base_exclude_location Module - stock_available_base_exclude_location + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONFIGURATION.md new file mode 100644 index 0000000..e0b53b6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_base_exclude_location. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/FAQ.md new file mode 100644 index 0000000..d1ebd6b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_base_exclude_location or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/INSTALL.md new file mode 100644 index 0000000..2b9002e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/MODELS.md new file mode 100644 index 0000000..9e95425 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_available_base_exclude_location. + +```mermaid +classDiagram + class stock_exclude_location_mixin + class product_product +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/OVERVIEW.md new file mode 100644 index 0000000..ca2ee85 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_base_exclude_location. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_base_exclude_location +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/USAGE.md new file mode 100644 index 0000000..77b991f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_base_exclude_location +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/pyproject.toml new file mode 100644 index 0000000..97bf207 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location" +version = "16.0.0" +description = "Stock Available Base Exclude Location - + Base module to exclude locations for product available quantities" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_base_exclude_location"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/README.rst new file mode 100644 index 0000000..4e3a246 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/README.rst @@ -0,0 +1,96 @@ +===================================== +Stock Available Base Exclude Location +===================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e80ce64a5cf47b773120431597d277e6d1d5d1206522f359c4cefdac59e0c77e + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_base_exclude_location + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_base_exclude_location + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module is a technical base module to allow defining excluded locations +on an Odoo model. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +In new module, inherit from "stock.exclude.location.mixin" model on +the wanted model. + +Then, when querying for product availability, add to context the key +"excluded_location_ids" with your model "stock_excluded_location_ids" +property. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Denis Roussel +* Xavier Bouquiaux + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-rousseldenis| image:: https://github.com/rousseldenis.png?size=40px + :target: https://github.com/rousseldenis + :alt: rousseldenis + +Current `maintainer `__: + +|maintainer-rousseldenis| + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__manifest__.py new file mode 100644 index 0000000..0446777 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Available Base Exclude Location", + "summary": """ + Base module to exclude locations for product available quantities""", + "version": "16.0.1.0.0", + "category": "Warehouse", + "maintainers": ["rousseldenis"], + "license": "AGPL-3", + "author": "ACSONE SA/NV,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "depends": ["stock"], +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/bs.po new file mode 100644 index 0000000..da06821 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/bs.po @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_base_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "Domain to filter locations" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product availablequantities." +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "Stock Excluded Location Domain" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "Stock Excluded Locations" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_stock_exclude_location_mixin +msgid "" +"technical base module to allow defining excluded locations on an Odoo model" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/it.po new file mode 100644 index 0000000..6fa507e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/it.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_base_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-04-10 08:41+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "Dominio per filtrare le ubicazioni" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product availablequantities." +msgstr "" +"Compilare questo campo per escludere ubicazioni dalle quantità disponibili " +"del prodotto." + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" +"Compilare questo campo con il dominio che si vuole utilizzare per escludere " +"le ubicazioni per le quantià prodotto disponibili" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "Dominio ubicazione esclusa dalla giacenza" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "Ubicazioni escluse dalla giacenza" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_stock_exclude_location_mixin +msgid "" +"technical base module to allow defining excluded locations on an Odoo model" +msgstr "" +"modulo tecnico base per consentire la definizione di ubicazioni escluse su " +"un modello Odoo" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/stock_available_base_exclude_location.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/stock_available_base_exclude_location.pot new file mode 100644 index 0000000..0bbef10 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/i18n/stock_available_base_exclude_location.pot @@ -0,0 +1,54 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_base_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product availablequantities." +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model.fields,field_description:stock_available_base_exclude_location.field_stock_exclude_location_mixin__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "" + +#. module: stock_available_base_exclude_location +#: model:ir.model,name:stock_available_base_exclude_location.model_stock_exclude_location_mixin +msgid "" +"technical base module to allow defining excluded locations on an Odoo model" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/__init__.py new file mode 100644 index 0000000..53274ab --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/__init__.py @@ -0,0 +1,2 @@ +from . import product_product +from . import stock_exclude_location_mixin diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/product_product.py new file mode 100644 index 0000000..10a60a3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/product_product.py @@ -0,0 +1,99 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import models +from odoo.osv import expression + + +class ProductProduct(models.Model): + + _inherit = "product.product" + + def _get_domain_locations_new(self, location_ids): + """ + This is used to exclude locations if needed + :param location_ids: + :param company_id: + :param compute_child: + :return: + """ + ( + domain_quant_loc, + domain_move_in_loc, + domain_move_out_loc, + ) = super()._get_domain_locations_new( + location_ids=location_ids, + ) + excluded_location_ids = self.env.context.get("excluded_location_ids", []) + excluded_location_domain = self.env.context.get("excluded_location_domain", []) + domain_excluded_quant_loc = [] + domain_excluded_move_in_loc = [] + domain_excluded_move_out_loc = [] + if excluded_location_ids: + domain_excluded_quant_loc = expression.AND( + [ + [("location_id", "not in", excluded_location_ids.ids)], + domain_excluded_quant_loc, + ] + ) + domain_excluded_move_in_loc = expression.AND( + [ + [("location_id", "not in", excluded_location_ids.ids)], + domain_excluded_move_in_loc, + ] + ) + domain_excluded_move_out_loc = expression.AND( + [ + [("location_id", "not in", excluded_location_ids.ids)], + domain_excluded_move_out_loc, + ] + ) + if excluded_location_domain: + domain_excluded_quant_loc = expression.AND( + [ + excluded_location_domain, + domain_excluded_quant_loc, + ] + ) + domain_excluded_move_in_loc = expression.AND( + [ + excluded_location_domain, + domain_excluded_move_in_loc, + ] + ) + domain_excluded_move_out_loc = expression.AND( + [ + excluded_location_domain, + domain_excluded_move_out_loc, + ] + ) + domain_quant_loc = ( + expression.AND( + [ + domain_excluded_quant_loc, + domain_quant_loc, + ] + ) + if domain_excluded_quant_loc + else domain_quant_loc + ) + domain_move_in_loc = ( + expression.AND( + [ + domain_excluded_move_in_loc, + domain_move_in_loc, + ] + ) + if domain_excluded_move_in_loc + else domain_move_in_loc + ) + domain_move_out_loc = ( + expression.AND( + [ + domain_excluded_move_out_loc, + domain_move_out_loc, + ] + ) + if domain_excluded_move_in_loc + else domain_move_out_loc + ) + return domain_quant_loc, domain_move_in_loc, domain_move_out_loc diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/stock_exclude_location_mixin.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/stock_exclude_location_mixin.py new file mode 100644 index 0000000..06b2f8e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/models/stock_exclude_location_mixin.py @@ -0,0 +1,37 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import api, fields, models +from odoo.tools.safe_eval import safe_eval + + +class StockExcludeLocationMixin(models.AbstractModel): + + _name = "stock.exclude.location.mixin" + _description = ( + "technical base module to allow defining excluded locations on an Odoo model" + ) + + stock_excluded_location_ids = fields.Many2many( + comodel_name="stock.location", + string="Stock Excluded Locations", + help="Fill in this field to exclude locations for product available" + "quantities.", + ) + stock_excluded_location_domain = fields.Binary( + compute="_compute_stock_excluded_location_domain", + help="Fill in this with the domain you want to exclude locations for " + "product available quantities", + ) + stock_excluded_location_domain_char = fields.Char( + default="[]", + string="Domain to filter locations", + help="Fill in this with the domain you want to exclude locations for " + "product available quantities", + ) + + @api.depends("stock_excluded_location_domain_char") + def _compute_stock_excluded_location_domain(self): + for record in self: + record.stock_excluded_location_domain = safe_eval( + record.stock_excluded_location_domain_char + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..2cb5bc6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Denis Roussel +* Xavier Bouquiaux diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/DESCRIPTION.rst new file mode 100644 index 0000000..9fc10b0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module is a technical base module to allow defining excluded locations +on an Odoo model. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/USAGE.rst new file mode 100644 index 0000000..0fb2bad --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/readme/USAGE.rst @@ -0,0 +1,6 @@ +In new module, inherit from "stock.exclude.location.mixin" model on +the wanted model. + +Then, when querying for product availability, add to context the key +"excluded_location_ids" with your model "stock_excluded_location_ids" +property. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/index.html new file mode 100644 index 0000000..9834f31 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/static/description/index.html @@ -0,0 +1,434 @@ + + + + + + +Stock Available Base Exclude Location + + + +
+

Stock Available Base Exclude Location

+ + +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module is a technical base module to allow defining excluded locations +on an Odoo model.

+

Table of contents

+ +
+

Usage

+

In new module, inherit from “stock.exclude.location.mixin” model on +the wanted model.

+

Then, when querying for product availability, add to context the key +“excluded_location_ids” with your model “stock_excluded_location_ids” +property.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

Current maintainer:

+

rousseldenis

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/__init__.py new file mode 100644 index 0000000..7e9fc5d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_exclude_location diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/common.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/common.py new file mode 100644 index 0000000..566a2ae --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/common.py @@ -0,0 +1,9 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import models + + +class ResPartner(models.Model): + + _name = "res.partner" + _inherit = ["res.partner", "stock.exclude.location.mixin"] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/test_stock_exclude_location.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/test_stock_exclude_location.py new file mode 100644 index 0000000..8a6261a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location/stock_available_base_exclude_location/tests/test_stock_exclude_location.py @@ -0,0 +1,124 @@ +# Copyright 2020 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo_test_helper import FakeModelLoader + +from odoo.tests.common import TransactionCase + +from odoo.addons.stock.models.stock_location import Location +from odoo.addons.stock.models.stock_move import StockMove + + +class TestExcludeLocation(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.loader = FakeModelLoader(cls.env, cls.__module__) + cls.loader.backup_registry() + from .common import ResPartner + + cls.loader.update_registry((ResPartner,)) + + cls.fake = cls.env["res.partner"].create({"name": "name"}) + cls.location_shop = cls.env.ref("stock.stock_location_stock") + vals = {"location_id": cls.location_shop.id, "name": "Sub Location 1"} + cls.sub_location_1 = cls.env["stock.location"].create(vals) + cls.sub_location_1._parent_store_compute() + cls.product = cls.env.ref("product.product_product_4") + + @classmethod + def tearDownClass(cls): + cls.loader.restore_registry() + super().tearDownClass() + + @classmethod + def _create_stock_move( + cls, quantity: float, location: Location, location_dest: Location + ) -> StockMove: + move = cls.env["stock.move"].create( + { + "name": "Move", + "location_id": location.id, + "location_dest_id": location_dest.id, + "product_id": cls.product.id, + "product_uom_qty": quantity, + "product_uom": cls.product.uom_id.id, + } + ) + move._action_confirm() + return move + + def _add_stock_to_product(self, product, location, qty): + """ + Set the stock quantity of the product + :param product: product.product recordset + :param qty: float + """ + self.env["stock.quant"].with_context(inventory_mode=True).create( + { + "product_id": product.id, + "location_id": location.id, + "inventory_quantity": qty, + } + )._apply_inventory() + + def test_exclude_location(self): + # Add different levels of stock for product as : + # Shop 0: 50.0 + # Sub Level (Shop 0 / Sub Location 1): 25.0 + # Query product stock availability normally and with excluded + # location as Sub Location 1 + self._add_stock_to_product(self.product, self.location_shop, 50.0) + self._add_stock_to_product(self.product, self.sub_location_1, 25.0) + self.fake.stock_excluded_location_ids = self.sub_location_1 + qty = self.product.with_context( + excluded_location_ids=self.fake.stock_excluded_location_ids + ).qty_available + self.assertEqual(50.0, qty) + self.product.invalidate_recordset() + qty = self.product.qty_available + self.assertEqual(75.0, qty) + + def test_exclude_location_domain(self): + # Add different levels of stock for product as : + # Shop 0: 50.0 + # Sub Level (Shop 0 / Sub Location 1): 25.0 + # Query product stock availability normally and with excluded + # location as Sub Location 1 + self._add_stock_to_product(self.product, self.location_shop, 50.0) + self._add_stock_to_product(self.product, self.sub_location_1, 25.0) + self.fake.stock_excluded_location_domain_char = ( + "[('location_id', 'not in', " + str(self.sub_location_1.ids) + ")]" + ) + qty = self.product.with_context( + excluded_location_domain=self.fake.stock_excluded_location_domain + ).qty_available + self.assertEqual(50.0, qty) + self.product.invalidate_recordset() + qty = self.product.qty_available + self.assertEqual(75.0, qty) + + def test_exclude_location_domain_in(self): + # Add different levels of stock for product as : + # Shop 0: 50.0 + # Sub Level (Shop 0 / Sub Location 1): 25.0 + # Query product stock availability normally and with excluded + # location as Supplier + self._add_stock_to_product(self.product, self.location_shop, 50.0) + self._add_stock_to_product(self.product, self.sub_location_1, 25.0) + self._create_stock_move( + 30.0, self.env.ref("stock.stock_location_suppliers"), self.sub_location_1 + ) + self.product.invalidate_recordset() + qty = self.product.with_context( + excluded_location_domain=self.fake.stock_excluded_location_domain + ).virtual_available + self.assertEqual(105.0, qty) + self.fake.stock_excluded_location_domain_char = ( + "[('location_id.usage', '!=', 'supplier')]" + ) + self.product.invalidate_recordset() + qty = self.product.with_context( + excluded_location_domain=self.fake.stock_excluded_location_domain + ).virtual_available + self.assertEqual(75.0, qty) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/README.md new file mode 100644 index 0000000..7ac0560 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/README.md @@ -0,0 +1,47 @@ +# Stock Available Exclude Location + +Odoo addon: stock_available_exclude_location + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location +``` + +## Dependencies + +This addon depends on: +- stock_available_base_exclude_location +- stock_location_children + +## Manifest Information + +- **Name**: Stock Available Exclude Location +- **Version**: 16.0.1.0.0 +- **Category**: Stock +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_exclude_location`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/ARCHITECTURE.md new file mode 100644 index 0000000..464e70c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_exclude_location Module - stock_available_exclude_location + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONFIGURATION.md new file mode 100644 index 0000000..9be7870 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_exclude_location. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/DEPENDENCIES.md new file mode 100644 index 0000000..3435276 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_available_base_exclude_location](https://github.com/bringout/oca-technical) +- [stock_location_children](https://github.com/bringout/oca-workflow-process) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/FAQ.md new file mode 100644 index 0000000..f72c105 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_exclude_location or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/INSTALL.md new file mode 100644 index 0000000..0ec88f6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/MODELS.md new file mode 100644 index 0000000..b048d8b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in stock_available_exclude_location. + +```mermaid +classDiagram + class res_company + class product_product + class res_config_settings +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/OVERVIEW.md new file mode 100644 index 0000000..43e0563 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_exclude_location. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_exclude_location +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/USAGE.md new file mode 100644 index 0000000..ec5645e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_exclude_location +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/pyproject.toml new file mode 100644 index 0000000..ae76de0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location" +version = "16.0.0" +description = "Stock Available Exclude Location - + Exclude locations for product available quantities" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-availability-stock_available_base_exclude_location>=16.0.0", + "odoo-bringout-oca-stock-logistics-availability-stock_location_children>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_exclude_location"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/README.rst new file mode 100644 index 0000000..0bf4ee8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/README.rst @@ -0,0 +1,93 @@ +================================ +Stock Available Exclude Location +================================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:a9e4e3a15e7581c6ceadd603145d336d2f238a42a52b13285fbd2342347c1694 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png + :target: https://odoo-community.org/page/development-status + :alt: Alpha +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_exclude_location + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_exclude_location + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allow defining excluded locations for product availability. + +.. IMPORTANT:: + This is an alpha version, the data model and design can change at any time without warning. + Only for development or testing purpose, do not use in production. + `More details on development status `_ + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +Go to **Inventory** > **Configuration** > **Settings**. + +- Find the Products section. +- In Excluded Locations for Availability, select the excluded locations. +- The selected locations and his children will be excluded from product availability. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Escodoo + +Contributors +~~~~~~~~~~~~ + +* `Escodoo `_: + + * Marcel Savegnago + * Wesley Oliveira + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__manifest__.py new file mode 100644 index 0000000..0e7f7e1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2024 - TODAY, Escodoo +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Available Exclude Location", + "summary": """ + Exclude locations for product available quantities""", + "version": "16.0.1.0.0", + "category": "Stock", + "license": "AGPL-3", + "author": "Escodoo,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "depends": [ + "stock_available_base_exclude_location", + "stock_location_children", + ], + "data": ["views/res_config_settings.xml"], + "installable": True, + "development_status": "Alpha", +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/bs.po new file mode 100644 index 0000000..5cee9c6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/bs.po @@ -0,0 +1,69 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_company +msgid "Companies" +msgstr "Kompanije" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_config_settings +msgid "Config Settings" +msgstr "Postavke" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "Domain to filter locations" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "Excluded Locations for Product Availability" +msgstr "Excluded Locations for Product Availability" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product available quantities." +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_product_product__excluded_location_ids +msgid "Locations to Exclude as Available" +msgstr "Locations to Exclude as Available" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "Stock Excluded Location Domain" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "Stock Excluded Locations" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/it.po new file mode 100644 index 0000000..ee5280f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/it.po @@ -0,0 +1,76 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-01-31 15:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "Dominio per filtrare le ubicazioni" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "Excluded Locations for Product Availability" +msgstr "Ubicazioni escluse da disponibilità prodotto" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product available quantities." +msgstr "" +"Riempire questo campo per escludere le ubicazioni da quantità disponibili " +"prodotto." + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" +"Compilare questo campo con il dominio che si vuole utilizzare per escludere " +"le ubicazioni per le quantità prodotto disponibili" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_product_product__excluded_location_ids +msgid "Locations to Exclude as Available" +msgstr "Ubicazioni da escludere da disponibili" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "Dominio ubicazione esclusa dalla giacenza" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "Ubicazioni escluse dalla giacenza" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/stock_available_exclude_location.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/stock_available_exclude_location.pot new file mode 100644 index 0000000..5863150 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/i18n/stock_available_exclude_location.pot @@ -0,0 +1,69 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "Domain to filter locations" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "Excluded Locations for Product Availability" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_config_settings__stock_excluded_location_ids +msgid "" +"Fill in this field to exclude locations for product available quantities." +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +#: model:ir.model.fields,help:stock_available_exclude_location.field_res_company__stock_excluded_location_domain_char +msgid "" +"Fill in this with the domain you want to exclude locations for product " +"available quantities" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_product_product__excluded_location_ids +msgid "Locations to Exclude as Available" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model,name:stock_available_exclude_location.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_domain +msgid "Stock Excluded Location Domain" +msgstr "" + +#. module: stock_available_exclude_location +#: model:ir.model.fields,field_description:stock_available_exclude_location.field_res_company__stock_excluded_location_ids +msgid "Stock Excluded Locations" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/__init__.py new file mode 100644 index 0000000..2b1c03d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/__init__.py @@ -0,0 +1,3 @@ +from . import product_product +from . import res_company +from . import res_config_settings diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/product_product.py new file mode 100644 index 0000000..7de8c55 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/product_product.py @@ -0,0 +1,47 @@ +# Copyright 2024 - TODAY, Wesley Oliveira +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class ProductProduct(models.Model): + + _inherit = "product.product" + + excluded_location_ids = fields.Many2many( + comodel_name="stock.location", + string="Locations to Exclude as Available", + compute="_compute_excluded_location_ids", + readonly=True, + ) + + @api.depends() + def _compute_excluded_location_ids(self): + self.update({"excluded_location_ids": False}) + stock_quants = self.env["stock.quant"].search( + [ + ("product_id", "in", self.ids), + ("on_hand", "=", True), + ] + ) + for product in self: + product_quants = stock_quants.filtered(lambda x: x.product_id == product) + if product_quants: + company_ids = product_quants.mapped(lambda x: x.company_id) + excluded_ids = company_ids.mapped( + lambda x: x.stock_excluded_location_ids + ) + if excluded_ids: + for excluded_location in excluded_ids: + excluded_ids |= excluded_location.children_ids + product.excluded_location_ids = excluded_ids + + def _compute_quantities_dict( + self, lot_id, owner_id, package_id, from_date=False, to_date=False + ): + context = dict( + self.env.context, excluded_location_ids=self.excluded_location_ids + ) + return super( + ProductProduct, self.with_context(**context) + )._compute_quantities_dict(lot_id, owner_id, package_id, from_date, to_date) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_company.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_company.py new file mode 100644 index 0000000..2ca4ffe --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_company.py @@ -0,0 +1,16 @@ +# Copyright 2024 - TODAY, Wesley Oliveira +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResCompany(models.Model): + + _name = "res.company" + _inherit = ["res.company", "stock.exclude.location.mixin"] + + stock_excluded_location_ids = fields.Many2many( + comodel_name="stock.location", + string="Stock Excluded Locations", + help="Fill in this field to exclude locations for product available quantities.", + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_config_settings.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_config_settings.py new file mode 100644 index 0000000..37327c5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/models/res_config_settings.py @@ -0,0 +1,17 @@ +# Copyright 2024 - TODAY, Wesley Oliveira +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + + _inherit = "res.config.settings" + + stock_excluded_location_ids = fields.Many2many( + comodel_name="stock.location", + related="company_id.stock_excluded_location_ids", + string="Excluded Locations for Product Availability", + help="Fill in this field to exclude locations for product available quantities.", + readonly=False, + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONFIGURE.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONFIGURE.rst new file mode 100644 index 0000000..9d81a70 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONFIGURE.rst @@ -0,0 +1,5 @@ +Go to **Inventory** > **Configuration** > **Settings**. + +- Find the Products section. +- In Excluded Locations for Availability, select the excluded locations. +- The selected locations and his children will be excluded from product availability. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..9617554 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* `Escodoo `_: + + * Marcel Savegnago + * Wesley Oliveira diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/DESCRIPTION.rst new file mode 100644 index 0000000..c42b2e9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allow defining excluded locations for product availability. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/index.html new file mode 100644 index 0000000..e6a5b95 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/static/description/index.html @@ -0,0 +1,443 @@ + + + + + +Stock Available Exclude Location + + + +
+

Stock Available Exclude Location

+ + +

Alpha License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module allow defining excluded locations for product availability.

+
+

Important

+

This is an alpha version, the data model and design can change at any time without warning. +Only for development or testing purpose, do not use in production. +More details on development status

+
+

Table of contents

+ +
+

Configuration

+

Go to Inventory > Configuration > Settings.

+
    +
  • Find the Products section.
  • +
  • In Excluded Locations for Availability, select the excluded locations.
  • +
  • The selected locations and his children will be excluded from product availability.
  • +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Escodoo
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/__init__.py new file mode 100644 index 0000000..d0e460e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/__init__.py @@ -0,0 +1 @@ +from . import test_exclude_location diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/test_exclude_location.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/test_exclude_location.py new file mode 100644 index 0000000..a8afe1c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/tests/test_exclude_location.py @@ -0,0 +1,79 @@ +# Copyright 2024 - TODAY, Wesley Oliveira +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from odoo.tests.common import TransactionCase + + +class TestExcludeLocation(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.company = cls.env.company + cls.warehouse = cls.env["stock.warehouse"].search( + [("company_id", "=", cls.company.id)] + ) + cls.location_1 = cls.env["stock.location"].create( + { + "company_id": cls.company.id, + "location_id": cls.warehouse.lot_stock_id.id, + "name": "Location 1", + } + ) + cls.location_2 = cls.env["stock.location"].create( + { + "company_id": cls.company.id, + "location_id": cls.warehouse.lot_stock_id.id, + "name": "Location 2", + } + ) + cls.sub_location_1 = cls.env["stock.location"].create( + { + "company_id": cls.company.id, + "location_id": cls.location_1.id, + "name": "Sub Location 1", + } + ) + cls.sub_location_2 = cls.env["stock.location"].create( + { + "company_id": cls.company.id, + "location_id": cls.location_2.id, + "name": "Sub Location 2", + } + ) + cls.product = cls.env["product.product"].create( + { + "name": "Test Product", + "type": "product", + } + ) + + def _add_stock_to_product(self, product, location, qty): + """ + Set the stock quantity of the product + :param product: product.product recordset + :param location: stock.location recordset + :param qty: float + """ + self.env["stock.quant"].create( + { + "product_id": product.id, + "location_id": location.id, + "quantity": qty, + } + ) + + def test_exclude_location(self): + # Add stock for the product and query product stock availability normally. + self.company.stock_excluded_location_ids = False + self._add_stock_to_product(self.product, self.location_1, 50.0) + self._add_stock_to_product(self.product, self.sub_location_1, 20.0) + self._add_stock_to_product(self.product, self.location_2, 20.0) + self._add_stock_to_product(self.product, self.sub_location_2, 10.0) + self.assertEqual(self.product.qty_available, 100) + + # Add location_2 as an excluded location in the company, so location_2 + # and his child sub_location_2 are excluded from product availability. + self.company.stock_excluded_location_ids = self.location_2 + self.product._compute_excluded_location_ids() + self.product._compute_quantities() + self.assertEqual(self.product.qty_available, 70) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/views/res_config_settings.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/views/res_config_settings.xml new file mode 100644 index 0000000..962175e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_exclude_location/stock_available_exclude_location/views/res_config_settings.xml @@ -0,0 +1,37 @@ + + + + + + res.config.settings.view.form.inherit.stock (in stock_available_exclude_location) + res.config.settings + + +
+
+
+
+
+
+
+
+ +
+
+ +
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/README.md new file mode 100644 index 0000000..800e629 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/README.md @@ -0,0 +1,46 @@ +# Ignore planned receptions in quantity available to promise + +Odoo addon: stock_available_immediately + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately +``` + +## Dependencies + +This addon depends on: +- stock_available + +## Manifest Information + +- **Name**: Ignore planned receptions in quantity available to promise +- **Version**: 16.0.1.0.1 +- **Category**: Hidden +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_immediately`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/ARCHITECTURE.md new file mode 100644 index 0000000..0b47c3b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_immediately Module - stock_available_immediately + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONFIGURATION.md new file mode 100644 index 0000000..0369bfa --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_immediately. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/DEPENDENCIES.md new file mode 100644 index 0000000..aa8b807 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock_available](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/FAQ.md new file mode 100644 index 0000000..f895242 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_immediately or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/INSTALL.md new file mode 100644 index 0000000..8533264 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/MODELS.md new file mode 100644 index 0000000..deafbc8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/MODELS.md @@ -0,0 +1,12 @@ +# Models + +Detected core models and extensions in stock_available_immediately. + +```mermaid +classDiagram + class product_product +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/OVERVIEW.md new file mode 100644 index 0000000..3946462 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_immediately. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_immediately +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/USAGE.md new file mode 100644 index 0000000..9529cb3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_immediately +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/pyproject.toml new file mode 100644 index 0000000..e26c2d0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_immediately" +version = "16.0.0" +description = "Ignore planned receptions in quantity available to promise - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-availability-stock_available>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_immediately"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/README.rst new file mode 100644 index 0000000..b97bb2c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/README.rst @@ -0,0 +1,90 @@ +========================================================== +Ignore planned receptions in quantity available to promise +========================================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e4ee9969625ee50efc268998243abe4585844fbed70373f00f11bf4feb8c593d + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_immediately + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_immediately + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Normally the quantity available to promise is based on the virtual stock, +which includes both planned outgoing and incoming goods. +This module will subtract the planned receptions from the quantity available to +promise. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp +* Sodexis +* Sergio Díaz + +Contributors +~~~~~~~~~~~~ + +* Author: Guewen Baconnier (Camptocamp SA) +* Sébastien BEAU (Akretion) +* Lionel Sausin (Numérigraphe) +* Sodexis +* Cédric Pigeon +* Sergio Díaz +* `Tecnativa `_: + + * Pedro M. Baeza +* Florian da Costa + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__init__.py new file mode 100644 index 0000000..83e553a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__manifest__.py new file mode 100644 index 0000000..598eeb2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/__manifest__.py @@ -0,0 +1,16 @@ +# Copyright 2014 Camptocamp, Akretion, Numérigraphe +# Copyright 2016 Sodexis +# Copyright 2019 Sergio Díaz +# Copyright 2020 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Ignore planned receptions in quantity available to promise", + "version": "16.0.1.0.1", + "depends": ["stock_available"], + "website": "https://github.com/OCA/stock-logistics-availability", + "author": "Camptocamp,Sodexis,Odoo Community Association (OCA),Sergio Díaz", + "license": "AGPL-3", + "category": "Hidden", + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/bs.po new file mode 100644 index 0000000..5ca2b4d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/bs.po @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ca.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ca.po new file mode 100644 index 0000000..e98bc76 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ca.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Producte" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/cs_CZ.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/cs_CZ.po new file mode 100644 index 0000000..6216c93 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/cs_CZ.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# Lukáš Spurný , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-27 11:37+0000\n" +"PO-Revision-Date: 2018-02-27 11:37+0000\n" +"Last-Translator: Lukáš Spurný , 2018\n" +"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/" +"teams/23907/cs_CZ/)\n" +"Language: cs_CZ\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>=2 && n<=4) ? 1 : 2;\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produkt" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/de.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/de.po new file mode 100644 index 0000000..cedb745 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/de.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produkt" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/el_GR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/el_GR.po new file mode 100644 index 0000000..5b01dac --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/el_GR.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Προϊόν" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es.po new file mode 100644 index 0000000..e11c48f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2023-02-01 10:46+0000\n" +"Last-Translator: FranciscoFactorLibre \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" +"X-Generator: Weblate 4.14.1\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Variantes de producto" + +#~ msgid "Product" +#~ msgstr "Producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_ES.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_ES.po new file mode 100644 index 0000000..493f16b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_ES.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_MX.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_MX.po new file mode 100644 index 0000000..609808c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/es_MX.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/eu.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/eu.po new file mode 100644 index 0000000..1e4ee47 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/eu.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produktua" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fi.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fi.po new file mode 100644 index 0000000..2d5be4e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fi.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Tuote" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr.po new file mode 100644 index 0000000..96b60a7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2025-01-01 12:06+0000\n" +"Last-Translator: samibc2c \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" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Variante de produit" + +#~ msgid "Product" +#~ msgstr "Article" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_CH.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_CH.po new file mode 100644 index 0000000..b710411 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_CH.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produit" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_FR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_FR.po new file mode 100644 index 0000000..bf0f629 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/fr_FR.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produit" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/gl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/gl.po new file mode 100644 index 0000000..a0df5da --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/gl.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr.po new file mode 100644 index 0000000..9dc682a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2023-01-04 12:45+0000\n" +"Last-Translator: Bole \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" +"X-Generator: Weblate 4.14.1\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#~ msgid "Product" +#~ msgstr "Proizvod" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr_HR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr_HR.po new file mode 100644 index 0000000..152e2d6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/hr_HR.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Proizvod" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/it.po new file mode 100644 index 0000000..07b487a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/it.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2023-11-24 16:35+0000\n" +"Last-Translator: mymage \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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#~ msgid "Product" +#~ msgstr "Prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl.po new file mode 100644 index 0000000..5b19fe3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Product" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl_NL.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl_NL.po new file mode 100644 index 0000000..3ac968b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/nl_NL.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Product" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt.po new file mode 100644 index 0000000..6bc8bf9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 10.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-03 01:23+0000\n" +"PO-Revision-Date: 2017-06-03 01:23+0000\n" +"Last-Translator: OCA Transbot , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt_BR.po new file mode 100644 index 0000000..7d3fd76 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/pt_BR.po @@ -0,0 +1,30 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2024-05-21 00:58+0000\n" +"Last-Translator: Rodrigo Macedo \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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Variante do Produto" + +#~ msgid "Product" +#~ msgstr "Produto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ro.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ro.po new file mode 100644 index 0000000..7324c7e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ro.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produs" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ru.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ru.po new file mode 100644 index 0000000..3f2094a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/ru.po @@ -0,0 +1,29 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Товар/Услуга" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/sl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/sl.po new file mode 100644 index 0000000..50a66ee --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/sl.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Proizvod" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/stock_available_immediately.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/stock_available_immediately.pot new file mode 100644 index 0000000..8a50431 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/stock_available_immediately.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr.po new file mode 100644 index 0000000..badd199 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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: 2025-02-19 17:06+0000\n" +"Last-Translator: İsmail Çağan Yılmaz \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" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "Ürün Varyantı" + +#~ msgid "Product" +#~ msgstr "Ürün" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr_TR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr_TR.po new file mode 100644 index 0000000..e3c58cf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/tr_TR.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Ürün" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/vi_VN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/vi_VN.po new file mode 100644 index 0000000..816d469 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/vi_VN.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Sản phẩm" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/zh_CN.po new file mode 100644 index 0000000..da8d8c0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/i18n/zh_CN.po @@ -0,0 +1,28 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately +# +# Translators: +# OCA Transbot , 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 , 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_immediately +#: model:ir.model,name:stock_available_immediately.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "产品" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/__init__.py new file mode 100644 index 0000000..586a7ef --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import product_product diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/product_product.py new file mode 100644 index 0000000..90a0d4b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/models/product_product.py @@ -0,0 +1,22 @@ +# Copyright 2014 Camptocamp, Akretion, Numérigraphe +# Copyright 2016 Sodexis +# Copyright 2019 Sergio Díaz +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, models + + +class ProductProduct(models.Model): + _inherit = "product.product" + + def _compute_available_quantities_dict(self): + res, stock_dict = super()._compute_available_quantities_dict() + for product in self: + res[product.id]["immediately_usable_qty"] -= stock_dict[product.id][ + "incoming_qty" + ] + return res, stock_dict + + @api.depends("virtual_available", "incoming_qty") + def _compute_available_quantities(self): + return super()._compute_available_quantities() diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..efc2cf7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/CONTRIBUTORS.rst @@ -0,0 +1,10 @@ +* Author: Guewen Baconnier (Camptocamp SA) +* Sébastien BEAU (Akretion) +* Lionel Sausin (Numérigraphe) +* Sodexis +* Cédric Pigeon +* Sergio Díaz +* `Tecnativa `_: + + * Pedro M. Baeza +* Florian da Costa diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/DESCRIPTION.rst new file mode 100644 index 0000000..920e88b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +Normally the quantity available to promise is based on the virtual stock, +which includes both planned outgoing and incoming goods. +This module will subtract the planned receptions from the quantity available to +promise. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/index.html new file mode 100644 index 0000000..9033040 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/static/description/index.html @@ -0,0 +1,438 @@ + + + + + +Ignore planned receptions in quantity available to promise + + + +
+

Ignore planned receptions in quantity available to promise

+ + +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

Normally the quantity available to promise is based on the virtual stock, +which includes both planned outgoing and incoming goods. +This module will subtract the planned receptions from the quantity available to +promise.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
  • Sodexis
  • +
  • Sergio Díaz
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/__init__.py new file mode 100644 index 0000000..84148ec --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_available_immediately diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/test_stock_available_immediately.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/test_stock_available_immediately.py new file mode 100644 index 0000000..8822f20 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately/stock_available_immediately/tests/test_stock_available_immediately.py @@ -0,0 +1,124 @@ +# Copyright 2014 Camptocamp, Akretion, Numérigraphe +# Copyright 2016 Sodexis +# Copyright 2019 Sergio Díaz +# Copyright 2020 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class TestStockLogisticsWarehouse(TransactionCase): + def test01_stock_levels(self): + """ + Checking that immediately_usable_qty actually reflects the variations + in stock, both on product and template. + """ + moveObj = self.env["stock.move"] + templateObj = self.env["product.template"] + supplier_location = self.env.ref("stock.stock_location_suppliers") + stock_location = self.env.ref("stock.stock_location_stock") + customer_location = self.env.ref("stock.stock_location_customers") + uom_unit = self.env.ref("uom.product_uom_unit") + + # Create product template with 2 variant + templateAB = templateObj.create( + {"name": "templAB", "uom_id": uom_unit.id, "type": "product"} + ) + self.env["product.template.attribute.line"].create( + { + "product_tmpl_id": templateAB.id, + "attribute_id": self.env.ref("product.product_attribute_2").id, + "value_ids": [ + ( + 6, + 0, + [ + self.env.ref("product.product_attribute_value_3").id, + self.env.ref("product.product_attribute_value_4").id, + ], + ) + ], + } + ) + + # Create product A and B + productA = templateAB.product_variant_ids[0] + productB = templateAB.product_variant_ids[1] + + # Create a stock move from INCOMING to STOCK + stockMoveInA = moveObj.create( + { + "location_id": supplier_location.id, + "location_dest_id": stock_location.id, + "name": "MOVE INCOMING -> STOCK ", + "product_id": productA.id, + "product_uom": productA.uom_id.id, + "product_uom_qty": 2, + } + ) + + stockMoveInB = moveObj.create( + { + "location_id": supplier_location.id, + "location_dest_id": stock_location.id, + "name": "MOVE INCOMING -> STOCK ", + "product_id": productB.id, + "product_uom": productB.uom_id.id, + "product_uom_qty": 3, + } + ) + + def compare_product_usable_qty(product, value): + # Refresh, because the function field is not recalculated between + # transactions + product.invalidate_model() + self.assertEqual(product.immediately_usable_qty, value) + + compare_product_usable_qty(productA, 0) + compare_product_usable_qty(templateAB, 0) + + stockMoveInA._action_confirm() + compare_product_usable_qty(productA, 0) + compare_product_usable_qty(templateAB, 0) + + stockMoveInA._action_assign() + compare_product_usable_qty(productA, 0) + compare_product_usable_qty(templateAB, 0) + + stockMoveInA.move_line_ids.write({"qty_done": 2.0}) + stockMoveInA._action_done() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(templateAB, 2) + + # will directly trigger action_done on productB + stockMoveInB._action_confirm() + stockMoveInB._action_assign() + stockMoveInB.move_line_ids.write({"qty_done": 3.0}) + stockMoveInB._action_done() + compare_product_usable_qty(productA, 2) + compare_product_usable_qty(productB, 3) + compare_product_usable_qty(templateAB, 5) + + # Create a stock move from STOCK to CUSTOMER + stockMoveOutA = moveObj.create( + { + "location_id": stock_location.id, + "location_dest_id": customer_location.id, + "name": " STOCK --> CUSTOMER ", + "product_id": productA.id, + "product_uom": productA.uom_id.id, + "product_uom_qty": 1, + "state": "confirmed", + } + ) + + stockMoveOutA._action_confirm() + stockMoveOutA._action_assign() + stockMoveOutA.move_line_ids.write({"qty_done": 1.0}) + stockMoveOutA._action_done() + compare_product_usable_qty(productA, 1) + compare_product_usable_qty(templateAB, 4) + + # Potential Qty is set as 0.0 by default + self.assertEqual(templateAB.potential_qty, 0.0) + self.assertEqual(productA.potential_qty, 0.0) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/README.md new file mode 100644 index 0000000..45cd418 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/README.md @@ -0,0 +1,47 @@ +# Exclude locations from immediately usable quantity + +Odoo addon: stock_available_immediately_exclude_location + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location +``` + +## Dependencies + +This addon depends on: +- stock_available_immediately +- stock_available_location_get_domain + +## Manifest Information + +- **Name**: Exclude locations from immediately usable quantity +- **Version**: 16.0.1.1.1 +- **Category**: Hidden +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_immediately_exclude_location`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/ARCHITECTURE.md new file mode 100644 index 0000000..613435e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_immediately_exclude_location Module - stock_available_immediately_exclude_location + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONFIGURATION.md new file mode 100644 index 0000000..c28d497 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_immediately_exclude_location. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/DEPENDENCIES.md new file mode 100644 index 0000000..b5b4379 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_available_immediately](https://github.com/bringout/oca-technical) +- [stock_available_location_get_domain](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/FAQ.md new file mode 100644 index 0000000..9a24657 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_immediately_exclude_location or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/INSTALL.md new file mode 100644 index 0000000..17541cc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/MODELS.md new file mode 100644 index 0000000..305b8f2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_available_immediately_exclude_location. + +```mermaid +classDiagram + class product_product + class stock_location +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/OVERVIEW.md new file mode 100644 index 0000000..44ed8f9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_immediately_exclude_location. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_immediately_exclude_location +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/USAGE.md new file mode 100644 index 0000000..b93fecf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_immediately_exclude_location +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/pyproject.toml new file mode 100644 index 0000000..97629e0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location" +version = "16.0.0" +description = "Exclude locations from immediately usable quantity - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-availability-stock_available_immediately>=16.0.0", + "odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_immediately_exclude_location"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/README.rst new file mode 100644 index 0000000..7e6e8f6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/README.rst @@ -0,0 +1,82 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +================================================== +Exclude locations from immediately usable quantity +================================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:c1266d6e6e7eba099a49230e29e83ba5e9f27a579d2382bd06df7335f79b2ca5 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_immediately_exclude_location + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_immediately_exclude_location + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a boolean to exclude the tagged stock locations +from the stock available immediately. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Author: Hughes Damry +* Laurent Mignon + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__init__.py new file mode 100644 index 0000000..83e553a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__manifest__.py new file mode 100644 index 0000000..628c632 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/__manifest__.py @@ -0,0 +1,14 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Exclude locations from immediately usable quantity", + "version": "16.0.1.1.1", + "website": "https://github.com/OCA/stock-logistics-availability", + "author": "ACSONE SA/NV,Odoo Community Association (OCA)", + "license": "AGPL-3", + "depends": ["stock_available_immediately", "stock_available_location_get_domain"], + "data": ["views/stock_location.xml"], + "category": "Hidden", + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/bs.po new file mode 100644 index 0000000..6a64354 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/bs.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,field_description:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "Exclude from immediately usable quantity" +msgstr "Exclude from immediately usable quantity" + +#. module: stock_available_immediately_exclude_location +#: model_terms:ir.ui.view,arch_db:stock_available_immediately_exclude_location.stock_location_search_view +msgid "Excluded from immediately usable quantities" +msgstr "Excluded from immediately usable quantities" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_stock_location +msgid "Inventory Locations" +msgstr "Lokacije inventure" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,help:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "This property is not inherited by children locations" +msgstr "This property is not inherited by children locations" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/it.po new file mode 100644 index 0000000..b3350ba --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/it.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-04-10 08:41+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,field_description:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "Exclude from immediately usable quantity" +msgstr "Esclude dalla quantità immediatamente utilizzabile" + +#. module: stock_available_immediately_exclude_location +#: model_terms:ir.ui.view,arch_db:stock_available_immediately_exclude_location.stock_location_search_view +msgid "Excluded from immediately usable quantities" +msgstr "Esclude dalle quantità immediatamente usabili" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_stock_location +msgid "Inventory Locations" +msgstr "Ubicazioni di inventario" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,help:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "This property is not inherited by children locations" +msgstr "Questa proprietà non è ereditata dalle ubicazioni figlie" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/stock_available_immediately_exclude_location.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/stock_available_immediately_exclude_location.pot new file mode 100644 index 0000000..a52d8d8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/i18n/stock_available_immediately_exclude_location.pot @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_immediately_exclude_location +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,field_description:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "Exclude from immediately usable quantity" +msgstr "" + +#. module: stock_available_immediately_exclude_location +#: model_terms:ir.ui.view,arch_db:stock_available_immediately_exclude_location.stock_location_search_view +msgid "Excluded from immediately usable quantities" +msgstr "" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model,name:stock_available_immediately_exclude_location.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_available_immediately_exclude_location +#: model:ir.model.fields,help:stock_available_immediately_exclude_location.field_stock_location__exclude_from_immediately_usable_qty +msgid "This property is not inherited by children locations" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/__init__.py new file mode 100644 index 0000000..2d07ffc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/__init__.py @@ -0,0 +1,4 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import product_product +from . import stock_location diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/product_product.py new file mode 100644 index 0000000..d0d6bdf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/product_product.py @@ -0,0 +1,152 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import api, fields, models +from odoo.osv import expression +from odoo.tools import ormcache_context + + +class ProductProduct(models.Model): + + _inherit = "product.product" + + def _compute_available_quantities_dict(self): + """ + change the way immediately_usable_qty is computed by deducing the quants + in excluded locations + """ + res, stock_dict = super()._compute_available_quantities_dict() + excluded_qty_dict = ( + self._get_qty_available_in_locations_excluded_from_immadiatly_usable_qty() + ) + for product_id, qty in excluded_qty_dict.items(): + res[product_id]["immediately_usable_qty"] -= qty + return res, stock_dict + + def _get_qty_available_in_locations_excluded_from_immadiatly_usable_qty(self): + """Return a dict of qty available by product + into excluded locations. If no location is excluded + retrurn an empty dict + """ + exclude_location_ids = ( + self._get_location_ids_excluded_from_immediately_usable_qty() + ) + if not exclude_location_ids: + return {} + + context = self.env.context + to_date = context.get("to_date") + to_date = fields.Datetime.to_datetime(to_date) + dates_in_the_past = False + if to_date and to_date < fields.Datetime.now(): + dates_in_the_past = True + + # we use strict=True to avoid time consuming query criteria on location + # to get children locations of the excluded locations. The method + # _get_location_ids_excluded_from_immediately_usable_qty has already + # resolved the children locations of the excluded locations. + products_with_excluded_loc = self.with_context( + location=exclude_location_ids, strict=True + ) + + if dates_in_the_past: + # we call the original _compute_quantities_dict since + # the qty_available will be computed from quants and + # moves + excluded_qty_dict = products_with_excluded_loc._compute_quantities_dict( + context.get("lot_id"), + context.get("owner_id"), + context.get("package_id"), + context.get("from_date"), + to_date, + ) + return {p: q["qty_available"] for p, q in excluded_qty_dict.items()} + # we are not in the past, the qty available is the sum of quant's qties + # into the exluded locations. A simple read_group will do the job. + # By avoiding the call to _compute_quantities_dict, we avoid 2 useless + # queries to the database to retrieve the incoming and outgoing moves + # that are not needed here and therefore improve the performance. + ( + domain_quant_loc, + _domain_move_in_loc, + _domain_move_out_loc, + ) = products_with_excluded_loc._get_domain_locations() + domain_quant = [("product_id", "in", self.ids)] + domain_quant_loc + quant = self.env["stock.quant"].with_context(active_test=False) + return { + item["product_id"][0]: item["quantity"] + for item in quant._read_group( + domain_quant, + ["product_id", "quantity"], + ["product_id"], + orderby="id", + ) + } + + @api.model + @ormcache_context( + "tuple(self.env.companies.ids)", keys=("tuple(location)", "tuple(warehouse)") + ) + def _get_location_ids_excluded_from_immediately_usable_qty(self): + """ + Return the ids of the locations that should be excluded from the + immediately_usable_qty. This method return the ids of leaf locations + that are excluded from the immediately_usable_qty and the children of + the view locations that are excluded from the immediately_usable_qty. + """ + locations = self._get_locations_excluded_from_immediately_usable_qty() + view_locations = locations.filtered(lambda l: l.usage == "view") + # we must exclude the children of the view locations + locations |= self.env["stock.location"].search( + [ + ("location_id", "child_of", view_locations.ids), + ("usage", "in", ["internal", "transit"]), + ] + ) + return locations.ids + + @api.model + def _get_locations_excluded_from_immediately_usable_qty(self): + return self.env["stock.location"].search( + self._get_domain_location_excluded_from_immediately_usable_qty() + ) + + @api.model + def _get_domain_location_excluded_from_immediately_usable_qty(self): + """ + Parses the context and returns a list of location_ids based on it that + should be excluded from the immediately_usable_qty + """ + location_domain = self.env[ + "product.product" + ]._get_domain_location_for_locations() + return expression.AND( + [location_domain, [("exclude_from_immediately_usable_qty", "=", True)]] + ) + + def _get_domain_locations_new(self, location_ids): + # We override this method to add the possibility to work with a strict + # context parameter. This parameter is used to force the method to + # restrict the domain to the location_ids passed as parameter in place + # if considering all locations children of the location_ids. + # Prior to Odoo 16, this behavior was possible by setting the context + # parameter 'compute_child' to False. This parameter has been removed + # in Odoo 16 in commit https://github.com/odoo/odoo/commit/ + # f054af31b098d8cb1ef64369e857a36c70918033 and reintroduced in Odoo >= 17 + # in commit https://github.com/odoo/odoo/commit/ + # add97b3c2dc1df70d22f87047cf012463f3e12c4 as 'strict' context parameter. + # The original design of this addon developped for Odoo 10 has always + # been to consider only the locations passed as parameter and not their + # children to avoid performance issues. This is why we reintroduce this + # behavior. + if not self.env.context.get("strict"): + return super()._get_domain_locations_new(location_ids) + + location_ids = list(location_ids) + loc_domain = [("location_id", "in", location_ids)] + dest_loc_domain = [("location_dest_id", "in", location_ids)] + return ( + loc_domain, + dest_loc_domain + ["!"] + loc_domain if loc_domain else dest_loc_domain, + loc_domain + ["!"] + dest_loc_domain if dest_loc_domain else loc_domain, + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/stock_location.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/stock_location.py new file mode 100644 index 0000000..9c8de18 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/models/stock_location.py @@ -0,0 +1,34 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class StockLocation(models.Model): + + _inherit = "stock.location" + + exclude_from_immediately_usable_qty = fields.Boolean( + "Exclude from immediately usable quantity", + default=False, + index=True, + help="This property is not inherited by children locations", + ) + + @api.model_create_multi + def create(self, vals_list): + res = super().create(vals_list) + self._invalidate_location_ids_excluded_from_immediatley_usable_qty_cache() + return res + + def write(self, vals): + res = super().write(vals) + if "exclude_from_immediately_usable_qty" in vals: + self._invalidate_location_ids_excluded_from_immediatley_usable_qty_cache() + return res + + def _invalidate_location_ids_excluded_from_immediatley_usable_qty_cache(self): + product_model = self.env["product.product"] + product_model._get_location_ids_excluded_from_immediately_usable_qty.clear_cache( + product_model + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..c5cbe78 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Author: Hughes Damry +* Laurent Mignon \ No newline at end of file diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/DESCRIPTION.rst new file mode 100644 index 0000000..12b16a2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module adds a boolean to exclude the tagged stock locations +from the stock available immediately. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/index.html new file mode 100644 index 0000000..078eff0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/static/description/index.html @@ -0,0 +1,431 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Exclude locations from immediately usable quantity

+ +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module adds a boolean to exclude the tagged stock locations +from the stock available immediately.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/__init__.py new file mode 100644 index 0000000..7e9fc5d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_exclude_location diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/test_stock_exclude_location.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/test_stock_exclude_location.py new file mode 100644 index 0000000..710977c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/tests/test_stock_exclude_location.py @@ -0,0 +1,86 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.tests.common import TransactionCase + + +class TestStockLogisticsWarehouse(TransactionCase): + @classmethod + def setUpClass(cls) -> None: + super().setUpClass() + cls.move_model = cls.env["stock.move"] + cls.uom_unit = cls.env.ref("uom.product_uom_unit") + cls.product = cls.env["product.product"].create( + { + "name": "Product Test", + "uom_id": cls.uom_unit.id, + "type": "product", + } + ) + cls.supplier_location = cls.env.ref("stock.stock_location_suppliers") + cls.stock_location = cls.env.ref("stock.stock_location_stock") + cls.pack_location = cls.env.ref("stock.location_pack_zone") + cls.pack_location.usage = "view" + (cls.stock_location | cls.pack_location).write({"active": True}) + + cls.pack_child_location = cls.env["stock.location"].create( + { + "name": "Pack Child Location", + "location_id": cls.pack_location.id, + "usage": "internal", + } + ) + + def test01(self): + location_ids = (self.stock_location | self.pack_location).ids + ctx_loc = {"location": location_ids} + move_stock = self.move_model.create( + { + "location_id": self.supplier_location.id, + "location_dest_id": self.stock_location.id, + "name": "MOVE STOCK ", + "product_id": self.product.id, + "product_uom": self.product.uom_id.id, + "product_uom_qty": 15, + } + ) + move_pack = self.move_model.create( + { + "location_id": self.supplier_location.id, + "location_dest_id": self.pack_child_location.id, + "name": "MOVE PACK ", + "product_id": self.product.id, + "product_uom": self.product.uom_id.id, + "product_uom_qty": 5, + } + ) + (move_stock | move_pack)._action_confirm() + (move_stock | move_pack)._action_assign() + move_stock.move_line_ids.write({"qty_done": 7.0}) + move_stock._action_done() + q = self.product.with_context(**ctx_loc).immediately_usable_qty + self.assertEqual(q, 7.0) + move_pack.move_line_ids.write({"qty_done": 4.0}) + move_pack._action_done() + q = self.product.with_context(**ctx_loc).immediately_usable_qty + self.assertEqual(q, 11.0) + self.pack_location.exclude_from_immediately_usable_qty = True + self.product.invalidate_recordset() # force recompute + q = self.product.with_context(**ctx_loc).immediately_usable_qty + self.assertEqual(q, 7.0) + # test with a date in the past + self.product.invalidate_recordset() + q = self.product.with_context( + **ctx_loc, to_date="2023-01-01" + ).immediately_usable_qty + self.assertEqual(q, 0.0) + + def test_get_excluded_location_ids(self): + self.pack_location.exclude_from_immediately_usable_qty = True + excluded_location_ids = ( + self.product._get_location_ids_excluded_from_immediately_usable_qty() + ) + self.assertEqual( + set(excluded_location_ids), + set(self.pack_location.ids + self.pack_child_location.ids), + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/views/stock_location.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/views/stock_location.xml new file mode 100644 index 0000000..de05c30 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_immediately_exclude_location/stock_available_immediately_exclude_location/views/stock_location.xml @@ -0,0 +1,33 @@ + + + + + stock.location.form (in + alc_stock_available_immediately) + + stock.location + + + + + + + + + stock.location.search (in alc_stock_available_immediately) + stock.location + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/README.md new file mode 100644 index 0000000..6a8c575 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/README.md @@ -0,0 +1,46 @@ +# Stock Available Location Get Domain + +Odoo addon: stock_available_location_get_domain + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Available Location Get Domain +- **Version**: 16.0.1.0.0 +- **Category**: N/A +- **License**: AGPL-3 +- **Installable**: False + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_location_get_domain`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/ARCHITECTURE.md new file mode 100644 index 0000000..3ba5470 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_location_get_domain Module - stock_available_location_get_domain + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONFIGURATION.md new file mode 100644 index 0000000..9982e9b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_location_get_domain. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/FAQ.md new file mode 100644 index 0000000..cd7cdb4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_location_get_domain or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/INSTALL.md new file mode 100644 index 0000000..ca4497b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/MODELS.md new file mode 100644 index 0000000..6b154ba --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/MODELS.md @@ -0,0 +1,12 @@ +# Models + +Detected core models and extensions in stock_available_location_get_domain. + +```mermaid +classDiagram + class product_product +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/OVERVIEW.md new file mode 100644 index 0000000..93da056 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_location_get_domain. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_location_get_domain +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/USAGE.md new file mode 100644 index 0000000..3d6558d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_location_get_domain +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/pyproject.toml new file mode 100644 index 0000000..d717a37 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/pyproject.toml @@ -0,0 +1,44 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain" +version = "16.0.0" +description = "Stock Available Location Get Domain - + This is a technical helper module in order to reuse the standard + _get_domain_locations() function for locations and not quants" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_location_get_domain"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/README.rst new file mode 100644 index 0000000..fa0a6ad --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/README.rst @@ -0,0 +1,85 @@ +=================================== +Stock Available Location Get Domain +=================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:8b04413c9094d905f88d2ca7f0605e84941e2cbc2e6215a03885a96e7da936e4 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_location_get_domain + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_location_get_domain + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This is a technical helper module in order to reuse the standard +_get_domain_locations function for locations and not quants. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Call the new _get_domain_location_for_locations() function on products in order +to retrieve a domain for stock locations with the same context behavior as +for product availability. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Denis Roussel +* Laurent Mignon + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__manifest__.py new file mode 100644 index 0000000..2bf19ad --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/__manifest__.py @@ -0,0 +1,14 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Available Location Get Domain", + "summary": """ + This is a technical helper module in order to reuse the standard + _get_domain_locations() function for locations and not quants""", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "depends": ["stock"], +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/bs.po new file mode 100644 index 0000000..549ab5d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/bs.po @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_location_get_domain +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_location_get_domain +#: model:ir.model,name:stock_available_location_get_domain.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/it.po new file mode 100644 index 0000000..5aca707 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/it.po @@ -0,0 +1,22 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_location_get_domain +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-02-13 11:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available_location_get_domain +#: model:ir.model,name:stock_available_location_get_domain.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/stock_available_location_get_domain.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/stock_available_location_get_domain.pot new file mode 100644 index 0000000..0954632 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/i18n/stock_available_location_get_domain.pot @@ -0,0 +1,19 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_location_get_domain +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_location_get_domain +#: model:ir.model,name:stock_available_location_get_domain.model_product_product +msgid "Product Variant" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/__init__.py new file mode 100644 index 0000000..5c74c8c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/__init__.py @@ -0,0 +1 @@ +from . import product_product diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/product_product.py new file mode 100644 index 0000000..071930d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/models/product_product.py @@ -0,0 +1,200 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +import itertools + +from odoo import models +from odoo.osv import expression +from odoo.osv.expression import ( + DOMAIN_OPERATORS, + FALSE_LEAF, + TERM_OPERATORS, + TERM_OPERATORS_NEGATION, + TRUE_LEAF, +) + +# The following methods comes from odoo 18.0 odoo.osv.expression +# Copyrigth Odoo SA + + +def _tree_from_domain(domain): + """Return the domain as a tree, with the following structure:: + + ::= ('?', ) + | ('!', ) + | ('&', , , ...) + | ('|', , , ...) + | (, , ) + + By construction, AND (``&``) and OR (``|``) nodes are n-ary and have at + least two children. Moreover, AND nodes (respectively OR nodes) do not have + AND nodes (resp. OR nodes) in their children. + """ + stack = [] + for item in reversed(domain): + if item == "!": + stack.append(_tree_not(stack.pop())) + elif item == "&": + stack.append(_tree_and((stack.pop(), stack.pop()))) + elif item == "|": + stack.append(_tree_or((stack.pop(), stack.pop()))) + elif item == TRUE_LEAF: + stack.append(("?", True)) + elif item == FALSE_LEAF: + stack.append(("?", False)) + else: + lhs, comparator, rhs = item + if comparator in ("any", "not any"): + rhs = _tree_from_domain(rhs) + stack.append((comparator, lhs, rhs)) + return _tree_and(reversed(stack)) + + +def _tree_not(tree): + """Negate a tree node.""" + if tree[0] == "=?": + # already update operator '=?' here, so that '!' is distributed correctly + assert len(tree) == 3 + if tree[2]: + tree = ("=", tree[1], tree[2]) + else: + return ("?", False) + if tree[0] == "?": + return ("?", not tree[1]) + if tree[0] == "!": + return tree[1] + if tree[0] == "&": + return ("|", *(_tree_not(item) for item in tree[1:])) + if tree[0] == "|": + return ("&", *(_tree_not(item) for item in tree[1:])) + if tree[0] in TERM_OPERATORS_NEGATION: + return (TERM_OPERATORS_NEGATION[tree[0]], tree[1], tree[2]) + return ("!", tree) + + +def _tree_and(trees): + """Return the tree given by AND-ing all the given trees.""" + children = [] + for tree in trees: + if tree == ("?", True): + pass + elif tree == ("?", False): + return tree + elif tree[0] == "&": + children.extend(tree[1:]) + else: + children.append(tree) + if not children: + return ("?", True) + if len(children) == 1: + return children[0] + return ("&", *children) + + +def _tree_or(trees): + """Return the tree given by OR-ing all the given trees.""" + children = [] + for tree in trees: + if tree == ("?", True): + return tree + elif tree == ("?", False): + pass + elif tree[0] == "|": + children.extend(tree[1:]) + else: + children.append(tree) + if not children: + return ("?", False) + if len(children) == 1: + return children[0] + return ("|", *children) + + +# End of copyrigth Odoo SA + + +def _extract_subtree(tree, submodel_field): + result_tree = [] + op = tree[0] + if op in DOMAIN_OPERATORS: + for subdomain in tree[1:]: + subtree = _extract_subtree(subdomain, submodel_field) + if subtree: + result_tree.append(subtree) + if len(result_tree) == 1: + result_tree = result_tree[0] + else: + result_tree = (op, *result_tree) + elif op in TERM_OPERATORS: + fname = tree[1] + if submodel_field in fname: + if fname == submodel_field: + fname = "id" + else: + fname = fname.replace(submodel_field + ".", "") + result_tree = (op, fname, tree[2]) + return result_tree + + +def _tree_to_domain(tree): + """Convert a tree to a domain.""" + op = tree[0] + result = [] + if op in DOMAIN_OPERATORS: + sub_flattened = [_tree_to_domain(item) for item in tree[1:]] + # the subtree is a n-ary operator. We need to add n-1 operator + # to become a valid domain + result.extend(op * (len(sub_flattened) - 1)) + result.extend(itertools.chain.from_iterable(sub_flattened)) + elif op in TERM_OPERATORS: + result = (tree[1], op, tree[2]) + return result + + +def tree_to_domain(tree): + """Convert a tree to a domain.""" + flattened = _tree_to_domain(tree) + result_domain = [] + leaf = [] + for item in flattened: + if item in DOMAIN_OPERATORS: + leaf = [] + result_domain.append(item) + else: + leaf.append(item) + if len(leaf) == 3: + result_domain.append(tuple(leaf)) + leaf = [] + return result_domain + + +def extract_subdomains(domain, submodel_field): + """Extract the subdomains from a domain-like structure. + + :param domain: a domain-like structure + :param submodel_field: the field name of the submodel + :return: a list of subdomains + """ + domain = expression.normalize_domain(domain) + domain = expression.distribute_not(domain) + tree = _tree_from_domain(domain) + subtree = _extract_subtree(tree, submodel_field) + domain = [] + if subtree: + domain = tree_to_domain(subtree) + if expression.is_leaf(domain): + domain = [domain] + return domain + + +class ProductProduct(models.Model): + + _inherit = "product.product" + + def _get_domain_location_for_locations(self): + """ + Adapt the domain computed for stock.quant for stock.location + """ + quant_domain = self._get_domain_locations()[0] + subdomain = extract_subdomains(quant_domain, "location_id") + return subdomain diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..0ce075f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Denis Roussel +* Laurent Mignon diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/DESCRIPTION.rst new file mode 100644 index 0000000..c71b802 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This is a technical helper module in order to reuse the standard +_get_domain_locations function for locations and not quants. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/USAGE.rst new file mode 100644 index 0000000..38fd191 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/readme/USAGE.rst @@ -0,0 +1,3 @@ +Call the new _get_domain_location_for_locations() function on products in order +to retrieve a domain for stock locations with the same context behavior as +for product availability. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<_!7(87ZLn`LHt*tDHIlA-t`n>mR!&YzIGHsf8<B$$Um>gET_{naxk1`20D+ zGK1xw!NbPN2|bO89~+N%pEppq=(kLCGSX2uHprJ_E^{*IKIp)+&2id6vuztyvNuL$ zdA^-?<<(!k&+e;bY|S+1xq)99o0@Rk`trRhp89;eyjLw{_#}Fd?PYlPp~B|v=eA_19fIY=^}d z`Y&%tFz9&nD2bzqq3^N7Y3E5x%2bvfyytoH4a>tliVpGd_uqPi)yOgkI3;YpnXolV zu}g_VQNUGDSy{Q`_+thJ&q)fNm%Ljh{I-=l|6ob#z6OiuoDV+#yjCpp-J;>E$(bCp z!w(A@1ehEJBp7+vm>Cp=Iu%5?97SBcnhpjE?J=>;544!GndL*(UcJdDzeqD|zicr1 zB+Kr*e2YIu-<|%v(v6{Vhej6%TXV!XHp{%V<0*k8n&wuV=P@CM@diu2MB$aErCl1|Wb=;ABZB1k~ z_h&QV=Hey>W@hHnmI>mVimzY(p5dc*Bgd>DX4lfyQy6T{FBf#s-KW4IAt~voG%?}2 zOJGfAO3IUeZEbCtD^>imnJV_iO~0CT*NLN2#v@Eb^n2E$n76T&^VrXSeqiAj%%pL6 z(M63z4-G;E6g@93Q1QH-c5cqkoO^M3O$ND~1>fG>yv?b&U$JF}iYJpIOWNj{Uq6e? zyyrh@i3rn-v(L8ti2Ck5sU^Xn!$s-fqmD&8!UbA>zkc3 ziU$rHaF}~BqejMP^SKO@Lpf%~zhzJ8?7BL^L&eC8!E}XZr-w?DhsvZ!o>NpZPic2v zZennDcJ}v}bmWYc6NiqNx0n6;?MJl_Ph~m5wzO2CU4et6)k)K9kpf4)o6aPU zSLF3*ii(4Q#G1(}FI}BZR4GKRa9b>>Ho0?V>CUiyVM|Y{I+(E#x-H9v*zSvrgWYDY;)+L z0gK}V;lyYYskuU4kESR(7)UJnwx_#orq8lHUp~)#q$k=wg@|In{oEpvuoF`&Aya(%9u-w zvFYG~(+LKD+8*z?eUsUJd0b}i`QV<=&F8<_oqGLAPeEKYKzH7~F#Rs2V7sTu99b{D zCVfe>k=wt2;lhQskGp#XStm1G%qZ!;m|>&4zNY!$gk^WN7ha9pa%gH{(ZPx-wzK4a zs^6~dbYXf}Ah9rj<6}ikcpayr`AnZ>&w`ixLS?`q;$0^Y1a_@mf z-`D7@M|C=DD|DVsySJlicSFw06WZP9jHlfG9aUJY*r4LM;bsm;tJ8U|rVYFd$5v}R zo64{;qDS>uVa%*Z_7~UB86Q0#DtKm!oGQatmNYNz;MYqppMI*`m{quW>Edrbo|6*H zW(UT_ojaz@#?Jno$sscGrsypFbe^h=j6G3~$4&#>dorqjo!*2RH}>j&R| z8x}wFiC7!vG3kg}43o$2X~}DTIjWtwe8pKww|8!s(b|H_sxQ&`|B4&WrZt~_np7-W zU0r?g>eZ=gsmGf4tmo@LaD zn!M^+c;6^|ZJtJ_!~f?_0!|#KPM=QPew$I{?$xzx*Gfo9ow8h;b3&W($;?kbYdBb# zW>^-hb#--JdURp>i7T=hGrO~{U;P!l^~=+#UhL^k3k7CpEUM{ua`5D;Y!wq1U%X^V z%h~D|@7^7oX`CMN{w(_^J;o=J-YP;F+1bvnuB@w8t-9pnC>0+0z^f=FXxf*o^HJv) z-v6?A%><{8GSeA8YCB@|(mGk19ZSl}ltj3m?!EL>LxWM{Po4c_wxdUnW{S>VJHdGC zjG8Cr)0@tg$653>AAXqNHBW)#L)G3FZ{Mb#pR9b}WyS_sCzn7McX#$Ve(GswW=yl9))tt96$K7#7I?tqQ`>OtGSz-n^)=DOg?8EC*s3-h3Rg`!tL9| z4<-m~-MZCarVnf4cDW0RFP(%O{2XSVZJRVn$ZglZe{~gm~^x#st$phB>A=9iiSO6EXp3PI@wy_#!?q(vZ^qd)0Vjb@mkW3A_D-BQam%S|K`u`d zv%2GsH#LiBqm@+k$s*3kLWXafa;HYui`TE6 z{r&sj*@&ECVo-Br%82bhnq*P?%S1~{D%|2UTHTTSZ0j|~y zH*a=U*sNQ*J7Zx$+RG(nj9C&A5(h3^5Xj2Py7Ayl#b@J-TnfhvHMF#n_zVI?9)7J7 zZ_-w*eGP) z3RLx9tMoLWtTt-KH6exRO>%N_$4;E!Shad}@ST%CUF=jC-a5_kQ;$xV<)QN6Yn7pq z(V<5x9M>*Q-}FCoj^=8XXTftWO@H_DrDI^A;GMkfuVk8QY|?FhZoBjvk$H8{E>N^^@;Gp0FH?sEUBrf8k(9Xqjx=CS+n>esJ&%&-cYRj;OnnSLY*t@ z*iYP@c3sJ7pH!41M}Wp;*GVcr{?@fPDekzNcUALgvg^9aG7FgvH*?NxS-dt*S9hz| zmF!z-MV!x>gLiRXa59l{4G$Oh^7j6$#9K6xNo_Lc(W6J#XiG^-HlBZ;{I8m8tyhpV z=he?Sy7y0180PL`FlAwCoU`;`gs-DjmizN3f#usSO`h&~B)x0;$vfIdBp8lvdByZ( z0jpsD@r!rw@-Dy3IsNof%{t>=tF+VWuV%I0%}by4{lNo;KXvxElgy&!u6|mgdh6<= z)pyNR*D~l9PUCk<`8Rc5rJo&D3tgEOU+h@4Na@+h$CYw+^Z6eZSR}`7`8023 z($ni(OBkPStx34$!C`FMEY~_FTTjpe)!-$MXBCJ>(~2-o(#6L z4)>2!>$R7jxNME6LEwpHiNTXECT&cSjaf8r&!R<(L{#+!I1(~4JU&-uoeynG-DN&| zsY3m9pL>TsCV2I+rZ_DV56{-z7{OCpTdSd`=O_5GC}M5cvy;q|q|Lv4|DL{PLCmk> zwSP1(Ul#ftrE-FuYY|J@sRX^5*Ntu#^=f+xwY9ek_PPbe#LU^GX>#>L;}SkY1A~SP z6RTx^Rz3AxUvGbV#eAc@eYQ%=@cZwZ8KoF< zKB!6XELy%?ed(v;v-EeyE&LX(&HL2!SG3%^J>`2eGQ*;2T?H9B-P`ZT<1nDK4Dd+|<V8ya+Ae>& zc#)%f88(!>yrf;Sw}Fi-o7Lk0&wl3fIdwd2%O!X3yV;z3dt0MGQ}+73V%*|-XKpY4 za^p@_)UAjK-Rl z9%!O5PluQzSVfB)i*i?=s7i(|vdj3b|(p1xVM%W1-b1ijsj`sWlBRr{lg zD^G3wG(9}|9e?FxO-k6KF+(V#G*kB0Ju9Zk2RWLJzpC(^=NCIw=Wbh;#%&5lgX(40^uYHXSwpdfHypTB+U$&^D~PftHA z+wJIaslI5%PD{(%83_%%rO&HP4Au)dy!-G_Monb)TMl(4k1y^)66XtLPD$Bn#04}O zw?_$D+s+9VU*K*d-Rm}G%9IV6(VZ?#O$r;9Mn=61+-`99rixg%q72{WwTVS1owt3L zkdr&Me10w4}9`wIcoZ)cW1*E6cydfF|(NKC&9zkv8W?LhpqYG1hs$06OTVE*uW*g!uYUY#@ZJr z-8?FHe2SKPe)+tev(m%^uHvy%HhEk9oin{)aQoEyEzi+<9L?fx`Yd^dU(y?NZ=|8U6r4;<>im~PTom=eeOYyZbZ`Q_YiriU$Fxw3O++Tp{8GjelXBO@il*2bLF z3S0Z&shr0yWA)sRS!-o3q~E{1^8UpPk&O{Ob9vG>MwpzJn6&)o*N=~1ym@h;z<`5c z#rpNfA93p)_$aK-;CYC(TWn+Xlb~_%Do@PJ#jpLJvO6$r{ztN z8<#nq8U-0xI0GHlpFdvqX3_4>&o=%4{?*m|J1V}4*;K5XRaI3rr=PLPL-_7Oli=$U zecw;;X5M{wo)Yh(iy60C0#c94SX2nO_sgYD_1`_+!=!6-`uR<=P8v_v?q9sPxpj4< z-p@lVJ{&9mw{PY6d-=CT@dD9>4gycTR|RffD7Sb0e1{4JjtMD>eEj^(3_LRJrPE{C zrk`$2Fz5(gyY@v!{_)0U_Koj0osMw4m17oWQSv$U=d~?ae>YyMH`RDN!$-|xu3wpy zgso4MCa=;&j(^+o<^R;#uL;u@(}`g45OUyoi z98Ay7&OW~GVvX-f&xImct-BvRTwVAk-p=ts3xE3lm(JJM33q%vY3HZZFwyvcRa8f5 z@iT+X$6uBtJ^l2wKt%N6jg83`1s@dF?fT?(Z9R8WgNqVl^T7#08Z$i>Ea$%P>AkR1 zKu8G7=9_1}G-jA|xhOI2zRMRV@ZsO@_sJ?Ehk7K93tp;DU$R8gQ>f*lUS2{1sAo}{ z`}gnP47(bMg#jGXW2-cs77Ao#X9w?U*R&O5$k=X@q!6*|X;I0ZN|Cp__q+A!&XXRCcrrm|)vvB${*gtao7f=b$h9YPmjU$fT`iJ^K0dftfrr%=6{;{duKb zGS{+ssrU4{*(WbPj#;c0VYw669(X;9$9M`Ev8CRa$FecZY4gWYOoGnySjf#%!!_ZDoCPYq$O` zj;mL%W>$tvr<`KvTE?7mI^pYg@g=Q=GVPl-8O^b+7Gtin*Seb*p(B>o?>(vIwEq4% zU%$q!pWf*+`)=RP;%5mbA03_bZAX;cSFt4;T@_Czx(o2NU%Ygwsa?KKBK!Kf)a%|} zULQWH&u@5ap%b-5!_|C&%7SOfnVFi`)<(DY+y9fWIe$27>!G)0$zNB6&ic9J#C8#l z6_OtRpErqWhdtQ){odh|lhqBEuj||TDME*hK{NZ)x4JKaw_~-%x*rB8G&r~OJ?#4W zIxswZ`ON)3|F?d4)UE&Mtoi*T-TyzapAov-!GGl9*5@i|u~!*5h4$Fmg38M^k((bB zSX?S$X87@BvVXv%qQuB#Wv#n;e?Cl$p5UR9U?O!{tvTZ?!>miO3`Z-D1V?6Sis?l( z1ncVl_|vVwq3WvEhnk|0z;#dNS{AqU-jd{DtFV#d;p0=1;CXa-Z?$3hyO@}Ld9l}Q zQctbc=(@2zUmn!3ICsu3C-##u&%PqAW((6Q;|KpY$e#ZH(rVl0bWcxCFE1|vzV_gf z=EL!IopJN|Mf1u}89#}B!uTq9zfmdc@6S|>{r~s<=Gj-sr?6UZcab^_~V24|8MVq`1bDZj-ShB2gJqA`xax$-nS_L)K=T`DL&pIDO{h& za6!>Yo-_Xs8VM|Cy|=%n_uSw64ihF>_et}xeX!}@oPOSDW1i8>3necEs;a6IOr$m@ z9p!2{oH*m`Gm-BmwcDarU;i~<-{;jK0jEie^RM(QKE9ICGbm&{o(okKdip(d=F>wN?-bw)R8-W5 zo5A%*Z$>a|zHYMMqr6_~_1Nz*O#eIOc;?GC-PwEd?bk>D_kLtsVP{Z86JrO2YaQhb9)`^h2O#+EN###s?n^D(1Bxe|(UC-Try9zm??IFHr8ec`E32 zy`90sZ026KECVQA&#-?bmAhj7adBVYjI69fy8>JN z;~Y*)NngBkr{{1xzxv&cU0bGpeA>aT^yAb28m{k)qD=lh7S+72;>l#uv@d^;fdtQt zotc6iiZ`dtnmwD5A$020jEoG2)Kt~o{dq=${l{`_UzbyQSz;XzjM1GcLYPjg>*S#s$8_ruRWFI=@s>+P;v z#wwnN7CyIQVbJ;c@YR+sMuz{-V+C9Uw`xCcGFI!1-d~{jN?gy!@cEPbUv6$;ys-Gm zN|D9Jldq=PhYCFocCHvj#--njYty&g*! z|7Q77V|R7S6$RIdFS6c#Nt&5!{7wrivbg{M&REcL_|NQV8-H80a!0?OeN0zNE2&s; zrAdd2l4R-Rn#Bu*oqF7q-;`NPzgcj2h0XcZe0MbJwJ!%Nciet^?AF$7!T#eP&so1; zuzY!YY`=?=#oddHo|7g>d{s?(_5J1Y;_rnXlUPLFHZ~iQHU^mPglHh9-?gUyrJV#2Sj%#+NMk9wGj#uk^6# zawhTr&tG3I;oSQ!dTrg@bFMuuN^gEdS}k20uzTH;xeP_cy;_w~!JDs4=#;qmZvD!Y z2j6bL+xF~Pnv883j}SxS^P4s{wq46qJPjt~@9lHH_fIB%Z>>N|NpJAiNi%o+xY)~Z zGH1KCDg*E7Yeg$fJXC~o%7jh(pL$)aW>xm5`@qN}&BW|+jcBy@FH z;?-553M~o$|NZ^(Y4!S&`~DmU??_8O{Jn_#-ZVc4r%j(Y3l5%L9k9Q$G^}v_)Ou4* zhr?4Z9Z4}dm|(EsBg-q5#fMLL$tJEjp$(ea*|mFjU{utpX$gTn?pI!~wb=Uq^Ru&u zFD4&1ab2PHP{%Fi&l5Kuleq^U%w&|XV19OQlTL0C+g^L|@40$^%@sY!^oOnVGzt!KWSS@-}L8$qPFjIod70ylQ2U%f4{7t;{ERe%IKQl$WQ^xxFs!TB>pW zm38SxZ=WQdxuYR$x{ay9{zu(uZKHkFm zS&NZF@s9QTJ)7^oEV1)A+~cOKrKNR4<$R9RUbkJzT$j6)r!!`4fiYlX>gj2(&GYX3m~r^w z3~MRA-FN#|ty(puS9{qE-G78GXK-_x^Y@0Uy7*7NHB{hZ6N zYhrttzWY5+1_Pl2hE;Wc9?QoU-Ok-^`>JT?v`f=B-OO3BZk^xl1(|C^SDE)D6%+_K zZ2EAwOEbzO=I7j%la4E~KDo}~=wKk>llj%=e0x+>RN3Db?)Ja(8Tyz!6#Uo5^)(4J zsLor%s@=fqZ~OHM|Mj)e-y3e`q%F6fI(_I~pAxoamFao>%+#>-BO*i*BY68&^k8h9zFjS67GY*MGU_{@*(_ z_36+7x8>vq3mTzxglvWi!4I``G9S7%w5_HMm& z_0cI+2UpkDRqFov`{!z|6Ju;TsL-^S+f8%V?%m&Q{(Lz6fA7wnKb;v4Yb30mo_vUd z!9YlWAyqqk-JTx@+2#NIoMTy>x8(ZSG~=wSEF-H4Dw^B({=IT3z>8t$aX)>=DG#eS z1Y~1Hb?p80ggU>xy|c6U_+@|lzg7)qJ`Ss=Cp&Q-kegLgt=w=ldVAj9XRlVT|5u%5 z#ME&5Y18q?o;OXCdCp(>{_V)Jw@Z#dn?k5&! zPUlu@WpL;+(O}*1<>~bJeXIBFt25r4XCn3RV?{tz)T-GmRi$jIj8_(1-F0Z{j> z9~RvD=>&>`?Dc!U9S^*`j=RC4>U~T2u_b~HsSlzvH#}Ik``xZb)1vc!R!={DG^{P? zuEOP$@;kM1(*(UYsz?{+*EWr%0!NEC|ND>K=TpI(@BY`A&c@fy zymjl=Rn|4noj5AR9kypIFNKgL4(&He%5F*C)k{C|MuqQ z=H%Dc)><>xbTV0%9P83_Wl(UH5@GytZ?eB#<(}0yUl#_f zc)ND{yWB7Fa^tKZG??(8_4v~j~zv#C?3 zeyFgKWS>6eVG-v7H-*%hE5813QrNIK`Kd+SpC7BY->Z79%`l7Mhaqe9UYX!o3?fEK zXCikNJv{{~$kdCUo!QwKXFmJv4AX3}IeyF68M5s9xkSaYz(PiH{@Spg&d$ytcilW$ zTu|@oXWOeV zzDn^0ZVZ((TbvYs)a;wG@mGe)t?k*@*U8@Ap8sFE;V^^K47as$eVLvhgVGoxe*O7; z{{EhdkB`oloNGLo02-FMUDlgaQ86QQ)2#N1v&yzyJw2~|+qP}7{`P;rtUi18?0lvd zjzw+fwq$)R^2ugm&{Q#CjM$ucd0A!o-O}rGKUuQ#wKE&1pK}QeEYjn;J1K0^k}bUR z8=ojn+PinJX1Bi6!hqZJ|9x40f8U2g-13j3FXu&VtFl~X%czm!vVwKPmy_!A_k1~} zy?)R643kZg9;T+IE7q>{Rct6?Tz&qzx8zn~7R8b$Cnkc!_CNOnhDl!crd)sb_0b$f zh6!rCVfxYAa*hf6+Y~Op)0na`A|NK_%rS-+o8CAmfEHkwTzyx**j9JL<~ zvRlhlKAG5Gz_+c+@|-6VLuOrb_cYz;u)hbG`R{1VFJACW<5Sh%YEX^W{_NQ^X9mCI zkdw^k_MT!tmk0{12MkvjGXC5=U$^bSwdnl4;qM%nCM~-goxgW$^6zhN=QCPxC^QxC zc%*qQlPN&s58Ga* Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/index.html new file mode 100644 index 0000000..f548cc0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/static/description/index.html @@ -0,0 +1,432 @@ + + + + + +Stock Available Location Get Domain + + + +
+

Stock Available Location Get Domain

+ + +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This is a technical helper module in order to reuse the standard +_get_domain_locations function for locations and not quants.

+

Table of contents

+ +
+

Usage

+

Call the new _get_domain_location_for_locations() function on products in order +to retrieve a domain for stock locations with the same context behavior as +for product availability.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ACSONE SA/NV
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/__init__.py new file mode 100644 index 0000000..bbff51c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/__init__.py @@ -0,0 +1 @@ +from . import test_location_domain diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/test_location_domain.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/test_location_domain.py new file mode 100644 index 0000000..0382755 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_location_get_domain/stock_available_location_get_domain/tests/test_location_domain.py @@ -0,0 +1,192 @@ +# Copyright 2023 ACSONE SA/NV +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). + +from unittest import mock + +from odoo.tests.common import TransactionCase + + +class TestStockLocationDomain(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.warehouse = cls.env.ref("stock.warehouse0") + cls.stock_1 = cls.env["stock.location"].create( + { + "name": "Stock 1", + "location_id": cls.warehouse.lot_stock_id.id, + } + ) + + cls.stock_1_1 = cls.env["stock.location"].create( + { + "name": "Stock 1.1", + "location_id": cls.stock_1.id, + } + ) + + cls.warehouse_2 = cls.env["stock.warehouse"].create( + { + "name": "Warehouse 2", + "code": "WH2", + } + ) + + cls.stock_2 = cls.env["stock.location"].create( + { + "name": "Stock 2", + "location_id": cls.warehouse_2.lot_stock_id.id, + } + ) + + cls.stock_2_1 = cls.env["stock.location"].create( + { + "name": "Stock 2.1", + "location_id": cls.stock_2.id, + } + ) + + def assertLocationDomain(self, quant_domain, expected): + product_product = self.env["product.product"] + with mock.patch.object( + product_product.__class__, + "_get_domain_locations", + return_value=[quant_domain], + ): + domain = product_product._get_domain_location_for_locations() + self.assertEqual(domain, expected) + + def test_domain(self): + locations = self.env["stock.location"].search( + self.env["product.product"]._get_domain_location_for_locations() + ) + self.assertTrue(self.stock_1.id in locations.ids) + self.assertTrue(self.stock_1_1.id in locations.ids) + + locations = self.env["stock.location"].search( + self.env["product.product"] + .with_context(location=self.stock_1_1.id) + ._get_domain_location_for_locations() + ) + + self.assertEqual(self.stock_1_1, locations) + + locations = self.env["stock.location"].search( + self.env["product.product"] + .with_context(warehouse=self.warehouse_2.id) + ._get_domain_location_for_locations() + ) + + self.assertTrue(self.stock_2.id in locations.ids) + self.assertTrue(self.stock_2_1.id in locations.ids) + + self.assertFalse(self.stock_1.id in locations.ids) + self.assertFalse(self.stock_1_1.id in locations.ids) + + def test_quant_domain_parsing_1(self): + self.assertLocationDomain([("location_id", "=", 1)], [("id", "=", 1)]) + + def test_quant_domain_parsing_2(self): + self.assertLocationDomain([("location_id.name", "=", 1)], [("name", "=", 1)]) + + def test_quant_domain_parsing_3(self): + self.assertLocationDomain([("id", "=", 1)], []) + + def test_quant_domain_parsing_4(self): + quant_domain = [ + "&", + "|", + ("id", "=", 1), + ("location_id.name", "=", "test"), + ("location_id.name", "=", "test2"), + ] + + self.assertLocationDomain( + quant_domain, ["&", ("name", "=", "test"), ("name", "=", "test2")] + ) + + def test_quant_domain_parsing_5(self): + quant_domain = [ + "&", + "|", + ("id", "=", 1), + ("location_id.name", "=", "test"), + "|", + ("location_id.name", "=", "test2"), + ("location_id.name", "=", "test3"), + ] + + self.assertLocationDomain( + quant_domain, + [ + "&", + ("name", "=", "test"), + "|", + ("name", "=", "test2"), + ("name", "=", "test3"), + ], + ) + + def test_quant_domain_parsing_6(self): + quant_domain = [ + "&", + "|", + ("id", "=", 1), + ("location_id.name", "=", "test"), + "|", + ("name", "=", "test2"), + ("location_id.name", "=", "test3"), + ] + + self.assertLocationDomain( + quant_domain, ["&", ("name", "=", "test"), ("name", "=", "test3")] + ) + + def test_quant_domain_parsing_7(self): + quant_domain = [ + "|", + "|", + ("location_id.name", "=", "test"), + ("location_id.name", "=", "test2"), + ("location_id.name", "=", "test3"), + ] + + self.assertLocationDomain( + quant_domain, + [ + "|", + "|", + ("name", "=", "test"), + ("name", "=", "test2"), + ("name", "=", "test3"), + ], + ) + + def test_quant_domain_parsing_8(self): + quant_domain = [ + "|", + "|", + ("name", "=", "test"), + ("location_id.name", "=", "test2"), + ("location_id.name", "=", "test3"), + ] + + self.assertLocationDomain( + quant_domain, ["|", ("name", "=", "test2"), ("name", "=", "test3")] + ) + + def test_quant_domain_parsing_9(self): + quant_domain = [ + "&", + "|", + ("id", "=", 1), + ("location_id.name", "=", "test"), + "|", + ("location_id", "=", 1), + ("location_id.name", "=", "test3"), + ] + + self.assertLocationDomain( + quant_domain, + ["&", ("name", "=", "test"), "|", ("id", "=", 1), ("name", "=", "test3")], + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/README.md new file mode 100644 index 0000000..648853c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/README.md @@ -0,0 +1,47 @@ +# Consider the production potential is available to promise + +Odoo addon: stock_available_mrp + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_mrp +``` + +## Dependencies + +This addon depends on: +- stock_available +- mrp + +## Manifest Information + +- **Name**: Consider the production potential is available to promise +- **Version**: 16.0.1.1.0 +- **Category**: Hidden +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_mrp`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/ARCHITECTURE.md new file mode 100644 index 0000000..5c42ebe --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_mrp Module - stock_available_mrp + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONFIGURATION.md new file mode 100644 index 0000000..3a74ac3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_mrp. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/DEPENDENCIES.md new file mode 100644 index 0000000..88f6f03 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_available](https://github.com/bringout/oca-technical) +- [mrp](https://github.com/bringout/oca-ocb-mrp/tree/9a98a954badbed600c34241c3523e8b177878602/odoo-bringout-oca-ocb-mrp) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/FAQ.md new file mode 100644 index 0000000..2c6965a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_mrp or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/INSTALL.md new file mode 100644 index 0000000..44397fa --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_mrp" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_mrp" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/MODELS.md new file mode 100644 index 0000000..1c6fb1a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/MODELS.md @@ -0,0 +1,12 @@ +# Models + +Detected core models and extensions in stock_available_mrp. + +```mermaid +classDiagram + class product_product +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/OVERVIEW.md new file mode 100644 index 0000000..967bbf8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_mrp. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_mrp +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/USAGE.md new file mode 100644 index 0000000..dd1d118 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_mrp +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/pyproject.toml new file mode 100644 index 0000000..429c31c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_mrp" +version = "16.0.0" +description = "Consider the production potential is available to promise - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-availability-stock_available>=16.0.0", + "odoo-bringout-oca-ocb-mrp>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_mrp"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/README.rst new file mode 100644 index 0000000..fdc6adf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/README.rst @@ -0,0 +1,140 @@ +========================================================= +Consider the production potential is available to promise +========================================================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e6f6a385b0f5ef7f6a95fff8cc68cfe7cb4e6832323c98d873bc806255582515 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_mrp + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_mrp + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module takes the potential quantities available for Products into account in +the quantity available to promise, where the "Potential quantity" is the +quantity that can be manufactured with the components immediately at hand. +By configuration, the "Potential quantity" can be computed based on other product field. +For example, "Potential quantity" can be the quantity that can be manufactured +with the components available to promise. + +**Table of contents** + +.. contents:: + :local: + +Known issues / Roadmap +====================== + +Known issues +~~~~~~~~~~~~ +The manufacturing delays are not taken into account : this module assumes that +if you have components in stock goods, you can manufacture finished goods +quickly enough. + +As a consequence, and to avoid overestimating, **only the first level** of Bill +of Materials is considered. + +However Sets (a.k.a "phantom" BoMs) are taken into account: if a component must +be replaced with a set, it's the stock of the set's product which will decide +the potential. + +If a product has several variants, only the variant with the biggest potential +will be taken into account when reporting the production potential. For +example, even if you actually have enough components to make 10 iPads 16Go AND +42 iPads 32Go, we'll consider that you can promise only 42 iPads. + +Removed features +~~~~~~~~~~~~~~~~ +Previous versions of this module used to let programmers demand to get the +potential quantity in an arbitrary Unit of Measure using the `context`. This +feature was present in the standard computations too until v8.0, but it has +been dropped from the standard from v8.0 on. + +For the sake of consistency the potential quantity is now always reported in +the product's main Unit of Measure too. + +Roadmap +~~~~~~~ +Possible improvements for future versions: + +* Take manufacturing delays into account: we should not promise goods to + customers if they want them delivered earlier that we can make them +* Compute the quantity of finished product that can be made directly on each + Bill of Material: this would be useful for production managers, and may make + the computations faster by avoiding to compute the same BoM several times + when several variants share the same BoM. +* Add an option (probably as a sub-module) to consider all raw materials as + available if they can be bought from the suppliers in time for the + manufacturing. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Numérigraphe + +Contributors +~~~~~~~~~~~~ + +* Loïc Bellier (Numérigraphe) +* Lionel Sausin (Numérigraphe) +* many thanks to Graeme Gellatly for his advice and code review +* Laurent Mignon +* Cédric Pigeon +* Florian da Costa +* Joan Mateu + +* `Tecnativa `_: + + * Víctor Martínez + +* `Trobz `_: + + * Khoi Vo + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__init__.py new file mode 100644 index 0000000..2f72d6f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2014 Numérigraphe SARL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__manifest__.py new file mode 100644 index 0000000..46cdbcc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/__manifest__.py @@ -0,0 +1,13 @@ +# Copyright 2014 Numérigraphe SARL, Camptocamp +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Consider the production potential is available to promise", + "version": "16.0.1.1.0", + "author": "Numérigraphe," "Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "category": "Hidden", + "depends": ["stock_available", "mrp"], + "demo": ["demo/mrp_data.xml"], + "license": "AGPL-3", + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/demo/mrp_data.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/demo/mrp_data.xml new file mode 100644 index 0000000..4e7b818 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/demo/mrp_data.xml @@ -0,0 +1,47 @@ + + + + PCSC234-WHITE + + + + + + + + + + + Bolt + + 1.0 + 5.0 + product + + + BOLT-WHITE + + + + 4 + + 5 + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/bs.po new file mode 100644 index 0000000..692c5e7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/bs.po @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Matica" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/ca.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/ca.po new file mode 100644 index 0000000..a05d967 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/ca.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2022-08-17 12:07+0000\n" +"Last-Translator: jabelchi \n" +"Language-Team: none\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" +"X-Generator: Weblate 4.3.2\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Cargol" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Producte" + +#~ msgid "Table Kit" +#~ msgstr "Kit de taula" + +#~ msgid "Table kit" +#~ msgstr "Kit de taula" + +#~ msgid "Units" +#~ msgstr "Unitats" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/de.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/de.po new file mode 100644 index 0000000..c243f05 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/de.po @@ -0,0 +1,39 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +# Rudolf Schnapka , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-14 01:38+0000\n" +"PO-Revision-Date: 2016-01-14 09:35+0000\n" +"Last-Translator: Rudolf Schnapka \n" +"Language-Team: German (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-8-0/language/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_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Produkt" + +#~ msgid "Product Template" +#~ msgstr "Produktvorlage" + +#~ msgid "Thousand" +#~ msgstr "Tausend" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/es.po new file mode 100644 index 0000000..b924d34 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/es.po @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-14 01:38+0000\n" +"PO-Revision-Date: 2023-10-15 20:37+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: Spanish (http://www.transifex.com/oca/" +"OCA-stock-logistics-warehouse-8-0/language/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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Perno" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "Variante del Producto" + +#~ msgid "Display Name" +#~ msgstr "Mostrar Nombre" + +#~ msgid "ID" +#~ msgstr "ID (identificación)" + +#~ msgid "Last Modified on" +#~ msgstr "Última Modificación el" + +#~ msgid "Product" +#~ msgstr "Producto" + +#~ msgid "Table Kit" +#~ msgstr "Conjunto de mesa" + +#~ msgid "Table kit" +#~ msgstr "Conjunto de mesa" + +#~ msgid "Units" +#~ msgstr "Unidades" + +#~ msgid "kg" +#~ msgstr "kilogramos" + +#~ msgid "m³" +#~ msgstr "metros cúbicos" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fi.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fi.po new file mode 100644 index 0000000..84df15a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fi.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-14 01:38+0000\n" +"PO-Revision-Date: 2016-01-13 16:35+0000\n" +"Last-Translator: <>\n" +"Language-Team: Finnish (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-8-0/language/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_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Tuote" + +#~ msgid "Product Template" +#~ msgstr "Tuotteen malli" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fr.po new file mode 100644 index 0000000..7c9e4c1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/fr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-14 01:38+0000\n" +"PO-Revision-Date: 2020-11-12 12:44+0000\n" +"Last-Translator: Yann Papouin \n" +"Language-Team: French (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-8-0/language/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" +"X-Generator: Weblate 3.10\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Boulon" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Article" + +#~ msgid "Table Kit" +#~ msgstr "Table en kit" + +#~ msgid "Table kit" +#~ msgstr "Table en kit" + +#~ msgid "kg" +#~ msgstr "kg" + +#~ msgid "BOM" +#~ msgstr "Nomenclature" + +#~ msgid "Unit(s)" +#~ msgstr "Unité(s)" + +#~ msgid "Product Template" +#~ msgstr "Modèle de produit" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/hr_HR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/hr_HR.po new file mode 100644 index 0000000..41be106 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/hr_HR.po @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +# Bole , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-06-12 19:59+0000\n" +"PO-Revision-Date: 2016-06-14 10:45+0000\n" +"Last-Translator: Bole \n" +"Language-Team: Croatian (Croatia) (http://www.transifex.com/oca/OCA-stock-" +"logistics-warehouse-9-0/language/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_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Proizvod" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" + +#~ msgid "Potential" +#~ msgstr "Potencijal" + +#~ msgid "Component ids" +#~ msgstr "ID-ovi komponenata" + +#~ msgid "Potential" +#~ msgstr "Potencijal" + +#~ msgid "" +#~ "Quantity of this Product that could be produced using the materials " +#~ "already at hand." +#~ msgstr "" +#~ "Količina ovog proizvoda nije mogla biti proizvedena korištenjem trenutno " +#~ "raspoloživih materijala." + +#~ msgid "" +#~ "Quantity of this Product that could be produced using the materials " +#~ "already at hand. If the product has several variants, this will be the " +#~ "biggest quantity that can be made for a any single variant." +#~ msgstr "" +#~ "Količina ovog proizvoda koja može biti proizvodedna raspoloživim " +#~ "količinama sirovina. Ako proizvod ima nekoliko varijanti, ovo će biti " +#~ "najveća moguća količina koja se može proizvesti za svaku pojedinu " +#~ "varijantu." + +#~ msgid "Thousand" +#~ msgstr "Tisuću" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/it.po new file mode 100644 index 0000000..c2f35c7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/it.po @@ -0,0 +1,33 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-09-04 10:11+0000\n" +"PO-Revision-Date: 2023-11-24 16:35+0000\n" +"Last-Translator: mymage \n" +"Language-Team: Italian (http://www.transifex.com/oca/" +"OCA-stock-logistics-warehouse-9-0/language/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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Bullone" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "Variante prodotto" + +#~ msgid "Product" +#~ msgstr "Prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/pt_BR.po new file mode 100644 index 0000000..b05b84a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/pt_BR.po @@ -0,0 +1,66 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +# Claudio Araujo Santos , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-03 20:56+0000\n" +"PO-Revision-Date: 2024-05-21 00:58+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-stock-logistics-warehouse-9-0/language/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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Parafuso" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "Variante do Produto" + +#~ msgid "Product" +#~ msgstr "Produto" + +#~ msgid "Product Template" +#~ msgstr "Modelo Produto" + +#~ msgid "Potential" +#~ msgstr "Potencial" + +#~ msgid "Component ids" +#~ msgstr "IDs de componentes" + +#~ msgid "Potential" +#~ msgstr "Potencial" + +#~ msgid "" +#~ "Quantity of this Product that could be produced using the materials " +#~ "already at hand." +#~ msgstr "" +#~ "Quantidade deste produto que poderia ser produzido usando os materiais já " +#~ "na mão." + +#~ msgid "" +#~ "Quantity of this Product that could be produced using the materials " +#~ "already at hand. If the product has several variants, this will be the " +#~ "biggest quantity that can be made for a any single variant." +#~ msgstr "" +#~ "Quantidade deste produto que poderia ser produzido usando os materiais já " +#~ "na mão. Se o produto tiver várias variantes, esta será a maior quantidade " +#~ "que pode ser feito por qualquer uma única variante." + +#~ msgid "Thousand" +#~ msgstr "Mil" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/sl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/sl.po new file mode 100644 index 0000000..1592420 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/sl.po @@ -0,0 +1,40 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +# Matjaž Mozetič , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (8.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-01-14 01:38+0000\n" +"PO-Revision-Date: 2016-01-14 05:18+0000\n" +"Last-Translator: Matjaž Mozetič \n" +"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-stock-logistics-" +"warehouse-8-0/language/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_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "Proizvod" + +#~ msgid "Product Template" +#~ msgstr "Predloga proizvoda" + +#~ msgid "Thousand" +#~ msgstr "Tisoč" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/stock_available_mrp.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/stock_available_mrp.pot new file mode 100644 index 0000000..b3bc76f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/stock_available_mrp.pot @@ -0,0 +1,24 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/tr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/tr.po new file mode 100644 index 0000000..1958a70 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/tr.po @@ -0,0 +1,27 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-02-19 17:06+0000\n" +"Last-Translator: İsmail Çağan Yılmaz \n" +"Language-Team: none\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" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "Cıvata" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "Ürün Varyantı" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/zh_CN.po new file mode 100644 index 0000000..cd669f8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/i18n/zh_CN.po @@ -0,0 +1,61 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_mrp +# +# Translators: +# Jeffery Chenn , 2016 +msgid "" +msgstr "" +"Project-Id-Version: stock-logistics-warehouse (9.0)\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-08-28 10:00+0000\n" +"PO-Revision-Date: 2019-09-26 15:05+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-stock-" +"logistics-warehouse-9-0/language/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" +"X-Generator: Weblate 3.8\n" + +#. module: stock_available_mrp +#: model:product.template,name:stock_available_mrp.product_computer_desk_bolt_white_product_template +msgid "Bolt" +msgstr "螺栓" + +#. module: stock_available_mrp +#: model:ir.model,name:stock_available_mrp.model_product_product +msgid "Product Variant" +msgstr "" + +#~ msgid "Product" +#~ msgstr "产品" + +#~ msgid "Table Kit" +#~ msgstr "桌台套件" + +#~ msgid "Table kit" +#~ msgstr "桌台套件" + +#~ msgid "kg" +#~ msgstr "公斤" + +#~ msgid "BOM" +#~ msgstr "BOM" + +#~ msgid "Unit(s)" +#~ msgstr "件" + +#~ msgid "Product Template" +#~ msgstr "产品模板" + +#~ msgid "Potential" +#~ msgstr "潜在" + +#~ msgid "Potential" +#~ msgstr "潜在" + +#~ msgid "Thousand" +#~ msgstr "千" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/__init__.py new file mode 100644 index 0000000..bf91af2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2014 Numérigraphe SARL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import product_product diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/product_product.py new file mode 100644 index 0000000..86890b4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/models/product_product.py @@ -0,0 +1,187 @@ +# Copyright 2014 Numérigraphe SARL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from collections import Counter + +from odoo import api, models +from odoo.fields import first +from odoo.tools import float_round + + +class ProductProduct(models.Model): + _inherit = "product.product" + + @api.depends( + "virtual_available", + "bom_ids", + "bom_ids.product_qty", + "variant_bom_ids", + "variant_bom_ids.product_qty", + ) + def _compute_available_quantities(self): + res = super()._compute_available_quantities() + return res + + def _compute_available_quantities_dict(self): + res, stock_dict = super()._compute_available_quantities_dict() + # compute qty for product with bom + product_with_bom = self.filtered("variant_bom_ids") + product_with_bom |= (self - product_with_bom).filtered( + lambda p: p.bom_ids + and any(not bom.product_id or bom.product_id == p for bom in p.bom_ids) + ) + + if not product_with_bom: + return res, stock_dict + icp = self.env["ir.config_parameter"] + stock_available_mrp_based_on = icp.sudo().get_param( + "stock_available_mrp_based_on", "qty_available" + ) + + # explode all boms at once + exploded_boms = product_with_bom._explode_boms() + + # extract the list of product used as bom component + component_products = self.env["product.product"].browse() + for exploded_components in exploded_boms.values(): + for bom_component in exploded_components: + component_products |= first(bom_component).product_id + + # Compute stock for product components. + # {'productid': {field_name: qty}} + if res and stock_available_mrp_based_on in list(res.values())[0]: + # If the qty is computed by the same method use it to avoid + # stressing the cache + component_qties, _ = component_products._compute_available_quantities_dict() + else: + # The qty is a field computed by an other method than the + # current one. Take the value on the record. + component_qties = { + p.id: {stock_available_mrp_based_on: p[stock_available_mrp_based_on]} + for p in component_products + } + + for product in product_with_bom: + # Need by product (same product can be in many BOM lines/levels) + bom_id = first( + product.variant_bom_ids + or product.bom_ids.filtered( + lambda b, product=product: not b.product_id + or b.product_id == product + ) + ) + exploded_components = exploded_boms[product.id] + component_needs = product._get_components_needs(exploded_components) + if not component_needs: + # The BoM has no line we can use + potential_qty = 0.0 + else: + # Find the lowest quantity we can make with the stock at hand + components_potential_qty = min( + component_qties[component.id][stock_available_mrp_based_on] / need + for component, need in component_needs.items() + ) + potential_qty = bom_id.product_qty * components_potential_qty + potential_qty = potential_qty > 0.0 and potential_qty or 0.0 + + # We want to respect the rounding factor of the potential_qty + # Rounding down as we want to be pesimistic. + potential_qty = bom_id.product_uom_id._compute_quantity( + potential_qty, + bom_id.product_tmpl_id.uom_id, + rounding_method="DOWN", + ) + + res[product.id]["potential_qty"] = potential_qty + res[product.id]["immediately_usable_qty"] += potential_qty + + return res, stock_dict + + def _explode_boms(self): + """ + return a dict by product_id of exploded bom lines + :return: + """ + return self.explode_bom_quantities() + + @api.model + def _get_components_needs(self, exploded_components): + """Return the needed qty of each compoments in the exploded_components + + :type exploded_components + :rtype: collections.Counter + """ + needs = Counter() + for bom_line, bom_qty in exploded_components: + component = bom_line.product_id + needs += Counter({component: bom_qty}) + + return needs + + def explode_bom_quantities(self): + """Explode a bill of material with quantities to consume + + It returns a dict with the exploded bom lines and + the quantity they consume. Example:: + + { + : [ + (, ) + (, ) + ] + } + + The 'MrpBom.explode()' method includes the same information, with other + things, but is under-optimized to be used for the purpose of this + module. The killer is particularly the call to `_bom_find()` which can + generate thousands of SELECT for searches. + """ + result = {} + + for product in self: + lines_done = [] + bom_lines = [ + (first(product.bom_ids), bom_line, product, 1.0) + for bom_line in first(product.bom_ids).bom_line_ids + ] + + while bom_lines: + (current_bom, current_line, current_product, current_qty) = bom_lines[0] + bom_lines = bom_lines[1:] + + if current_line._skip_bom_line(current_product): + continue + + line_quantity = current_qty * current_line.product_qty + + sub_bom = first(current_line.product_id.bom_ids) + if sub_bom.type == "phantom": + product_uom = current_line.product_uom_id + converted_line_quantity = product_uom._compute_quantity( + line_quantity / sub_bom.product_qty, + sub_bom.product_uom_id, + ) + bom_lines = [ + ( + sub_bom, + line, + current_line.product_id, + converted_line_quantity, + ) + for line in sub_bom.bom_line_ids + ] + bom_lines + else: + # We round up here because the user expects that if he has + # to consume a little more, the whole UOM unit should be + # consumed. + rounding = current_line.product_uom_id.rounding + line_quantity = float_round( + line_quantity, + precision_rounding=rounding, + rounding_method="UP", + ) + lines_done.append((current_line, line_quantity)) + + result[product.id] = lines_done + + return result diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..bf1b8e7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/CONTRIBUTORS.rst @@ -0,0 +1,15 @@ +* Loïc Bellier (Numérigraphe) +* Lionel Sausin (Numérigraphe) +* many thanks to Graeme Gellatly for his advice and code review +* Laurent Mignon +* Cédric Pigeon +* Florian da Costa +* Joan Mateu + +* `Tecnativa `_: + + * Víctor Martínez + +* `Trobz `_: + + * Khoi Vo diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/DESCRIPTION.rst new file mode 100644 index 0000000..83df836 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/DESCRIPTION.rst @@ -0,0 +1,6 @@ +This module takes the potential quantities available for Products into account in +the quantity available to promise, where the "Potential quantity" is the +quantity that can be manufactured with the components immediately at hand. +By configuration, the "Potential quantity" can be computed based on other product field. +For example, "Potential quantity" can be the quantity that can be manufactured +with the components available to promise. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/ROADMAP.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/ROADMAP.rst new file mode 100644 index 0000000..88ebb1f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/readme/ROADMAP.rst @@ -0,0 +1,41 @@ +Known issues +~~~~~~~~~~~~ +The manufacturing delays are not taken into account : this module assumes that +if you have components in stock goods, you can manufacture finished goods +quickly enough. + +As a consequence, and to avoid overestimating, **only the first level** of Bill +of Materials is considered. + +However Sets (a.k.a "phantom" BoMs) are taken into account: if a component must +be replaced with a set, it's the stock of the set's product which will decide +the potential. + +If a product has several variants, only the variant with the biggest potential +will be taken into account when reporting the production potential. For +example, even if you actually have enough components to make 10 iPads 16Go AND +42 iPads 32Go, we'll consider that you can promise only 42 iPads. + +Removed features +~~~~~~~~~~~~~~~~ +Previous versions of this module used to let programmers demand to get the +potential quantity in an arbitrary Unit of Measure using the `context`. This +feature was present in the standard computations too until v8.0, but it has +been dropped from the standard from v8.0 on. + +For the sake of consistency the potential quantity is now always reported in +the product's main Unit of Measure too. + +Roadmap +~~~~~~~ +Possible improvements for future versions: + +* Take manufacturing delays into account: we should not promise goods to + customers if they want them delivered earlier that we can make them +* Compute the quantity of finished product that can be made directly on each + Bill of Material: this would be useful for production managers, and may make + the computations faster by avoiding to compute the same BoM several times + when several variants share the same BoM. +* Add an option (probably as a sub-module) to consider all raw materials as + available if they can be bought from the suppliers in time for the + manufacturing. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/index.html new file mode 100644 index 0000000..cf12e14 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/static/description/index.html @@ -0,0 +1,501 @@ + + + + + +Consider the production potential is available to promise + + + +
+

Consider the production potential is available to promise

+ + +

Beta License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

This module takes the potential quantities available for Products into account in +the quantity available to promise, where the “Potential quantity” is the +quantity that can be manufactured with the components immediately at hand. +By configuration, the “Potential quantity” can be computed based on other product field. +For example, “Potential quantity” can be the quantity that can be manufactured +with the components available to promise.

+

Table of contents

+ +
+

Known issues / Roadmap

+
+

Known issues

+

The manufacturing delays are not taken into account : this module assumes that +if you have components in stock goods, you can manufacture finished goods +quickly enough.

+

As a consequence, and to avoid overestimating, only the first level of Bill +of Materials is considered.

+

However Sets (a.k.a “phantom” BoMs) are taken into account: if a component must +be replaced with a set, it’s the stock of the set’s product which will decide +the potential.

+

If a product has several variants, only the variant with the biggest potential +will be taken into account when reporting the production potential. For +example, even if you actually have enough components to make 10 iPads 16Go AND +42 iPads 32Go, we’ll consider that you can promise only 42 iPads.

+
+
+

Removed features

+

Previous versions of this module used to let programmers demand to get the +potential quantity in an arbitrary Unit of Measure using the context. This +feature was present in the standard computations too until v8.0, but it has +been dropped from the standard from v8.0 on.

+

For the sake of consistency the potential quantity is now always reported in +the product’s main Unit of Measure too.

+
+
+

Roadmap

+

Possible improvements for future versions:

+
    +
  • Take manufacturing delays into account: we should not promise goods to +customers if they want them delivered earlier that we can make them
  • +
  • Compute the quantity of finished product that can be made directly on each +Bill of Material: this would be useful for production managers, and may make +the computations faster by avoiding to compute the same BoM several times +when several variants share the same BoM.
  • +
  • Add an option (probably as a sub-module) to consider all raw materials as +available if they can be bought from the suppliers in time for the +manufacturing.
  • +
+
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Numérigraphe
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/__init__.py new file mode 100644 index 0000000..4382bb8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2014 Numérigraphe SARL +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_potential_qty diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/test_potential_qty.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/test_potential_qty.py new file mode 100644 index 0000000..895c601 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_mrp/stock_available_mrp/tests/test_potential_qty.py @@ -0,0 +1,508 @@ +# Copyright 2014 Numérigraphe SARL +# Copyright 2021 Tecnativa - Víctor Martínez +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.osv.expression import TRUE_LEAF +from odoo.tests.common import TransactionCase + + +class TestPotentialQty(TransactionCase): + """Test the potential quantity on a product with a multi-line BoM""" + + @classmethod + def setUpClass(cls): + super(TestPotentialQty, cls).setUpClass() + + cls.product_model = cls.env["product.product"] + cls.bom_model = cls.env["mrp.bom"] + cls.bom_line_model = cls.env["mrp.bom.line"] + cls.stock_quant_model = cls.env["stock.quant"] + cls.config = cls.env["ir.config_parameter"] + cls.location = cls.env["stock.location"] + cls.main_company = cls.env.ref("base.main_company") + # Get the warehouses + cls.wh_main = cls.env.ref("stock.warehouse0") + cls.wh_ch = cls.env.ref("stock.stock_warehouse_shop0") + + # We need to compute parent_left and parent_right of the locations as + # they are used to compute qty_available of the product. + cls.location._parent_store_compute() + cls.setup_demo_data() + + @classmethod + def setup_demo_data(cls): + #  An interesting product (multi-line BoM, variants) + cls.tmpl = cls.env.ref("mrp.product_product_table_kit_product_template") + #  First variant + cls.var1 = cls.env.ref("mrp.product_product_table_kit") + cls.var1.type = "product" + #  Second variant + cls.var2 = cls.env.ref("stock_available_mrp.product_kit_1a") + cls.var2.type = "product" + # Make bolt a stockable product to be able to change its stock + # we need to unreserve the existing move before being able to do it. + bolt = cls.env.ref("mrp.product_product_computer_desk_bolt") + bolt.stock_move_ids._do_unreserve() + bolt.type = "product" + # Components that can be used to make the product + components = [ + # Bolt + bolt, + # Wood Panel + cls.env.ref("mrp.product_product_wood_panel"), + ] + # Zero-out the inventory of all variants and components + for component in components + [v for v in cls.tmpl.product_variant_ids]: + moves = component.stock_move_ids.filtered( + lambda mo: mo.state not in ("done", "cancel") + ) + moves._action_cancel() + + component.stock_quant_ids.unlink() + + # A product without a BoM + cls.product_wo_bom = cls.env.ref("product.product_product_11") + + def create_inventory(self, product, qty, location=None, company_id=None): + if location is None: + location = self.wh_main.lot_stock_id + if company_id: + self.env["stock.quant"].with_company(company_id)._update_available_quantity( + product, location, qty + ) + else: + self.env["stock.quant"]._update_available_quantity(product, location, qty) + + def create_simple_bom(self, product, sub_product, product_qty=1, sub_product_qty=1): + bom = self.bom_model.create( + { + "product_tmpl_id": product.product_tmpl_id.id, + "product_id": product.id, + "product_qty": product_qty, + } + ) + self.bom_line_model.create( + { + "bom_id": bom.id, + "product_id": sub_product.id, + "product_qty": sub_product_qty, + } + ) + + return bom + + def assertPotentialQty(self, record, qty, msg): + record.invalidate_model() + # Check the potential + self.assertEqual(record.potential_qty, qty, msg) + + def test_01_potential_qty_no_bom(self): + #  Check the potential when there's no BoM + self.assertPotentialQty( + self.product_wo_bom, 0.0, "The potential without a BoM should be 0" + ) + + def test_02_potential_qty_no_bom_for_company(self): + chicago_id = self.ref("stock.res_company_1") + # Receive 1000x Wood Panel owned by Chicago + self.create_inventory( + product=self.env.ref("mrp.product_product_wood_panel"), + qty=1000.0, + location=self.wh_ch.lot_stock_id, + company_id=chicago_id, + ) + # Put Bolt owned by Chicago for 1000x the 1st variant in main WH + self.create_inventory( + product=self.env.ref("mrp.product_product_computer_desk_bolt"), + qty=1000.0, + location=self.wh_ch.lot_stock_id, + company_id=chicago_id, + ) + self.assertPotentialQty( + self.tmpl, 250.0, "Wrong template potential after receiving components" + ) + + test_user = self.env["res.users"].create( + { + "name": "test_demo", + "login": "test_demo", + "company_id": self.main_company.id, + "company_ids": [(4, self.main_company.id), (4, chicago_id)], + "groups_id": [ + (4, self.ref("stock.group_stock_user")), + (4, self.ref("mrp.group_mrp_user")), + ], + } + ) + + bom = self.env["mrp.bom"].search([("product_tmpl_id", "=", self.tmpl.id)]) + + test_user_tmpl = self.tmpl.with_user(test_user) + self.assertPotentialQty( + test_user_tmpl, 250.0, "Simple user can access to the potential_qty" + ) + + # Set the bom on the main company (visible to members of main company) + # and all products without company (visible to all) + # and the demo user on Chicago (child of main company) + self.env["product.product"].search([TRUE_LEAF]).write({"company_id": False}) + test_user.write({"company_ids": [(6, 0, self.main_company.ids)]}) + bom.company_id = self.main_company + self.assertPotentialQty( + test_user_tmpl, + 0, + "The bom should not be visible to non members of the bom's " + "company or company child of the bom's company", + ) + bom.company_id = chicago_id + test_user.write({"company_ids": [(4, chicago_id)]}) + self.assertPotentialQty(test_user_tmpl, 250.0, "") + + def test_03_potential_qty(self): + for i in [self.tmpl, self.var1, self.var2]: + self.assertPotentialQty(i, 0.0, "The potential quantity should start at 0") + + # Receive 1000x Wood Panel + self.create_inventory( + product=self.env.ref("mrp.product_product_wood_panel"), + qty=1000.0, + location=self.wh_main.lot_stock_id, + ) + for i in [self.tmpl, self.var1, self.var2]: + self.assertPotentialQty( + i, + 0.0, + "Receiving a single component should not change the " + "potential of %s" % i, + ) + + # Receive enough bolt to make 1000x the 1st variant in main WH + self.create_inventory( + product=self.env.ref("mrp.product_product_computer_desk_bolt"), + qty=1000.0, + location=self.wh_main.lot_stock_id, + ) + self.assertPotentialQty( + self.tmpl, 250.0, "Wrong template potential after receiving components" + ) + self.assertPotentialQty( + self.var1, 250.0, "Wrong variant 1 potential after receiving components" + ) + self.assertPotentialQty( + self.var2, + 0.0, + "Receiving variant 1's component should not change " + "variant 2's potential", + ) + + # Receive enough components to make 213 the 2nd variant at Chicago + self.create_inventory( + self.env.ref("mrp.product_product_wood_panel"), + 1000.0, + self.wh_ch.lot_stock_id, + self.ref("stock.res_company_1"), + ) + self.create_inventory( + self.env.ref("stock_available_mrp.product_computer_desk_bolt_white"), + 852.0, + self.wh_ch.lot_stock_id, + self.ref("stock.res_company_1"), + ) + self.assertPotentialQty( + self.tmpl.with_context(test=True), + 250.0, + "Wrong template potential after receiving components", + ) + self.assertPotentialQty( + self.var1, + 250.0, + "Receiving variant 2's component should not change " + "variant 1's potential", + ) + self.assertPotentialQty( + self.var2, 213.0, "Wrong variant 2 potential after receiving components" + ) + # Check by warehouse + self.assertPotentialQty( + self.tmpl.with_context(warehouse=self.wh_main.id), + 250.0, + "Wrong potential quantity in main WH", + ) + self.assertPotentialQty( + self.tmpl.with_context(warehouse=self.wh_ch.id), + 213.0, + "Wrong potential quantity in Chicago WH", + ) + # Check by location + self.assertPotentialQty( + self.tmpl.with_context(location=self.wh_main.lot_stock_id.id), + 250.0, + "Wrong potential quantity in main WH location", + ) + self.assertPotentialQty( + self.tmpl.with_context(location=self.wh_ch.lot_stock_id.id), + 213.0, + "Wrong potential quantity in Chicago WH location", + ) + + def test_04_multi_unit_recursive_bom(self): + # Test multi-level and multi-units BOM + uom_unit = self.env.ref("uom.product_uom_unit") + uom_unit.rounding = 1.0 + p1 = self.product_model.create( + { + "name": "Test product with BOM", + "type": "product", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + p2 = self.product_model.create( + { + "name": "Test sub product with BOM", + "type": "consu", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + p3 = self.product_model.create( + { + "name": "Test component", + "type": "product", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + bom_p1 = self.bom_model.create( + {"product_tmpl_id": p1.product_tmpl_id.id, "product_id": p1.id} + ) + + self.bom_line_model.create( + { + "bom_id": bom_p1.id, + "product_id": p3.id, + "product_qty": 1, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + # Two p2 which have a bom + self.bom_line_model.create( + { + "bom_id": bom_p1.id, + "product_id": p2.id, + "product_qty": 2, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + bom_p2 = self.bom_model.create( + { + "product_tmpl_id": p2.product_tmpl_id.id, + "product_id": p2.id, + "type": "phantom", + } + ) + + # p2 need 2 unit of component + self.bom_line_model.create( + { + "bom_id": bom_p2.id, + "product_id": p3.id, + "product_qty": 2, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + p1.invalidate_model() + + # Need a least 5 units for one P1 + self.assertEqual(0, p1.potential_qty) + + self.create_inventory(p3, 1) + p1.invalidate_model() + self.assertEqual(0, p1.potential_qty) + + self.create_inventory(p3, 3) + p1.invalidate_model() + self.assertEqual(0, p1.potential_qty) + + self.create_inventory(p3, 5) + p1.invalidate_model() + self.assertEqual(1.0, p1.potential_qty) + + self.create_inventory(p3, 6) + p1.invalidate_model() + self.assertEqual(3.0, p1.potential_qty) + + self.create_inventory(p3, 10) + p1.invalidate_model() + self.assertEqual(5.0, p1.potential_qty) + + def test_05_potential_qty_list(self): + # Try to highlight a bug when _get_potential_qty is called on + # a recordset with multiple products + # Recursive compute is not working + + p1 = self.product_model.create({"name": "Test P1"}) + p2 = self.product_model.create({"name": "Test P2"}) + p3 = self.product_model.create({"name": "Test P3", "type": "product"}) + + self.config.set_param("stock_available_mrp_based_on", "immediately_usable_qty") + + # P1 need one P2 + self.create_simple_bom(p1, p2) + # P2 need one P3 + self.create_simple_bom(p2, p3) + + self.create_inventory(p3, 3) + + self.product_model.invalidate_model() + + products = self.product_model.search([("id", "in", [p1.id, p2.id, p3.id])]) + + self.assertEqual( + {p1.id: 3.0, p2.id: 3.0, p3.id: 0.0}, + {p.id: p.potential_qty for p in products}, + ) + + def test_product_phantom(self): + # Create a BOM product with 2 components + # Set stock quantity for the first one == 0.0 + # Set stock quantity for the second one == 1.0 + # Create an incoming movement for the first component + # The immediately available quantity should stay == 0.0 + uom_unit = self.env.ref("uom.product_uom_unit") + uom_unit.rounding = 1.0 + product = self.product_model.create( + { + "name": "Test product with BOM", + "type": "product", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + bom = self.bom_model.create( + { + "product_tmpl_id": product.product_tmpl_id.id, + "product_id": product.id, + "type": "phantom", + } + ) + + bom_product = self.product_model.create( + { + "name": "BOM product", + "type": "product", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + self.bom_line_model.create( + { + "bom_id": bom.id, + "product_id": bom_product.id, + "product_qty": 3, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + bom_product_2 = self.product_model.create( + { + "name": "BOM product 2", + "type": "product", + "uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + + self.bom_line_model.create( + { + "bom_id": bom.id, + "product_id": bom_product_2.id, + "product_qty": 1, + "product_uom_id": self.env.ref("uom.product_uom_unit").id, + } + ) + self.create_inventory(bom_product_2, 1) + + move_in = self.env["stock.move"].create( + { + "name": bom_product.name, + "location_id": self.env.ref("stock.stock_location_suppliers").id, + "location_dest_id": self.env.ref("stock.stock_location_stock").id, + "product_id": bom_product.id, + "product_uom_qty": 1.0, + "product_uom": self.env.ref("uom.product_uom_unit").id, + } + ) + + move_in._action_confirm() + product.invalidate_model() + + self.assertEqual(product.immediately_usable_qty, 0.0) + + def test_06_potential_qty(self): + # BoM only applies to white variant. + bom = self.env["mrp.bom"].search([("product_tmpl_id", "=", self.tmpl.id)]) + bom.bom_line_ids.write({"bom_product_template_attribute_value_ids": False}) + bom.product_id = self.var2.id + for i in [self.tmpl, self.var1, self.var2]: + self.assertPotentialQty(i, 0.0, "The potential quantity should start at 0") + + # Receive 1000x Wood Panel + self.create_inventory( + product=self.env.ref("mrp.product_product_wood_panel"), + qty=1000.0, + location=self.wh_main.lot_stock_id, + ) + for i in [self.tmpl, self.var1, self.var2]: + self.assertPotentialQty( + i, + 0.0, + "Receiving a single component should not change the " + "potential of %s" % i, + ) + + # Receive second component + self.create_inventory( + product=self.env.ref("mrp.product_product_computer_desk_bolt"), + qty=1000.0, + location=self.wh_main.lot_stock_id, + ) + self.assertPotentialQty( + self.tmpl, + 0, + "Template potential changed after receiving partial variant 2 components", + ) + self.assertPotentialQty( + self.var1, + 0, + "Variant 1 potential changed after receiving partial variant 2 components", + ) + self.assertPotentialQty( + self.var2, + 0.0, + "Variant 2 potential changed after receiving partial components", + ) + + # Receive enough components to make 250 the 1st variant + self.create_inventory( + product=self.env.ref( + "stock_available_mrp.product_computer_desk_bolt_white" + ), + qty=1000.0, + location=self.wh_main.lot_stock_id, + ) + self.var1.invalidate_model() + self.assertPotentialQty( + self.tmpl, + 250.0, + "Wrong template potential after receiving variant 2 components", + ) + self.assertPotentialQty( + self.var1, + 0, + "Wrong variant 1 potential after receiving variant 2 components", + ) + self.assertPotentialQty( + self.var2, 250.0, "Wrong variant 2 potential after receiving its components" + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/README.md new file mode 100644 index 0000000..c2a611f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/README.md @@ -0,0 +1,46 @@ +# Stock Available Unreserved + +Odoo addon: stock_available_unreserved + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Available Unreserved +- **Version**: 16.0.1.0.1 +- **Category**: Warehouse Availability +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_available_unreserved`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/ARCHITECTURE.md new file mode 100644 index 0000000..f48137b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_available_unreserved Module - stock_available_unreserved + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONFIGURATION.md new file mode 100644 index 0000000..9397cfc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_available_unreserved. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/FAQ.md new file mode 100644 index 0000000..c0c456e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_available_unreserved or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/INSTALL.md new file mode 100644 index 0000000..47bbc00 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/MODELS.md new file mode 100644 index 0000000..8334ba2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in stock_available_unreserved. + +```mermaid +classDiagram + class product_product + class product_template + class stock_quant +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/OVERVIEW.md new file mode 100644 index 0000000..4c0c7be --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_available_unreserved. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_available_unreserved +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/USAGE.md new file mode 100644 index 0000000..65a0dba --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_available_unreserved +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/pyproject.toml new file mode 100644 index 0000000..0715f0e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved" +version = "16.0.0" +description = "Stock Available Unreserved - Quantity of stock available for immediate use" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_available_unreserved"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/README.rst new file mode 100644 index 0000000..3df547b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/README.rst @@ -0,0 +1,102 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +========================== +Stock Available Unreserved +========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:159857771ed519570ed4c93be34d0bf823008e7f8ba0c2654e177c6e139de21a + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_available_unreserved + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_available_unreserved + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +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. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Jordi Ballester Alomar +* Stefan Rijnhart +* Mykhailo Panarin +* Atte Isopuro +* Lois Rilo +* Souheil Bejaoui + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow + +Current `maintainer `__: + +|maintainer-LoisRForgeFlow| + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__manifest__.py new file mode 100644 index 0000000..602874e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2018 Camptocamp SA +# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Available Unreserved", + "summary": "Quantity of stock available for immediate use", + "version": "16.0.1.0.1", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "development_status": "Production/Stable", + "maintainers": ["LoisRForgeFlow"], + "website": "https://github.com/OCA/stock-logistics-availability", + "category": "Warehouse Availability", + "depends": ["stock"], + "data": ["views/stock_quant_view.xml", "views/product_view.xml"], + "license": "LGPL-3", +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ar.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ar.po new file mode 100644 index 0000000..94d735b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ar.po @@ -0,0 +1,98 @@ +# 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 \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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "الغير محجوز داخلياً" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "المنتج" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "غير محجوز" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "غير محجوز:" + +#~ msgid "Product Template" +#~ msgstr "قالب المنتج" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/bs.po new file mode 100644 index 0000000..bd6e9ce --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/bs.po @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_available_unreserved +#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant__contains_unreserved +msgid "Contains unreserved products" +msgstr "Sadrži proizvode bez rezervacija" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Interno ne rezervirano" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Neispravan operator domene %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Neispravan desni operand domene %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +msgstr "Varijanta 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 "Dostupna količina bez rezervacija" + +#. 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 "Dostupna količina pri ruci bez rezerv" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Kvanti" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Proizvodi koje se može rezervirati" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Dostupna zaliha (ne rezervirana)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Odrezervirano" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Odrezervirano:" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ca.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ca.po new file mode 100644 index 0000000..162e3a1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ca.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Carles Antoli , 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: 2022-08-17 12:07+0000\n" +"Last-Translator: jabelchi \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" +"X-Generator: Weblate 4.3.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 "Conté productes sense reservar" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Operador de domini %s no és vàlid" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Producte" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producte" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/de.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/de.po new file mode 100644 index 0000000..d87f6f0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/de.po @@ -0,0 +1,108 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Intern nicht reserviert" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produkt" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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 "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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Nicht reserviert" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Nicht reserviert:" + +#~ msgid "Product Template" +#~ msgstr "Produktvorlage" + +#~ msgid " On Hand" +#~ msgstr "Verfügbar" + +#~ msgid "Available per stock" +#~ msgstr "Verfügbar nach Bestand" + +#~ msgid "Unreserved stock quantity" +#~ msgstr "Nicht reservierte Bestandsmenge" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/el_GR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/el_GR.po new file mode 100644 index 0000000..5d1134f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/el_GR.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Kostas Goutoudis , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Προϊόν" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es.po new file mode 100644 index 0000000..65eb377 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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: 2023-03-21 17:22+0000\n" +"Last-Translator: Nacho Morales \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" +"X-Generator: Weblate 4.14.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 "Contiene producto no reservado" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "No reservado interno" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Operador de dominio inválido %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Operando de dominio inválido %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +msgstr "Variante 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 "Cant. Disponible No Reservada" + +#. 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 "Cantidad A Mano No Reservada" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" +"Cantidad del producto que actualmente no este disponible para este movimiento" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Cantidades" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Productos Reservables" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Stock A Mano (No Reservado)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "No reservado" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "No reservado:" + +#~ msgid "Product Template" +#~ msgstr "Plantilla de producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_ES.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_ES.po new file mode 100644 index 0000000..fdf4d92 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_ES.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Javier García-Panach , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Producto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_MX.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_MX.po new file mode 100644 index 0000000..0f3a414 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/es_MX.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Juan González , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Plantilla del producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/eu.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/eu.po new file mode 100644 index 0000000..98b6f36 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/eu.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Esther Martín Menéndez , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produktua" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fi.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fi.po new file mode 100644 index 0000000..8b4a7f3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fi.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Tuote" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Tuotteen malli" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr.po new file mode 100644 index 0000000..c693d40 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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: 2021-11-05 14:35+0000\n" +"Last-Translator: Rémi \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" +"X-Generator: Weblate 4.3.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 "Contient des articles non réservés" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Stock Interne Non Réservé" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Opérateur de domaine invalide %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Champ de droite du domaine invalide %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Variante d'Article" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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 "Quantité Disponible Non Réservée" + +#. 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 "Quantité Disponible Non Réservée" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Articles Réservables" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Quantités en stock (Non réservées)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Non réservé" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Non réservé :" + +#~ msgid "Product Template" +#~ msgstr "Article" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_CH.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_CH.po new file mode 100644 index 0000000..e3a9dc4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_CH.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# leemannd , 2017 +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produit" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Template de produit" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_FR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_FR.po new file mode 100644 index 0000000..dc6fe19 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/fr_FR.po @@ -0,0 +1,97 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produit" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/gl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/gl.po new file mode 100644 index 0000000..cbb471a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/gl.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# César Castro Cruz , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr.po new file mode 100644 index 0000000..e487ec2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr.po @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Bole , 2017 +# OCA Transbot , 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: 2023-03-01 17:22+0000\n" +"Last-Translator: Bole \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" +"X-Generator: Weblate 4.14.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 "Sadrži proizvode bez rezervacija" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Interno ne rezervirano" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Neispravan operator domene %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Neispravan desni operand domene %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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 "Dostupna količina bez rezervacija" + +#. 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 "Dostupna količina pri ruci bez rezerv" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Kvanti" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Proizvodi koje se može rezervirati" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Dostupna zaliha (ne rezervirana)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Odrezervirano" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Odrezervirano:" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr_HR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr_HR.po new file mode 100644 index 0000000..bd135b0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/hr_HR.po @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Bole , 2017 +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Predložak proizvoda" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/it.po new file mode 100644 index 0000000..862f4d0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/it.po @@ -0,0 +1,103 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Paolo Valier , 2017 +# OCA Transbot , 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: 2023-12-13 15:35+0000\n" +"Last-Translator: mymage \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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_available_unreserved +#: model:ir.model.fields,field_description:stock_available_unreserved.field_stock_quant__contains_unreserved +msgid "Contains unreserved products" +msgstr "Contiene prodotti non prenotati" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Interni non prenotati" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Operatore dominio %s errato" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Operatore destro di dominio %s errato" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Prodotto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +msgstr "Variante 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 "Q.tà disponibile non prenotata" + +#. 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 "Quantità disponibile non prenotata" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" +"Quantità di questo prodotto che non è attualmente prenotata per un movimento " +"di magazzino" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Quanti" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Prodotti prenotabili" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Giacenze disponibili (non prenotate)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Non prenotato" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Non prenotato:" + +#~ msgid "Product Template" +#~ msgstr "Template Prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl.po new file mode 100644 index 0000000..4177e18 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Product" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Productsjabloon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl_NL.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl_NL.po new file mode 100644 index 0000000..99ce174 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/nl_NL.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 2017 +# Peter Hageman , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Product" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Productsjabloon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt.po new file mode 100644 index 0000000..f3bdfe8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt.po @@ -0,0 +1,96 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt_BR.po new file mode 100644 index 0000000..46a1516 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/pt_BR.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Claudio Araujo Santos , 2017 +# OCA Transbot , 2017 +# danimaribeiro , 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: 2024-11-25 18:47+0000\n" +"Last-Translator: Wesley Oliveira \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" +"X-Generator: Weblate 5.6.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 "Contém produtos não reservados" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Interno não reservado" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Operador de domínio inválido %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Operando direito de domínio inválido %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produto" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +msgstr "Variante do 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 "Quantidade disponível não reservada" + +#. 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 "Quantidade disponível não reservada" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" +"Quantidade deste produto que não está atualmente reservada para movimentação " +"de estoque" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Quantidades" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Produtos Reservados" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Estoque disponível (sem reserva)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Não Reservado" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Não reservado:" + +#~ msgid "Product Template" +#~ msgstr "Modelo Produto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ro.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ro.po new file mode 100644 index 0000000..9ee5eab --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ro.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Produs" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Produs șablon" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ru.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ru.po new file mode 100644 index 0000000..934174d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/ru.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Товар/Услуга" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/sl.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/sl.po new file mode 100644 index 0000000..7e71a41 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/sl.po @@ -0,0 +1,109 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Interno ne rezervirano" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Proizvod" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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 "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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Odstranjena rezervacija" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Ne rezervirano:" + +#~ msgid "Product Template" +#~ msgstr "Predloga proizvoda" + +#~ 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" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/stock_available_unreserved.pot b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/stock_available_unreserved.pot new file mode 100644 index 0000000..8f3e581 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/stock_available_unreserved.pot @@ -0,0 +1,91 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr.po new file mode 100644 index 0000000..6fda530 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Ediz Duman , 2017 +# OCA Transbot , 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: 2025-02-20 09:06+0000\n" +"Last-Translator: İsmail Çağan Yılmaz \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" +"X-Generator: Weblate 5.6.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 "Rezerve edilmemiş ürünler içerir" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "Dahili Rezerve Edilmemiş" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "Geçersiz alan adı operatörü %s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "Geçersiz alan adı sağ işleneni %s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Ürün" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +msgstr "Ürün Varyantı" + +#. 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 "Rezerve Edilmemiş Mevcut Miktar" + +#. 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 "Rezerve Edilmemiş Eldeki Miktar" + +#. module: stock_available_unreserved +#: model:ir.model.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "Bu ürünün şu anda stok hareketi için rezerve edilmemiş miktarı" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "Miktarlar" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_search_form_view_stock +msgid "Reservable Products" +msgstr "Rezerve Edilebilir Ürünler" + +#. module: stock_available_unreserved +#: model:ir.actions.act_window,name:stock_available_unreserved.product_open_quants_unreserved +msgid "Stock On Hand (Unreserved)" +msgstr "Eldeki Stok (Rezerve Edilmemiş)" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "Rezerve Edilmemiş" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "Rezerve Edilmemiş:" + +#~ msgid "Product Template" +#~ msgstr "Ürün Şablonu" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr_TR.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr_TR.po new file mode 100644 index 0000000..b5722a3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/tr_TR.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Ozge Altinisik , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Ürün" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Ürün şablonu" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/vi_VN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/vi_VN.po new file mode 100644 index 0000000..b2df6ee --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/vi_VN.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# OCA Transbot , 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 , 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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "Sản phẩm" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Mẫu sản phẩm" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/zh_CN.po new file mode 100644 index 0000000..8bf4d89 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/i18n/zh_CN.po @@ -0,0 +1,101 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_available_unreserved +# +# Translators: +# Jeffery CHEN , 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: 2019-09-26 17:24+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\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" +"X-Generator: Weblate 3.8\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_terms:ir.ui.view,arch_db:stock_available_unreserved.quant_search_view +msgid "Internal Unreserved" +msgstr "内部未预留" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain operator %s" +msgstr "无效的域运算符%s" + +#. module: stock_available_unreserved +#. odoo-python +#: code:addons/stock_available_unreserved/models/product_product.py:0 +#, python-format +msgid "Invalid domain right operand %s" +msgstr "无效的域权限操作数%s" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_template +msgid "Product" +msgstr "产品" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_product_product +msgid "Product Variant" +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.fields,help:stock_available_unreserved.field_product_product__qty_available_not_res +#: model:ir.model.fields,help:stock_available_unreserved.field_product_template__qty_available_not_res +msgid "" +"Quantity of this product that is not currently reserved for a stock move" +msgstr "" + +#. module: stock_available_unreserved +#: model:ir.model,name:stock_available_unreserved.model_stock_quant +msgid "Quants" +msgstr "数量分析" + +#. module: stock_available_unreserved +#: model_terms: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_terms:ir.ui.view,arch_db:stock_available_unreserved.product_form_view_procurement_button +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_form_view_procurement_button +msgid "Unreserved" +msgstr "未预留" + +#. module: stock_available_unreserved +#: model_terms:ir.ui.view,arch_db:stock_available_unreserved.product_template_kanban_stock_view +msgid "Unreserved:" +msgstr "未预留:" + +#~ msgid "Product Template" +#~ msgstr "产品模板" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/__init__.py new file mode 100644 index 0000000..868220e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/__init__.py @@ -0,0 +1,3 @@ +from . import product_template +from . import product_product +from . import stock_quant diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_product.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_product.py new file mode 100644 index 0000000..09eaa4f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_product.py @@ -0,0 +1,78 @@ +# Copyright 2018 Camptocamp SA +# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError +from odoo.tools.float_utils import float_round + +from odoo.addons.stock.models.product import OPERATORS + + +class ProductProduct(models.Model): + _inherit = "product.product" + + qty_available_not_res = fields.Float( + string="Qty Available Not Reserved", + digits="Product Unit of Measure", + compute="_compute_qty_available_not_reserved", + search="_search_quantity_unreserved", + help="Quantity of this product that is " + "not currently reserved for a stock move", + ) + + 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 + + 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.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.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)] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_template.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_template.py new file mode 100644 index 0000000..9c06671 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/product_template.py @@ -0,0 +1,45 @@ +# Copyright 2018 Camptocamp SA +# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + qty_available_not_res = fields.Float( + string="Quantity On Hand Unreserved", + digits="Product Unit of Measure", + compute="_compute_product_available_not_res", + search="_search_quantity_unreserved", + help="Quantity of this product that is " + "not currently reserved for a stock move", + ) + + @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): + tmpl.qty_available_not_res = 0.0 + continue + tmpl.qty_available_not_res = sum( + tmpl.mapped("product_variant_ids.qty_available_not_res") + ) + + 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.group_stock_multi_locations").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): + return [("product_variant_ids.qty_available_not_res", operator, value)] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/stock_quant.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/stock_quant.py new file mode 100644 index 0000000..d7563b5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/models/stock_quant.py @@ -0,0 +1,26 @@ +# Copyright 2018 Camptocamp SA +# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.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("quantity", "reserved_quantity") + def _compute_contains_unreserved(self): + for record in self: + # Avoid error when adding a new line on manually Update Quantity + if isinstance(record.id, models.NewId): + record.contains_unreserved = False + continue + record.contains_unreserved = ( + True if record.available_quantity > 0 else False + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..89f65c1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* Jordi Ballester Alomar +* Stefan Rijnhart +* Mykhailo Panarin +* Atte Isopuro +* Lois Rilo +* Souheil Bejaoui diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/DESCRIPTION.rst new file mode 100644 index 0000000..b5dfb2b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/readme/DESCRIPTION.rst @@ -0,0 +1,10 @@ +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. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/index.html new file mode 100644 index 0000000..ac6cc61 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/static/description/index.html @@ -0,0 +1,443 @@ + + + + + +README.rst + + + +
+ + + +Odoo Community Association + +
+

Stock Available Unreserved

+ +

Production/Stable License: LGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

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.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • ForgeFlow
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+ +Odoo Community Association + +

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.

+

Current maintainer:

+

LoisRForgeFlow

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/__init__.py new file mode 100644 index 0000000..96c954c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_available_unreserved diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/test_stock_available_unreserved.py b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/test_stock_available_unreserved.py new file mode 100644 index 0000000..aaf4407 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/tests/test_stock_available_unreserved.py @@ -0,0 +1,369 @@ +# Copyright 2018 Camptocamp SA +# Copyright 2016-19 ForgeFlow S.L. (https://www.forgeflow.com) +# Copyright 2019 JARSA Sistemas S.A. de C.V. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo.tests.common import TransactionCase + + +class TestStockLogisticsWarehouse(TransactionCase): + @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.attrObj = cls.env["product.attribute"] + cls.attrvalueObj = cls.env["product.attribute.value"] + + 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, "type": "product"} + ) + + # Create product A and B + cls.color_attribute = cls.attrObj.create({"name": "Color", "sequence": 1}) + cls.color_black = cls.attrvalueObj.create( + {"name": "Black", "attribute_id": cls.color_attribute.id, "sequence": 1} + ) + cls.color_white = cls.attrvalueObj.create( + {"name": "White", "attribute_id": cls.color_attribute.id, "sequence": 2} + ) + cls.color_grey = cls.attrvalueObj.create( + {"name": "Grey", "attribute_id": cls.color_attribute.id, "sequence": 3} + ) + cls.product_attribute_line = cls.env["product.template.attribute.line"].create( + { + "product_tmpl_id": cls.templateAB.id, + "attribute_id": cls.color_attribute.id, + "value_ids": [ + (6, 0, [cls.color_white.id, cls.color_black.id, cls.color_grey.id]) + ], + } + ) + cls.productA = cls.templateAB.product_variant_ids[0] + cls.productB = cls.templateAB.product_variant_ids[1] + + cls.productC = cls.templateAB.product_variant_ids[2] + + # 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_ids": [ + ( + 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_ids": [ + ( + 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, + "immediate_transfer": False, + "move_ids": [ + ( + 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_01_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.button_validate() + self.compare_qty_available_not_res(self.productA, 2) + self.compare_qty_available_not_res(self.templateAB, 2) + + # will directly trigger button_validate on self.productB + self.pickingInB.button_validate() + 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, 1) + self.compare_qty_available_not_res(self.templateAB, 3) + + self.pickingOutA.button_validate() + 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_02_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_03_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.button_validate() + # 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) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/product_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/product_view.xml new file mode 100644 index 0000000..9907daa --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/product_view.xml @@ -0,0 +1,96 @@ + + + + product.template.stock.tree.inherit + product.template + + + + + + + + + product.template.search.stock.form.inherit + product.template + + + + + + + + + Product Template Kanban Stock + product.template + + + +
Unreserved:
+
+
+
+ + product.stock.tree.inherit + product.product + + + + + + + + + product.template_procurement + product.template + + +
+ +
+
+
+ + product.product.procurement + product.product + + +
+ +
+
+
+
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/stock_quant_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/stock_quant_view.xml new file mode 100644 index 0000000..78b532b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_available_unreserved/stock_available_unreserved/views/stock_quant_view.xml @@ -0,0 +1,31 @@ + + + + stock.quant.search + stock.quant + + + + + + + + + + + + + Stock On Hand (Unreserved) + {'search_default_internal_loc': 1, 'search_default_locationgroup':1} + [('product_id', '=', active_id), ('contains_unreserved', '=', True)] + stock.quant + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/README.md new file mode 100644 index 0000000..79a48a5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/README.md @@ -0,0 +1,46 @@ +# Stock Free Quantity + +Odoo addon: stock_free_quantity + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_free_quantity +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Free Quantity +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_free_quantity`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/ARCHITECTURE.md new file mode 100644 index 0000000..4adefa8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_free_quantity Module - stock_free_quantity + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONFIGURATION.md new file mode 100644 index 0000000..8e9452b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_free_quantity. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/FAQ.md new file mode 100644 index 0000000..b40fc3c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_free_quantity or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/INSTALL.md new file mode 100644 index 0000000..1fc09d9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_free_quantity" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_free_quantity" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/MODELS.md new file mode 100644 index 0000000..0b1510b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/MODELS.md @@ -0,0 +1,12 @@ +# Models + +Detected core models and extensions in stock_free_quantity. + +```mermaid +classDiagram + class product_template +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/OVERVIEW.md new file mode 100644 index 0000000..22dc269 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_free_quantity. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_free_quantity +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/USAGE.md new file mode 100644 index 0000000..e350414 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_free_quantity +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/pyproject.toml new file mode 100644 index 0000000..606b625 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_free_quantity" +version = "16.0.0" +description = "Stock Free Quantity - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_free_quantity"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/README.rst new file mode 100644 index 0000000..c543e06 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/README.rst @@ -0,0 +1,76 @@ +=================== +Stock Free Quantity +=================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:4755c7f64515e666a5840c09014827596aea73151b20bd5accd367a703649c36 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_free_quantity + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_free_quantity + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Add Product variant free quantity in Product form view and add the same on Product templates. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* akretion + +Contributors +~~~~~~~~~~~~ + +* Florian da Costa + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__init__.py new file mode 100644 index 0000000..83e553a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__manifest__.py new file mode 100644 index 0000000..096b6a9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/__manifest__.py @@ -0,0 +1,17 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +{ + "name": "Stock Free Quantity", + "version": "16.0.1.0.0", + "author": "akretion,Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-availability", + "development_status": "Production/Stable", + "category": "Warehouse", + "depends": ["stock"], + "license": "AGPL-3", + "data": [ + "views/product_template_view.xml", + "views/product_product_view.xml", + ], + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/bs.po b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/bs.po new file mode 100644 index 0000000..4f47cd1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/bs.po @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_free_quantity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.view_stock_available_form +msgid "Free" +msgstr "Slobodno" + +#. module: stock_free_quantity +#: model:ir.model.fields,field_description:stock_free_quantity.field_product_template__free_qty +msgid "Free Quantity" +msgstr "Slobodna količina" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_template_kanban_free_qty_view +msgid "Free:" +msgstr "Slobodno:" + +#. module: stock_free_quantity +#: model:ir.model,name:stock_free_quantity.model_product_template +msgid "Product" +msgstr "Artikal" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/es.po b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/es.po new file mode 100644 index 0000000..db7d293 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/es.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_free_quantity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-07-29 22:58+0000\n" +"Last-Translator: Florencia Frigieri \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.view_stock_available_form +msgid "Free" +msgstr "Disponible" + +#. module: stock_free_quantity +#: model:ir.model.fields,field_description:stock_free_quantity.field_product_template__free_qty +msgid "Free Quantity" +msgstr "Cantidad disponible" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_template_kanban_free_qty_view +msgid "Free:" +msgstr "Disponible:" + +#. module: stock_free_quantity +#: model:ir.model,name:stock_free_quantity.model_product_template +msgid "Product" +msgstr "Producto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/fr.po b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/fr.po new file mode 100644 index 0000000..fb6a1c2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/fr.po @@ -0,0 +1,41 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_free_quantity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-06-21 10:08+0000\n" +"Last-Translator: Ricardoalso \n" +"Language-Team: none\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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.view_stock_available_form +msgid "Free" +msgstr "Disponible" + +#. module: stock_free_quantity +#: model:ir.model.fields,field_description:stock_free_quantity.field_product_template__free_qty +msgid "Free Quantity" +msgstr "Quantité disponible" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_template_kanban_free_qty_view +msgid "Free:" +msgstr "Disponible :" + +#. module: stock_free_quantity +#: model:ir.model,name:stock_free_quantity.model_product_template +msgid "Product" +msgstr "" + +#~ msgid "Product Template" +#~ msgstr "Article" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/it.po new file mode 100644 index 0000000..2159f0a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/it.po @@ -0,0 +1,38 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_free_quantity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-24 16:35+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.view_stock_available_form +msgid "Free" +msgstr "Libera" + +#. module: stock_free_quantity +#: model:ir.model.fields,field_description:stock_free_quantity.field_product_template__free_qty +msgid "Free Quantity" +msgstr "Quantità libera" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_template_kanban_free_qty_view +msgid "Free:" +msgstr "Libera:" + +#. module: stock_free_quantity +#: model:ir.model,name:stock_free_quantity.model_product_template +msgid "Product" +msgstr "Prodotto" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/stock_free_quantity.pot b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/stock_free_quantity.pot new file mode 100644 index 0000000..05c4ab9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/i18n/stock_free_quantity.pot @@ -0,0 +1,35 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_free_quantity +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_normal_form_view +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.view_stock_available_form +msgid "Free" +msgstr "" + +#. module: stock_free_quantity +#: model:ir.model.fields,field_description:stock_free_quantity.field_product_template__free_qty +msgid "Free Quantity" +msgstr "" + +#. module: stock_free_quantity +#: model_terms:ir.ui.view,arch_db:stock_free_quantity.product_template_kanban_free_qty_view +msgid "Free:" +msgstr "" + +#. module: stock_free_quantity +#: model:ir.model,name:stock_free_quantity.model_product_template +msgid "Product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/__init__.py new file mode 100644 index 0000000..e8fa8f6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/__init__.py @@ -0,0 +1 @@ +from . import product_template diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/product_template.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/product_template.py new file mode 100644 index 0000000..b38fffd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/models/product_template.py @@ -0,0 +1,34 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + def _compute_quantities_dict(self): + prod_available = super()._compute_quantities_dict() + for template in self: + free_qty = 0 + for p in template.with_context(active_test=False).product_variant_ids: + free_qty += p.free_qty + prod_available[template.id]["free_qty"] = free_qty + return prod_available + + def _compute_quantities(self): + super()._compute_quantities() + res = self._compute_quantities_dict() + for template in self: + template.free_qty = res[template.id]["free_qty"] + return + + def _search_free_qty(self, operator, value): + return [("product_variant_ids.free_qty", operator, value)] + + free_qty = fields.Float( + "Free Quantity", + compute="_compute_quantities", + search="_search_free_qty", + compute_sudo=False, + digits="Product Unit of Measure", + ) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..4a0fcc1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Florian da Costa diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/DESCRIPTION.rst new file mode 100644 index 0000000..2c34c0f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +Add Product variant free quantity in Product form view and add the same on Product templates. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 zcmeAS@N?(olHy`uVBq!ia0y~yU}ykg4mJh`hQoG=rx_R+Sc;uILpV4%IBGajIv5xj zI14-?iy0VruY)k7lg8`{1_lPn64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xh zq!<_!7(87ZLn`LHt*tDHIlA-t`n>mR!&YzIGHsf8<B$$Um>gET_{naxk1`20D+ zGK1xw!NbPN2|bO89~+N%pEppq=(kLCGSX2uHprJ_E^{*IKIp)+&2id6vuztyvNuL$ zdA^-?<<(!k&+e;bY|S+1xq)99o0@Rk`trRhp89;eyjLw{_#}Fd?PYlPp~B|v=eA_19fIY=^}d z`Y&%tFz9&nD2bzqq3^N7Y3E5x%2bvfyytoH4a>tliVpGd_uqPi)yOgkI3;YpnXolV zu}g_VQNUGDSy{Q`_+thJ&q)fNm%Ljh{I-=l|6ob#z6OiuoDV+#yjCpp-J;>E$(bCp z!w(A@1ehEJBp7+vm>Cp=Iu%5?97SBcnhpjE?J=>;544!GndL*(UcJdDzeqD|zicr1 zB+Kr*e2YIu-<|%v(v6{Vhej6%TXV!XHp{%V<0*k8n&wuV=P@CM@diu2MB$aErCl1|Wb=;ABZB1k~ z_h&QV=Hey>W@hHnmI>mVimzY(p5dc*Bgd>DX4lfyQy6T{FBf#s-KW4IAt~voG%?}2 zOJGfAO3IUeZEbCtD^>imnJV_iO~0CT*NLN2#v@Eb^n2E$n76T&^VrXSeqiAj%%pL6 z(M63z4-G;E6g@93Q1QH-c5cqkoO^M3O$ND~1>fG>yv?b&U$JF}iYJpIOWNj{Uq6e? zyyrh@i3rn-v(L8ti2Ck5sU^Xn!$s-fqmD&8!UbA>zkc3 ziU$rHaF}~BqejMP^SKO@Lpf%~zhzJ8?7BL^L&eC8!E}XZr-w?DhsvZ!o>NpZPic2v zZennDcJ}v}bmWYc6NiqNx0n6;?MJl_Ph~m5wzO2CU4et6)k)K9kpf4)o6aPU zSLF3*ii(4Q#G1(}FI}BZR4GKRa9b>>Ho0?V>CUiyVM|Y{I+(E#x-H9v*zSvrgWYDY;)+L z0gK}V;lyYYskuU4kESR(7)UJnwx_#orq8lHUp~)#q$k=wg@|In{oEpvuoF`&Aya(%9u-w zvFYG~(+LKD+8*z?eUsUJd0b}i`QV<=&F8<_oqGLAPeEKYKzH7~F#Rs2V7sTu99b{D zCVfe>k=wt2;lhQskGp#XStm1G%qZ!;m|>&4zNY!$gk^WN7ha9pa%gH{(ZPx-wzK4a zs^6~dbYXf}Ah9rj<6}ikcpayr`AnZ>&w`ixLS?`q;$0^Y1a_@mf z-`D7@M|C=DD|DVsySJlicSFw06WZP9jHlfG9aUJY*r4LM;bsm;tJ8U|rVYFd$5v}R zo64{;qDS>uVa%*Z_7~UB86Q0#DtKm!oGQatmNYNz;MYqppMI*`m{quW>Edrbo|6*H zW(UT_ojaz@#?Jno$sscGrsypFbe^h=j6G3~$4&#>dorqjo!*2RH}>j&R| z8x}wFiC7!vG3kg}43o$2X~}DTIjWtwe8pKww|8!s(b|H_sxQ&`|B4&WrZt~_np7-W zU0r?g>eZ=gsmGf4tmo@LaD zn!M^+c;6^|ZJtJ_!~f?_0!|#KPM=QPew$I{?$xzx*Gfo9ow8h;b3&W($;?kbYdBb# zW>^-hb#--JdURp>i7T=hGrO~{U;P!l^~=+#UhL^k3k7CpEUM{ua`5D;Y!wq1U%X^V z%h~D|@7^7oX`CMN{w(_^J;o=J-YP;F+1bvnuB@w8t-9pnC>0+0z^f=FXxf*o^HJv) z-v6?A%><{8GSeA8YCB@|(mGk19ZSl}ltj3m?!EL>LxWM{Po4c_wxdUnW{S>VJHdGC zjG8Cr)0@tg$653>AAXqNHBW)#L)G3FZ{Mb#pR9b}WyS_sCzn7McX#$Ve(GswW=yl9))tt96$K7#7I?tqQ`>OtGSz-n^)=DOg?8EC*s3-h3Rg`!tL9| z4<-m~-MZCarVnf4cDW0RFP(%O{2XSVZJRVn$ZglZe{~gm~^x#st$phB>A=9iiSO6EXp3PI@wy_#!?q(vZ^qd)0Vjb@mkW3A_D-BQam%S|K`u`d zv%2GsH#LiBqm@+k$s*3kLWXafa;HYui`TE6 z{r&sj*@&ECVo-Br%82bhnq*P?%S1~{D%|2UTHTTSZ0j|~y zH*a=U*sNQ*J7Zx$+RG(nj9C&A5(h3^5Xj2Py7Ayl#b@J-TnfhvHMF#n_zVI?9)7J7 zZ_-w*eGP) z3RLx9tMoLWtTt-KH6exRO>%N_$4;E!Shad}@ST%CUF=jC-a5_kQ;$xV<)QN6Yn7pq z(V<5x9M>*Q-}FCoj^=8XXTftWO@H_DrDI^A;GMkfuVk8QY|?FhZoBjvk$H8{E>N^^@;Gp0FH?sEUBrf8k(9Xqjx=CS+n>esJ&%&-cYRj;OnnSLY*t@ z*iYP@c3sJ7pH!41M}Wp;*GVcr{?@fPDekzNcUALgvg^9aG7FgvH*?NxS-dt*S9hz| zmF!z-MV!x>gLiRXa59l{4G$Oh^7j6$#9K6xNo_Lc(W6J#XiG^-HlBZ;{I8m8tyhpV z=he?Sy7y0180PL`FlAwCoU`;`gs-DjmizN3f#usSO`h&~B)x0;$vfIdBp8lvdByZ( z0jpsD@r!rw@-Dy3IsNof%{t>=tF+VWuV%I0%}by4{lNo;KXvxElgy&!u6|mgdh6<= z)pyNR*D~l9PUCk<`8Rc5rJo&D3tgEOU+h@4Na@+h$CYw+^Z6eZSR}`7`8023 z($ni(OBkPStx34$!C`FMEY~_FTTjpe)!-$MXBCJ>(~2-o(#6L z4)>2!>$R7jxNME6LEwpHiNTXECT&cSjaf8r&!R<(L{#+!I1(~4JU&-uoeynG-DN&| zsY3m9pL>TsCV2I+rZ_DV56{-z7{OCpTdSd`=O_5GC}M5cvy;q|q|Lv4|DL{PLCmk> zwSP1(Ul#ftrE-FuYY|J@sRX^5*Ntu#^=f+xwY9ek_PPbe#LU^GX>#>L;}SkY1A~SP z6RTx^Rz3AxUvGbV#eAc@eYQ%=@cZwZ8KoF< zKB!6XELy%?ed(v;v-EeyE&LX(&HL2!SG3%^J>`2eGQ*;2T?H9B-P`ZT<1nDK4Dd+|<V8ya+Ae>& zc#)%f88(!>yrf;Sw}Fi-o7Lk0&wl3fIdwd2%O!X3yV;z3dt0MGQ}+73V%*|-XKpY4 za^p@_)UAjK-Rl z9%!O5PluQzSVfB)i*i?=s7i(|vdj3b|(p1xVM%W1-b1ijsj`sWlBRr{lg zD^G3wG(9}|9e?FxO-k6KF+(V#G*kB0Ju9Zk2RWLJzpC(^=NCIw=Wbh;#%&5lgX(40^uYHXSwpdfHypTB+U$&^D~PftHA z+wJIaslI5%PD{(%83_%%rO&HP4Au)dy!-G_Monb)TMl(4k1y^)66XtLPD$Bn#04}O zw?_$D+s+9VU*K*d-Rm}G%9IV6(VZ?#O$r;9Mn=61+-`99rixg%q72{WwTVS1owt3L zkdr&Me10w4}9`wIcoZ)cW1*E6cydfF|(NKC&9zkv8W?LhpqYG1hs$06OTVE*uW*g!uYUY#@ZJr z-8?FHe2SKPe)+tev(m%^uHvy%HhEk9oin{)aQoEyEzi+<9L?fx`Yd^dU(y?NZ=|8U6r4;<>im~PTom=eeOYyZbZ`Q_YiriU$Fxw3O++Tp{8GjelXBO@il*2bLF z3S0Z&shr0yWA)sRS!-o3q~E{1^8UpPk&O{Ob9vG>MwpzJn6&)o*N=~1ym@h;z<`5c z#rpNfA93p)_$aK-;CYC(TWn+Xlb~_%Do@PJ#jpLJvO6$r{ztN z8<#nq8U-0xI0GHlpFdvqX3_4>&o=%4{?*m|J1V}4*;K5XRaI3rr=PLPL-_7Oli=$U zecw;;X5M{wo)Yh(iy60C0#c94SX2nO_sgYD_1`_+!=!6-`uR<=P8v_v?q9sPxpj4< z-p@lVJ{&9mw{PY6d-=CT@dD9>4gycTR|RffD7Sb0e1{4JjtMD>eEj^(3_LRJrPE{C zrk`$2Fz5(gyY@v!{_)0U_Koj0osMw4m17oWQSv$U=d~?ae>YyMH`RDN!$-|xu3wpy zgso4MCa=;&j(^+o<^R;#uL;u@(}`g45OUyoi z98Ay7&OW~GVvX-f&xImct-BvRTwVAk-p=ts3xE3lm(JJM33q%vY3HZZFwyvcRa8f5 z@iT+X$6uBtJ^l2wKt%N6jg83`1s@dF?fT?(Z9R8WgNqVl^T7#08Z$i>Ea$%P>AkR1 zKu8G7=9_1}G-jA|xhOI2zRMRV@ZsO@_sJ?Ehk7K93tp;DU$R8gQ>f*lUS2{1sAo}{ z`}gnP47(bMg#jGXW2-cs77Ao#X9w?U*R&O5$k=X@q!6*|X;I0ZN|Cp__q+A!&XXRCcrrm|)vvB${*gtao7f=b$h9YPmjU$fT`iJ^K0dftfrr%=6{;{duKb zGS{+ssrU4{*(WbPj#;c0VYw669(X;9$9M`Ev8CRa$FecZY4gWYOoGnySjf#%!!_ZDoCPYq$O` zj;mL%W>$tvr<`KvTE?7mI^pYg@g=Q=GVPl-8O^b+7Gtin*Seb*p(B>o?>(vIwEq4% zU%$q!pWf*+`)=RP;%5mbA03_bZAX;cSFt4;T@_Czx(o2NU%Ygwsa?KKBK!Kf)a%|} zULQWH&u@5ap%b-5!_|C&%7SOfnVFi`)<(DY+y9fWIe$27>!G)0$zNB6&ic9J#C8#l z6_OtRpErqWhdtQ){odh|lhqBEuj||TDME*hK{NZ)x4JKaw_~-%x*rB8G&r~OJ?#4W zIxswZ`ON)3|F?d4)UE&Mtoi*T-TyzapAov-!GGl9*5@i|u~!*5h4$Fmg38M^k((bB zSX?S$X87@BvVXv%qQuB#Wv#n;e?Cl$p5UR9U?O!{tvTZ?!>miO3`Z-D1V?6Sis?l( z1ncVl_|vVwq3WvEhnk|0z;#dNS{AqU-jd{DtFV#d;p0=1;CXa-Z?$3hyO@}Ld9l}Q zQctbc=(@2zUmn!3ICsu3C-##u&%PqAW((6Q;|KpY$e#ZH(rVl0bWcxCFE1|vzV_gf z=EL!IopJN|Mf1u}89#}B!uTq9zfmdc@6S|>{r~s<=Gj-sr?6UZcab^_~V24|8MVq`1bDZj-ShB2gJqA`xax$-nS_L)K=T`DL&pIDO{h& za6!>Yo-_Xs8VM|Cy|=%n_uSw64ihF>_et}xeX!}@oPOSDW1i8>3necEs;a6IOr$m@ z9p!2{oH*m`Gm-BmwcDarU;i~<-{;jK0jEie^RM(QKE9ICGbm&{o(okKdip(d=F>wN?-bw)R8-W5 zo5A%*Z$>a|zHYMMqr6_~_1Nz*O#eIOc;?GC-PwEd?bk>D_kLtsVP{Z86JrO2YaQhb9)`^h2O#+EN###s?n^D(1Bxe|(UC-Try9zm??IFHr8ec`E32 zy`90sZ026KECVQA&#-?bmAhj7adBVYjI69fy8>JN z;~Y*)NngBkr{{1xzxv&cU0bGpeA>aT^yAb28m{k)qD=lh7S+72;>l#uv@d^;fdtQt zotc6iiZ`dtnmwD5A$020jEoG2)Kt~o{dq=${l{`_UzbyQSz;XzjM1GcLYPjg>*S#s$8_ruRWFI=@s>+P;v z#wwnN7CyIQVbJ;c@YR+sMuz{-V+C9Uw`xCcGFI!1-d~{jN?gy!@cEPbUv6$;ys-Gm zN|D9Jldq=PhYCFocCHvj#--njYty&g*! z|7Q77V|R7S6$RIdFS6c#Nt&5!{7wrivbg{M&REcL_|NQV8-H80a!0?OeN0zNE2&s; zrAdd2l4R-Rn#Bu*oqF7q-;`NPzgcj2h0XcZe0MbJwJ!%Nciet^?AF$7!T#eP&so1; zuzY!YY`=?=#oddHo|7g>d{s?(_5J1Y;_rnXlUPLFHZ~iQHU^mPglHh9-?gUyrJV#2Sj%#+NMk9wGj#uk^6# zawhTr&tG3I;oSQ!dTrg@bFMuuN^gEdS}k20uzTH;xeP_cy;_w~!JDs4=#;qmZvD!Y z2j6bL+xF~Pnv883j}SxS^P4s{wq46qJPjt~@9lHH_fIB%Z>>N|NpJAiNi%o+xY)~Z zGH1KCDg*E7Yeg$fJXC~o%7jh(pL$)aW>xm5`@qN}&BW|+jcBy@FH z;?-553M~o$|NZ^(Y4!S&`~DmU??_8O{Jn_#-ZVc4r%j(Y3l5%L9k9Q$G^}v_)Ou4* zhr?4Z9Z4}dm|(EsBg-q5#fMLL$tJEjp$(ea*|mFjU{utpX$gTn?pI!~wb=Uq^Ru&u zFD4&1ab2PHP{%Fi&l5Kuleq^U%w&|XV19OQlTL0C+g^L|@40$^%@sY!^oOnVGzt!KWSS@-}L8$qPFjIod70ylQ2U%f4{7t;{ERe%IKQl$WQ^xxFs!TB>pW zm38SxZ=WQdxuYR$x{ay9{zu(uZKHkFm zS&NZF@s9QTJ)7^oEV1)A+~cOKrKNR4<$R9RUbkJzT$j6)r!!`4fiYlX>gj2(&GYX3m~r^w z3~MRA-FN#|ty(puS9{qE-G78GXK-_x^Y@0Uy7*7NHB{hZ6N zYhrttzWY5+1_Pl2hE;Wc9?QoU-Ok-^`>JT?v`f=B-OO3BZk^xl1(|C^SDE)D6%+_K zZ2EAwOEbzO=I7j%la4E~KDo}~=wKk>llj%=e0x+>RN3Db?)Ja(8Tyz!6#Uo5^)(4J zsLor%s@=fqZ~OHM|Mj)e-y3e`q%F6fI(_I~pAxoamFao>%+#>-BO*i*BY68&^k8h9zFjS67GY*MGU_{@*(_ z_36+7x8>vq3mTzxglvWi!4I``G9S7%w5_HMm& z_0cI+2UpkDRqFov`{!z|6Ju;TsL-^S+f8%V?%m&Q{(Lz6fA7wnKb;v4Yb30mo_vUd z!9YlWAyqqk-JTx@+2#NIoMTy>x8(ZSG~=wSEF-H4Dw^B({=IT3z>8t$aX)>=DG#eS z1Y~1Hb?p80ggU>xy|c6U_+@|lzg7)qJ`Ss=Cp&Q-kegLgt=w=ldVAj9XRlVT|5u%5 z#ME&5Y18q?o;OXCdCp(>{_V)Jw@Z#dn?k5&! zPUlu@WpL;+(O}*1<>~bJeXIBFt25r4XCn3RV?{tz)T-GmRi$jIj8_(1-F0Z{j> z9~RvD=>&>`?Dc!U9S^*`j=RC4>U~T2u_b~HsSlzvH#}Ik``xZb)1vc!R!={DG^{P? zuEOP$@;kM1(*(UYsz?{+*EWr%0!NEC|ND>K=TpI(@BY`A&c@fy zymjl=Rn|4noj5AR9kypIFNKgL4(&He%5F*C)k{C|MuqQ z=H%Dc)><>xbTV0%9P83_Wl(UH5@GytZ?eB#<(}0yUl#_f zc)ND{yWB7Fa^tKZG??(8_4v~j~zv#C?3 zeyFgKWS>6eVG-v7H-*%hE5813QrNIK`Kd+SpC7BY->Z79%`l7Mhaqe9UYX!o3?fEK zXCikNJv{{~$kdCUo!QwKXFmJv4AX3}IeyF68M5s9xkSaYz(PiH{@Spg&d$ytcilW$ zTu|@oXWOeV zzDn^0ZVZ((TbvYs)a;wG@mGe)t?k*@*U8@Ap8sFE;V^^K47as$eVLvhgVGoxe*O7; z{{EhdkB`oloNGLo02-FMUDlgaQ86QQ)2#N1v&yzyJw2~|+qP}7{`P;rtUi18?0lvd zjzw+fwq$)R^2ugm&{Q#CjM$ucd0A!o-O}rGKUuQ#wKE&1pK}QeEYjn;J1K0^k}bUR z8=ojn+PinJX1Bi6!hqZJ|9x40f8U2g-13j3FXu&VtFl~X%czm!vVwKPmy_!A_k1~} zy?)R643kZg9;T+IE7q>{Rct6?Tz&qzx8zn~7R8b$Cnkc!_CNOnhDl!crd)sb_0b$f zh6!rCVfxYAa*hf6+Y~Op)0na`A|NK_%rS-+o8CAmfEHkwTzyx**j9JL<~ zvRlhlKAG5Gz_+c+@|-6VLuOrb_cYz;u)hbG`R{1VFJACW<5Sh%YEX^W{_NQ^X9mCI zkdw^k_MT!tmk0{12MkvjGXC5=U$^bSwdnl4;qM%nCM~-goxgW$^6zhN=QCPxC^QxC zc%*qQlPN&s58Ga* Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/index.html new file mode 100644 index 0000000..37ce026 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/static/description/index.html @@ -0,0 +1,421 @@ + + + + + + +Stock Free Quantity + + + +
+

Stock Free Quantity

+ + +

Production/Stable License: AGPL-3 OCA/stock-logistics-availability Translate me on Weblate Try me on Runboat

+

Add Product variant free quantity in Product form view and add the same on Product templates.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • akretion
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

This module is part of the OCA/stock-logistics-availability project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/__init__.py new file mode 100644 index 0000000..fba5167 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/__init__.py @@ -0,0 +1 @@ +from . import test_template_free_qty diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/test_template_free_qty.py b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/test_template_free_qty.py new file mode 100644 index 0000000..7936515 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/tests/test_template_free_qty.py @@ -0,0 +1,35 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo.tests.common import TransactionCase + + +class TestTemplateFreeQty(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.template_with_variant = cls.env.ref( + "product.product_product_11_product_template" + ) + cls.template_with_no_variant = cls.env.ref( + "product.product_product_10_product_template" + ) + + def test_template_free_qty(self): + # template has 2 variants with 26 and 30 free qty, template should have 56 + self.assertEqual(self.template_with_variant.free_qty, 56) + self.assertEqual( + self.template_with_no_variant.free_qty, + self.template_with_no_variant.product_variant_ids.free_qty, + ) + + def test_search_template_free_qty(self): + template_with_free_qty_ids = ( + self.env["product.template"].search([("free_qty", ">", 0)]).ids + ) + self.assertIn(self.template_with_variant.id, template_with_free_qty_ids) + self.assertIn(self.template_with_no_variant.id, template_with_free_qty_ids) + template_with_no_free_qty = self.env.ref( + "product.product_product_22_product_template" + ) + self.assertNotIn(template_with_no_free_qty.id, template_with_free_qty_ids) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_product_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_product_view.xml new file mode 100644 index 0000000..8704ed6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_product_view.xml @@ -0,0 +1,36 @@ + + + + + product.product + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_template_view.xml b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_template_view.xml new file mode 100644 index 0000000..0c90e0b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_free_quantity/stock_free_quantity/views/product_template_view.xml @@ -0,0 +1,84 @@ + + + + product.template + + + + + + + + + + product.template + + + + +
Free:
+
+
+
+ + + product.template + + + + + + + + + + product.product + + + + + + + + +
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/README.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/README.md new file mode 100644 index 0000000..826cf6a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/README.md @@ -0,0 +1,46 @@ +# Stock Quant Available Quantity + +Odoo addon: stock_quant_available_quantity + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Quant Available Quantity +- **Version**: 16.0.1.0.0 +- **Category**: Stock +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-availability](https://github.com/OCA/stock-logistics-availability) branch 16.0, addon `stock_quant_available_quantity`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/ARCHITECTURE.md new file mode 100644 index 0000000..a4aa704 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_quant_available_quantity Module - stock_quant_available_quantity + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONFIGURATION.md new file mode 100644 index 0000000..3610eec --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_quant_available_quantity. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/FAQ.md new file mode 100644 index 0000000..ddb443a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_quant_available_quantity or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/INSTALL.md new file mode 100644 index 0000000..23abcbb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity" +# or +uv pip install odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity" +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/MODELS.md new file mode 100644 index 0000000..bc429f2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/MODELS.md @@ -0,0 +1,11 @@ +# Models + +Detected core models and extensions in stock_quant_available_quantity. + +```mermaid +classDiagram +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/OVERVIEW.md new file mode 100644 index 0000000..b7891c9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_quant_available_quantity. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_quant_available_quantity +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/USAGE.md new file mode 100644 index 0000000..26ba9f3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_quant_available_quantity +``` diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/pyproject.toml b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/pyproject.toml new file mode 100644 index 0000000..25a3cf6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity" +version = "16.0.0" +description = "Stock Quant Available Quantity - Shows Available Quantity in the stock quant views" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_quant_available_quantity"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/README.rst b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/README.rst new file mode 100644 index 0000000..9c71991 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/README.rst @@ -0,0 +1,98 @@ +============================== +Stock Quant Available Quantity +============================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:e88c47dc6bf14e22311e722626fccf7ae833fb8210ea0bc5bea126f18f36dc61 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--availability-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-availability/tree/16.0/stock_quant_available_quantity + :alt: OCA/stock-logistics-availability +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-availability-16-0/stock-logistics-availability-16-0-stock_quant_available_quantity + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-availability&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Show Available Quantity in the stock quant views. + +This field was visible in older versions. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +To use this module, you need to: + +1. Go to Inventory / Reporting / Locations +2. Now you can see the Available Quantity field + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +------- + +* Sygel + +Contributors +------------ + +- `Sygel `__: + + - Alberto Martínez + - Valentin Vinagre + - Harald Panten + +Maintainers +----------- + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-tisho99| image:: https://github.com/tisho99.png?size=40px + :target: https://github.com/tisho99 + :alt: tisho99 + +Current `maintainer `__: + +|maintainer-tisho99| + +This module is part of the `OCA/stock-logistics-availability `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__init__.py b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__init__.py new file mode 100644 index 0000000..ef5ae35 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__init__.py @@ -0,0 +1 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__manifest__.py b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__manifest__.py new file mode 100644 index 0000000..41ebe15 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2025 Alberto Martínez +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Stock Quant Available Quantity", + "summary": "Shows Available Quantity in the stock quant views", + "version": "16.0.1.0.0", + "category": "Stock", + "website": "https://github.com/OCA/stock-logistics-availability", + "author": "Sygel, Odoo Community Association (OCA)", + "maintainers": ["tisho99"], + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": [ + "stock", + ], + "data": [ + "views/stock_quant_views.xml", + ], +} diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/it.po b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/it.po new file mode 100644 index 0000000..7338855 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/it.po @@ -0,0 +1,14 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/stock_quant_available_quantity.pot b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/stock_quant_available_quantity.pot new file mode 100644 index 0000000..78d58d5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/i18n/stock_quant_available_quantity.pot @@ -0,0 +1,13 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/CONTRIBUTORS.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/CONTRIBUTORS.md new file mode 100755 index 0000000..f566245 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/CONTRIBUTORS.md @@ -0,0 +1,4 @@ +- [Sygel](https://www.sygel.es): + - Alberto Martínez + - Valentin Vinagre + - Harald Panten diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/DESCRIPTION.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/DESCRIPTION.md new file mode 100755 index 0000000..2cad243 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/DESCRIPTION.md @@ -0,0 +1,3 @@ +Show Available Quantity in the stock quant views. + +This field was visible in older versions. diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/USAGE.md b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/USAGE.md new file mode 100755 index 0000000..3a61133 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/readme/USAGE.md @@ -0,0 +1,4 @@ +To use this module, you need to: + +1. Go to Inventory / Reporting / Locations +2. Now you can see the Available Quantity field diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.png b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.svg b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.svg new file mode 100644 index 0000000..a7a26d0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/icon.svg @@ -0,0 +1,79 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/index.html b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/index.html new file mode 100644 index 0000000..f92d18a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/static/description/index.html @@ -0,0 +1,124 @@ +
+
+
+

Module name

+

This module was written to extend the functionality of ... to support ... and allow you to ...

+
+
+
+ +
+
+
+

Installation

+
+
+

To install this module, you need to: +

    +
  • ...
  • +
+

+
+
+
+ + + +
+
+
+
+ +
+
+
+

Configuration

+
+
+

To configure this module, you need to: +

    +
  • ...
  • +
+

+
+
+
+ + + +
+
+
+
+ +
+
+
+

Usage

+
+
+

To use this module, you need to: +

    +
  • ...
  • +
+

+

For further information, please visit: +

+

+
+
+
+ + + +
+
+
+
+ +
+
+
+

Known issues / Roadmap

+
+
+

+

    +
  • ...
  • +
+

+
+
+
+ + + +
+
+
+
+ +
+
+
+

Credits

+
+
+

Contributors

+ +
+
+

Maintainer

+

+ 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 http://odoo-community.org.
+ +

+
+
+
diff --git a/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/views/stock_quant_views.xml b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/views/stock_quant_views.xml new file mode 100644 index 0000000..e95f16f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-availability-stock_quant_available_quantity/stock_quant_available_quantity/views/stock_quant_views.xml @@ -0,0 +1,17 @@ + + + + + + stock.quant.tree.editable + stock.quant + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request/README.md new file mode 100644 index 0000000..2af0be0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/README.md @@ -0,0 +1,46 @@ +# Stock Request + +Odoo addon: stock_request + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Stock Request +- **Version**: 16.0.1.1.3 +- **Category**: Warehouse Management +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/ARCHITECTURE.md new file mode 100644 index 0000000..6fd2071 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request Module - stock_request + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONFIGURATION.md new file mode 100644 index 0000000..afbfd3a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/FAQ.md new file mode 100644 index 0000000..a659823 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/INSTALL.md new file mode 100644 index 0000000..ef95cbd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/MODELS.md new file mode 100644 index 0000000..5b37c7c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/MODELS.md @@ -0,0 +1,26 @@ +# Models + +Detected core models and extensions in stock_request. + +```mermaid +classDiagram + class stock_request + class stock_request_abstract + class stock_request_allocation + class stock_request_order + class procurement_group + class res_company + class res_config_settings + class stock_location + class stock_move + class stock_move_line + class stock_picking + class stock_request_abstract + class stock_route + class stock_rule + class stock_warehouse +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/OVERVIEW.md new file mode 100644 index 0000000..107f782 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/SECURITY.md new file mode 100644 index 0000000..eb36762 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/SECURITY.md @@ -0,0 +1,42 @@ +# Security + +Access control and security definitions in stock_request. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../stock_request/security/ir.model.access.csv)** + - 16 model access rules + +## Record Rules + +Row-level security rules defined in: + +## Security Groups & Configuration + +Security groups and permissions defined in: +- **[stock_request_security.xml](../stock_request/security/stock_request_security.xml)** + - 3 security groups defined + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../stock_request/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) +- **[stock_request_security.xml](../stock_request/security/stock_request_security.xml)** + - Security groups, categories, and XML-based rules + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/USAGE.md new file mode 100644 index 0000000..f681518 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request/pyproject.toml new file mode 100644 index 0000000..2f151c9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request" +version = "16.0.0" +description = "Stock Request - Internal request for stock" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/README.rst new file mode 100644 index 0000000..e92072f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/README.rst @@ -0,0 +1,152 @@ +============= +Stock Request +============= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:a6f8cacb4f8a7e8957802003c9a93867ed0b20c7cfbad5a09a5e1101bc225369 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module was written to allow users to request products that are +frequently stocked by the company, to be transferred to their chosen location. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module: + +* Go to Stock Requests > Settings + +Users should be assigned to the groups 'Stock Request / User' or 'Stock +Request / Manager'. + +## Group Stock Request / User + +* Can see her/his own Stock Requests, and others that she/he's been granted + permission to follow. + +* Can create/update only her/his Stock Requests. + +## Group Stock Request / Manager + +* Can fully manage all Stock Requests + +Usage +===== + +## Creation + +* Go to 'Stock Requests / Stock Requests' and create a new Request. +* Indicate a product, quantity and location. +* Press 'Confirm'. + +Upon confirmation the request will be evaluated using the procurement rules +for the selected location. + +In case that transfers are created, the user will be able to access to them +from the button 'Transfers' available in the Stock Request. + +## Cancel + +When the user cancels a Stock Request, the related pending stock moves will be +also cancelled. + +Known issues / Roadmap +====================== + +There is no way to achieve Storck Request and Stock Request Orders. +It should be developed taking into account that only Cancel and Done +stock request can be archived. + +It is also required to manage active field logically from Orders to SRs. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Jordi Ballester (EFICENT) . +* Enric Tobella +* Atte Isopuro +* Lois Rilo +* Raul Martin +* Serpent Consulting Services Pvt. Ltd. +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + +* Héctor Villarreal +* Kitti U. +* Bernat Puig +* Oriol Miranda + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow +.. |maintainer-etobella| image:: https://github.com/etobella.png?size=40px + :target: https://github.com/etobella + :alt: etobella + +Current `maintainers `__: + +|maintainer-LoisRForgeFlow| |maintainer-etobella| + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__manifest__.py new file mode 100644 index 0000000..2553c4c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/__manifest__.py @@ -0,0 +1,28 @@ +# Copyright 2017-2021 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Request", + "summary": "Internal request for stock", + "version": "16.0.1.1.3", + "license": "LGPL-3", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["LoisRForgeFlow", "etobella"], + "category": "Warehouse Management", + "depends": ["stock"], + "data": [ + "security/stock_request_security.xml", + "security/ir.model.access.csv", + "views/product.xml", + "views/stock_request_views.xml", + "views/stock_request_allocation_views.xml", + "views/stock_move_views.xml", + "views/stock_picking_views.xml", + "views/stock_request_order_views.xml", + "views/res_config_settings_views.xml", + "views/stock_request_menu.xml", + "data/stock_request_sequence_data.xml", + ], + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/data/stock_request_sequence_data.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/data/stock_request_sequence_data.xml new file mode 100644 index 0000000..5b4161e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/data/stock_request_sequence_data.xml @@ -0,0 +1,17 @@ + + + + Stock Request + stock.request + SR/ + 5 + + + + Stock Request Order + stock.request.order + SRO/ + 5 + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/bs.po new file mode 100644 index 0000000..2d1741e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/bs.po @@ -0,0 +1,1155 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "Potrebna akcija" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "Aktivira narudžbe zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "Aktivnosti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Dekoracija iznimke aktivnosti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "Status aktivnosti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ikona tipa aktivnosti" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "Alocirana Količina" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "Dozvoli sve tipove lokacija" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Dozvoli virtualne lokacije na zahtjevima zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "Analitika" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "Analitičko računovodstvo u zahtjevima zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "Broj priloga" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "Po zadanome se ne koriste dostupne zalihe" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "Otkaži" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "Otkazan" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "Kategorija" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "Prvo provjeri dostupne zalihe" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "Kliknite da dodate zahtjev zaliha." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "Kompanije" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "Preduzeće" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "Kompanija mora biti jednaka narudžbi" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "Postavke" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "Potvrdi" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "Trenutni zahtjevi" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "Datum kada očekujete da primite robu." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "Otpremnice" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "Gotovo" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "U pripremi" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "Omogući analitičko računovodstvo u zahtjevima zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "Omogući narudžbe" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "Omogući Kanban kartice zahtjeva zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "Omogući zahtjeve zaliha za proizvodnju" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "Omogući zahtjeve zaliha za nabavke" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "Omogući stanje poslato" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "Očekivani datum" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "Očekivani datum mora biti jednak narudžbi" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "Završeno" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "Pratioci" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "Pratioci (Partneri)" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Font awesome ikona npr. fa-tasks" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "Grupiši po" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "Narudžba grupe zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "Ima poruku" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "Ikona" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ikona za prikaz iznimki." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi." + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "U Toku" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "U tijeku" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "Lokacije inventure" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "Rute" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "Pratilac" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "Stavke" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "Kanban" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "Lokacija" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "Lokacija mora biti jednaka narudžbi" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "Glavna zakačka" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "Proizvodnja" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "Glavni podaci" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "Greška pri isporuci poruke" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "Poruke" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Rok za moju aktivnost" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "Naziv:" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "Ime mora biti jedinstveno" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Krajnji rok za sljedeću aktivnost" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "Pregled sljedeće aktivnosti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "Tip sljedeće aktivnosti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "Broj akcija" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "Broj grešaka" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Broj poruka koje zahtijevaju aktivnost" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Broj poruka sa greškama pri isporuci" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "Samo narudžbe u stanju nacrta mogu biti obrisane" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "Samo zahtjevi u stanju nacrta mogu biti obrisani" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "Količina" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "Operacije" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "Nalog" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "Narudžbe i konfiguracija" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "Skladišnice" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "Grupa naručivanja" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "Grupa nabavke mora biti jednaka narudžbi" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Proizvod" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Skladišna kretanja proizvoda(stavke)" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "JMJ artikla" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "Nabavke" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "Otkazana količina" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "Dovršena količina" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "Količina u toku" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "Količina" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "Proizvodi za nabavu" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "Proizvodi za nabavu" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "Proizvodi za nabavu" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Količina u zadanoj jedinici mjere proizvoda" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the" +" Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Količina, specificirana u mjernoj jedinici naznačenoj u zahtjevu." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "Stvarna količina" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "Primi sve proizvode odjednom" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "Primi svaki proizvod kada je dostupan" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "Zahtijevaj zalihe" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "Zahtjevao" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "Status zahtjeva" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "Zahtijevana količina (MJ)" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "Zahtijevao mora biti jednako narudžbi" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "Odgovorni korisnik" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "Smjer" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "Rute" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "Postavi u pripremu" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "Postavke" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "Pravila otpreme" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "Status" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "Skladišno kretanje" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "Kretanje zaliha" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "Zahtjev zaliha br." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "Dodjela zahtjeva zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "Dodjele zahtjeva zaliha" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "Menadžer zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "Narudžbe zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "Template zahtjeva zaliha" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "Korisnik zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "Zahtjev zaliha za proizvodnju" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "Ime zahtjeva zaliha mora biti jedinstveno" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "Količina proizvoda zahtjeva zaliha ne može biti negativna." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "Količina proizvoda zahtjeva zaliha mora biti striktno pozitivna." + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "Zahtjevi zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "Analitička integracija zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "Kanban integracija zahtjeva zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "Pretraživanje narudžbi zahtjeva zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "Pretraživanje zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "Zahtjevi zaliha za nabavke" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "Skladišno pravilo" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "Zahtjevi zaliha" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "Stanje poslato u zahtjevima zaliha" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "Kompanija zahtjeva zaliha mora se poklapati sa onom na lokaciji." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "" +"The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "Politika preuzimanja mora biti jednaka narudžbi" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "Ruta povezana sa narudžbom zahtjeva zaliha" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "Treba biti najmanje jedna stavka zahtjeva za potvrdu narudžbe." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "Ova akcija radi samo u kontekstu proizvoda" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "Prijenos" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "Prijenosi" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Vrsta aktivnosti iznimke na zapisu." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "JMJ" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "Koristi Kanban kartice za potrošne proizvode" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "Koristi narudžbe proizvodnje sa zahtjevima zaliha" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "Koristi nabavke sa zahtjevima zaliha" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "Skladište" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "Skladište mora biti jednako narudžbi" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "Poruke sa website-a" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "Povijest komunikacije Web stranice" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to" +" stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to" +" stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "Unijeli ste lokaciju koja je dodijeljena drugoj kompaniji." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "Unijeli ste proizvod koji je dodijeljen drugoj kompaniji." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "Unijeli ste rutu koja je dodijeljena drugoj kompaniji." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "Unijeli ste skladište koje je dodijeljeno drugoj kompaniji." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ca.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ca.po new file mode 100644 index 0000000..673318e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ca.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Producte" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/de.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/de.po new file mode 100644 index 0000000..de86318 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/de.po @@ -0,0 +1,1200 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2019-08-31 16:23+0000\n" +"Last-Translator: Rudolf Schnapka \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" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "Handeln erforderlich" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "Aktiviert Anforderungs-Aufträge" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "Aktivitäten" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "Aktivitätsstatus" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "Zugeordnete Menge" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#, fuzzy +msgid "Allow All Locations Types" +msgstr "Alle Lagerorttypen erlauben" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Erlaube virtuelle Lagerplätze in Anforderungen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "Analytisch" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "Kostenrechnung in Anforderungen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "Anhangszählung" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "Abbrechen" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "Abgebrochen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "Klicken, um eine Bestandaanforderung zu stellen." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +#, fuzzy +msgid "Companies" +msgstr "Unternehmen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "Unternehmen" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "Unternehmen muss mit Auftrag übereinstimmen" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +#, fuzzy +msgid "Config Settings" +msgstr "Einstellungen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "Freigeben" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "Angelegt durch" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "Angelegt am" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#, fuzzy +msgid "Current requests" +msgstr "Bestandsanforderungen" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "Datum an dem Sie die Warenlieferung erwarten." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "Lieferscheine" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Anzeigebezeichnung" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "Erledigt" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "Entwurf" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "Erlaube Kostenrechnung in Anforderungen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "Aufträge erlauben" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "Aktiviere Anforderungs-Kanbankarten" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "Aktiviere Anforderungen für Einkäufe" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "Aktiviere Übermittlungsstatus" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "Voraussichtliches Datum" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "Voraussichtliches Datum muss mit Auftrag übereinstimmen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "Follower" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "Follower (Partner)" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "Gruppiere nach" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "Gruppiere Anforderungs-Aufträge" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Wenn angehakt, erfordern neue Meldungen Ihre Aufmerksamkeit." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Wenn angehakt, haben Meldungen einen Zustellfehler." + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#, fuzzy +msgid "In Progress" +msgstr "In Bearbeitung" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "Bestands-Lagerplätze" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "Bestandsrouten" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "Ist Follower" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "Positionen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "Kanban" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Zuletzt geändert am" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "Zuletzt aktualisiert durch" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "Zuletzt aktualisiert am" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "Ort" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "Lagerplatz muss dem des Auftrags entsprechen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "Hauptanhang" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "Stammdaten" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "Meldungszustellfehler" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "Meldungen" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"Umlagerungen infolge dieser Anforderung werden in dieser Beschaffungsgruppe " +"zusammengefasst. Ohne Angabe werden Umlagerungen aus Beschaffungsregeln in " +"einer gemeinsamen Kommissionierung gesammelt." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "Bezeichnung" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "Der Name muss einzigartig sein" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Nächste Handlungsfrist" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "Nächste Handlungszusammenfassung" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "Nächste Handlungsart" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "Anzahl der Handlungen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +#, fuzzy +msgid "Number of errors" +msgstr "Fehleranzahl" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Anzahl Meldungen mit Zustellfehler" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "Nur Aufträge im Entwurf dürfen gelöscht werden" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "Nur Anforderungen im Entwurf dürfen gelöscht werden" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "Offene Menge" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "Vorgänge" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +#, fuzzy +msgid "Order" +msgstr "Auftrag" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "Aufträge & Konfiguration" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "Kommissionierungen" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "Beschaffungsgruppe" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "Beschaffungsgruppe muss mit Auftrag übereinstimmen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produkt" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Produktumbuchungen (Lagerbuchung)" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "Produktmengeneinheit" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "Einkäufe" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "Erledigte Menge" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "Menge in Bearbeitung" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "Menge" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "Erledigte Menge" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "Menge in Bearbeitung." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Menge in Vorgabe-ME des Produkts" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" +"Menge der Anforderung, die der Lagerbuchung zugeschrieben ist, in ME der " +"Bestandsanforderung" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" +"Menge aus der Anforderung dieser Umlagerung, in Vorgabe-ME des Produkts" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Menge, angegeben in Mengeneinheit der Anforderung." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "Ist-Menge" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "Alle Produkte auf einmal erhalten" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "Jedes Produkt bei Verfügbarkeit erhalten" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +#, fuzzy +msgid "Request Stock" +msgstr "Ware anfordern" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "Angeforderte Menge" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "Angeforderte Menge (ME)" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "Angefordert muss mit dem Auftrag übereinstimmen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "Verantwortlicher" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "Route" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "Routen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "Setze auf Entwurf" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "Einstellungen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "Versandregel" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "Status" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Status auf Handlungen basierend\n" +"Überfällig: Fälligkeitsdatum ist überschritten\n" +"Heute: Handlungsdatum ist heute\n" +"Geplant: Künftige Handlungen." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "Bestandsbuchung" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "Bestandsbuchungen" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "Bestandsanforderung" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "Bestandsanforderung Nr." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "Bestandszuweisung beantragen" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "Bestandsanforderung Zuteilungen" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "Anforderungsverwalter" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "Bestandsanforderungsauftrag" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "Bestandsanforderungsaufträge" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "Bestandsanforderungsvorlage" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "Anforderungs-Anwender" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "Bezeichner der Anforderung muss eindeutig sein" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "Bestandsanforderungs-Produktmenge muss streng positiv sein." + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "Bestandsanforderungen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "Bestandsanforderung Kostenrechnungsintegration" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "Bestandsanforderungen Kanban-Integration" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#, fuzzy +msgid "Stock Requests Order Search" +msgstr "Anforderungssuche" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "Anforderungssuche" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "Bestandsanforderungen im Einkauf" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "Bestandsregel" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +#, fuzzy +msgid "Stock requests" +msgstr "Bestandsanforderungen" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +#, fuzzy +msgid "Submitted state in Stock Requests" +msgstr "Klicken, um eine Bestandaanforderung zu stellen." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "Diese Aktion kann nur im Kontext von Produkten ausgeführt werden" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "Umlagerungen" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "Warenlager" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" +"Sie müssen eine Produktmengeneinheit aus der gleichen Kategorie, wie die " +"Basismengeneinheit des Produkts, verwenden" + +#~ msgid "Add State to Stock Request and Stock Request Orders if activated." +#~ msgstr "" +#~ "Füge Status der Anforderung und Anforderungsaufträgen hinzu, falls " +#~ "aktiviert." + +#~ msgid "" +#~ "By default only internal and transit locations are allowed in Stock " +#~ "Request and Orders." +#~ msgstr "" +#~ "Im Standard sind nur interne und Durchgangslager in Anforderungen und " +#~ "Aufträgen zulässig." + +#~ msgid "Number of messages which requires an action" +#~ msgstr "Anzahl Meldungen mit Handlungserfordernis" + +#~ msgid "Number of unread messages" +#~ msgstr "Anzahl ungelesener Meldungen" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/el_GR.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/el_GR.po new file mode 100644 index 0000000..1f7dd59 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/el_GR.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Προϊόν" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es.po new file mode 100644 index 0000000..a769bde --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es.po @@ -0,0 +1,1219 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-26 16:12+0000\n" +"PO-Revision-Date: 2024-09-27 18:06+0000\n" +"Last-Translator: Víctor Martínez \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: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" +"
  • %(product_name)s: Cantidad transferida " +"%(product_qty)s%(product_uom)s
  • " + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "Acción Necesaria" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "Activa las Solicitudes de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Actividad Excepción Decoración" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "Estado de Actividad" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de tipo de actividad" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "Cantidad reservada" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "Permitir Todos los Tipos de Ubicaciones" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Permitir ubicaciones Virtuales en Solicitudes de Stock" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "Analítica" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "Contabilidad analítica en solicitudes de stock" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "Cuenta de Archivos Adjuntos" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "Por defecto, el stock disponible no se usa" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "Cancelado" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "Categoría" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "Comprobar stock disponible primero" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "Pulse para añadir una solicitud de existencias." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "Compañías" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "Compañía" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "La compañía debe ser la misma que la de la petición" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "Configuración" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "Confirmar" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" +"La conversión entre las unidades de medidas sólo pueden ocurrir si " +"pertenecen a la misma categoría. La conversión se basará en los ratios " +"establecidos." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "Solicitudes de existencias" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "Fecha prevista de recepción de la mercancía." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "Pedidos de entrega" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "Hecho" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "Borrador" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "Habilitar contabilidad analítica en solicitudes de stock" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "Permite usar Pedidos de entrega" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "Permite usar tarjetas Kanban para las solicitudes de existencias" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "Habilitar solicitudes de stock para fabricación" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "Permite usar las solicitudes de existencias con Compras" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "Habilitar Estado Enviado" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "Fecha prevista" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "La fecha prevista debe ser la misma que la del pedido" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "Terminado" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "Seguidores" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (Socios)" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de Font Awesome ej. fa-tasks" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "Agrupa las solicitudes en pedidos" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "Tiene Mensaje" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icono para indicar una actividad de excepción." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Si está marcado, los nuevos mensajes requieren su atención." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Si está marcado, algunos mensajes tienen un error de entrega." + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "En progreso" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "En progreso" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "Localización de Inventarios" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "Rutas de inventarios" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "Es Seguidor" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "Elementos" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "Vista Kanban" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Última Modificación el" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "Última actualización por" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "Última actualización el" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "Ubicación" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "La ubicación debe ser la misma que la del pedido" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "Adjunto Principal" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "Orden de producción" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "Datos Maestros" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "Mensaje de Entrega de error" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"Los movimientos generados por esta solicitud se asignaran a este grupo de " +"reabastecimiento. Si no se define, los movimientos generados se agruparan en " +"un gran movimiento." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Mi fecha de límite de actividad" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "Nombre" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "El nombre debe ser único" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha Límite de Actividad Siguiente" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de actividad siguiente" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "Siguiente tipo de actividad" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero de Acciones" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "Número de errores" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "Solo los pedidos en estado borrado pueden ser eliminadas" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "Sólo se pueden eliminar peticiones en estado borrador" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "Cantidad pendiente" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "Operaciones" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "Pedido" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "Pedidos y Configuraciones" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "Albaranes" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "Grupo de abastecimiento" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "El grupo de abastecimiento debe coincidir" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Producto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Movimientos de producto (línea de movimiento de stock)" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "Unidad de medida del producto" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "Compras" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "Cant. cancelada" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "Cantidad finalizada" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "Cantidad en progreso" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "Cantidad" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "Cantidad cancelada" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "Cantidad completada" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "Cantidad en progreso." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Cantidad en la UdM por defecto del producto" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" +"Cantidad asignada de la solicitud de existencias en el movimiento, en la UdM " +"de la Solicitud de Existencias" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" +"Cantidad asignada de la solicitud de existencias en el movimiento, en la UdM " +"por defecto del producto" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Cantidad, especificada en la unidad de medida de la solicitud." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "Cantidad real" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" +"Confirmación de recibo %(picking_name)s para su Solicitud %(request_name)s" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "Recibir todos los productos a la vez" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "Recibir cada producto cuando este disponible" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "Solicitud de Existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "Solicitado por" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "Cantidad solicitada" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "Cantidad Solicitada (UdM)" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "El solicitante debe coincidir" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "Usuario Responsable" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "Ruta" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "Rutas" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "Marcar como Borrador" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "Ajustes" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "Política de Entrega" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "Estado" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado basado en actividades\n" +"Atrasado: la fecha de vencimiento ya pasó\n" +"Hoy: la fecha de la actividad es hoy\n" +"Planificado: Actividades futuras." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "Movimiento de stock" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "Movimientos de stock" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "Solicitud de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "Solicitud de existencias #" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "Asignación de solicitud de existencias" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "Asignaciones de solicitud de existencias" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "Gestor de solicitudes de existencias" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "Pedido de existencias" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "Pedidos de existencias" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "Plantilla de solicitud de existencias" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "Usuario de Solicitudes de Existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "Solicitud de stock para fabricación" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "El nombre de la solicitud debe ser único" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" +"La cantidad de producto de la solicitud de stock no puede ser negativa." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" +"La cantidad de producto de la solicitud de stock debe ser estrictamente " +"positiva." + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "Solicitudes de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "Solicitudes de stock Integración analítica" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "Integración de solicitudes de existencias con tarjetas Kanbans" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "Buscar solicitudes de existencias" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "Buscar solicitudes de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "Solicitudes de existencias para compras" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "Regla de stock" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "Pedido de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "Solicitudes de existencias" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "Estado enviado en solicitudes de stock" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "La compañía de la solicitud debe coincidir con la de la localización." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "La compañía de la solicitud debe coincidir con la del almacén." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" +"Los siguientes elementos solicitados de la solicitud de stock " +"%(request_name)s ahora se han recibido en %(location_name)s usando Picking " +"%(picking_name)s:" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "La política de albaranes debe coincidir" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "Debe haber al menos un elemento de solicitud para confirmar el pedido." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "Esta acción solo funciona en el contexto de productos" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "Transferir" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "Transferencias" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo de actividad de excepción registrada." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "UdM" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "Usar tarjetas Kanban para los consumibles" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "Usar órdenes de fabricación con solicitudes de existencias" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "Usar Compras con las Solicitudes de Existencias" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "Almacén" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "El almacén debe coincidir" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "Mensajes del sitio web" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "Historial de comunicación del sitio web" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" +"No puede cambiar la compañía de la localización, ya que tiene asignados " +"pedidos de existencias que pertenecen a otras compañías." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"No puede cambiar la compañía de la localización, ya que tiene asignadas " +"solicitudes de existencias que pertenecen a otras compañías." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"No puede cambiar la compañía de la ruta, ya que está asignada a solicitudes " +"de existencias que pertenecen a otras compañías." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" +"No puede cambiar la compañía del almacén, ya que está asignada a pedidos de " +"existencias que pertenecen a otras compañías." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"No puede cambiar la compañía del almacén, ya que está asignada a solicitudes " +"de existencias que pertenecen a otras compañías." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "Ha seleccionado una localización que está asignada a otra compañía." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "Ha seleccionado un producto que está asignado a otra compañía." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "Ha seleccionado una ruta que está asignada a otra compañía." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "Ha seleccionado un almacén que está asignado a otra compañía." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" +"Debe seleccionada una unidad de medida de producto de la misma categoría que " +"la unidad de medida por defecto del producto" + +#~ msgid "Add State to Stock Request and Stock Request Orders if activated." +#~ msgstr "" +#~ "Agregue estado a la solicitud de stock y las órdenes de solicitud de " +#~ "stock si está activado." + +#~ msgid "" +#~ "By default only internal and transit locations are allowed in Stock " +#~ "Request and Orders." +#~ msgstr "" +#~ "De manera predeterminada, solo se permiten ubicaciones internas y de " +#~ "tránsito en Solicitud de inventario y pedidos." + +#~ msgid "Number of messages which requires an action" +#~ msgstr "Número de mensajes que requieren una acción" + +#~ msgid "Number of unread messages" +#~ msgstr "Número de mensajes no leídos" + +#~ msgid "Unread Messages" +#~ msgstr "Mensajes no leídos" + +#~ msgid "Unread Messages Counter" +#~ msgstr "Contador de Mensajes no Leídos" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es_ES.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es_ES.po new file mode 100644 index 0000000..757af54 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/es_ES.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Producto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/eu.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/eu.po new file mode 100644 index 0000000..07532f1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/eu.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produktua" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fi.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fi.po new file mode 100644 index 0000000..0ce2ead --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fi.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Tuote" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr.po new file mode 100644 index 0000000..75006ec --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Article" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_CH.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_CH.po new file mode 100644 index 0000000..b79656f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_CH.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produit" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_FR.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_FR.po new file mode 100644 index 0000000..9353652 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/fr_FR.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produit" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/gl.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/gl.po new file mode 100644 index 0000000..ff82272 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/gl.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr.po new file mode 100644 index 0000000..d7a24a2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Proizvod" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr_HR.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr_HR.po new file mode 100644 index 0000000..c7dfcf3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/hr_HR.po @@ -0,0 +1,1160 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Proizvod" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/it.po new file mode 100644 index 0000000..f8e9747 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/it.po @@ -0,0 +1,1201 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2024-10-03 10:06+0000\n" +"Last-Translator: mymage \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" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" +"
  • %(product_name)s: quantità trasferita %(product_qty)s " +"%(product_uom)s
  • " + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "Azione richiesta" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "Attiva ordini richiesta magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "Attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decorazione eccezione attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "Stato attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icona tipo attività" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" +"Aggiunge lo stato alle richieste di magazzino e agli ordini richieste di " +"magazzino se\n" +" attivata." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "Quantità assegnata" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "Consenti tutti i tipi di ubicazioni" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Consenti ubicazioni virtuali su richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "Analitico" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "Contabilità analitica nelle richieste di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "Conteggio allegati" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" +"Solo le ubicazioni di transito interne sono consentiti in modo predefinito\n" +" nelle richieste di magazzino e ordini." + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "In modo predefinito, non è utilizzata la giacenza disponibile" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "Annulla" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "Annullata" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "Categoria" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "Controlla prima la giacenza disponibile" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "Clicca per aggiungere una richiesta di magazzino." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "Aziende" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "Azienda" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "L'azienda deve essere la stessa dell'ordine" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "Impostazioni configurazione" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "Conferma" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" +"Le conversioni tra unità di misura possono avvenire solo se appartengono " +"alla stessa categoria. La conversione verrà effettuata in base alle " +"proporzioni." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "Richieste attuali" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "Data in cui si prevede di ricevere la merce." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "Ordini di consegna" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "Evasa" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "Bozza" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "Abilita contabilità analitica nelle richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "Abilita ordini" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "Abilita le tessere Kanban per le richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "Abilita richieste di magazzino per la produzione" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "Abilita richieste di magazzino per gli acquisti" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "Abilita stato inviato" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "Data attesa" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "La data attesa deve essere uguale all'ordine" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "Completata" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "Seguito da" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguito da (partner)" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icona Font Awesome es. fa-tasks" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "Raggruppa per" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "Raggruppa ordine richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "Ha un messaggio" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "Icona" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Icona per indicare un'attività eccezione." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Se selezionata, nuovi messaggi richiedono attenzione." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Se selezionata, alcuni messaggi hanno un errore di consegna." + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "In corso" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "In corso" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "Ubicazioni di inventario" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "Percorsi di inventario" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "Segue" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "Articoli" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "Kanban" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "Ubicazione" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "L'ubicazione deve essere la stessa dell'ordine" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "Allegato principale" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "Produzione" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "Dati principali" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "Errore di consegna messaggio" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "Messaggi" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"I movimenti creati tramite questa richiesta di magazzino verranno inseriti " +"in questo gruppo di approvvigionamento. Se non ne viene fornito nessuno, i " +"movimenti generati dalle regole di approvvigionamento verranno raggruppati " +"in un unico grande prelievo." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Scadenza mia attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "Nome" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "Il nome deve essere univoco" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Scadenza prossima attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "Riepilogo prossima attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo prossima attività" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "Numero di azioni" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "Numero di errori" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Numero di messaggi che richiedono un'azione" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Numero di messaggi con errore di consegna" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "Solo gli ordini in stato bozza possono essere scollegati" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "Solo le richieste in stato bozza possono essere scollegate" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "Quantità aperta" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "Operazioni" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "Ordine" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "Ordini & Configurazione" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "Prelievi" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "Gruppo di approvvigionamento" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "Il gruppo di approvvigionamento deve essere lo stesso dall'ordine" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Prodotto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "Movimenti prodotto (riga movimento di magazzino)" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "Unità di misura del prodotto" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "Acquisti" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "Q.tà annullata" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "Q.tà prodotta" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "Q.tà in lavorazione" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "Quantità" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "Quantità annullata" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "Quantità completata" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "Quantità in lavorazione." + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Quantità nell'UdM predefinita del prodotto" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" +"Quantità della richiesta di magazzino assegnata al movimento di magazzino, " +"nell'UdM della richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" +"Quantità della richiesta di magazzino assegnata al movimento di magazzino, " +"nell'UdM predefinita del prodotto" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Quantità, specificata nell'unità di misura indicata nella richiesta." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "Quantità reale" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" +"Conferma ricezione %(picking_name)s per la vostra richiesta %(request_name)s" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "Ricevi tutti i prodotti contemporaneamente" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "Ricevi ogni prodotto quando disponibile" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "Richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "Richiesta da" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "Quantità richiesta" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "Quantità richiesta (UdM)" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "Richiesto da deve essere uguale all'ordine" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "Utente responsabile" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "Percorso" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "Percorsi" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "Imposta a bozza" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "Impostazioni" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "Politica di spedizione" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "Stato" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Stato in base alle attività\n" +"Scaduto: la data richiesta è trascorsa\n" +"Oggi: la data attività è oggi\n" +"Pianificato: attività future." + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "Movimento di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "Movimenti di magazzino" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "Richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "N° richieste di magazzino" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "Allocazione richiesta di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "Allocazioni richieste di magazzino" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "Gestore richieste di stock" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "Ordini richiesta di magazzino" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "Modello di richiesta di magazzino" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "Utente richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "Richieste di magazzino per la produzione" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "Il nome della richiesta di magazzino deve essere univoco" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "La quantità della richiesta di magazzino non può essere negativa." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" +"La quantità prodotto della richiesta di magazzino deve essere positiva." + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "Richieste di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "Integrazione analitica richieste di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "Integrazione Kanban richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "Ricerca ordini richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "Ricerca richieste di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "Richieste di magazzino per gli acquisti" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "Regola di giacenza" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "Richieste di magazzino" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "Stato inserito nelle richieste di magazzino" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" +"L'azienda della richiesta di magazzino deve corrispondere con quella " +"dell'ubicazione." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" +"L'azienda della richiesta di magazzino deve corrispondere con quella del " +"magazzino." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" +"I seguenti elementi presenti nella richiesta di magazzino %(request_name)s " +"sono in ricevimento in %(location_name)s con il prelievo %(picking_name)s:" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "La politica di prelievo deve essere uguale a quella dell'ordine" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "Il percorso relativo ad un ordine richiesta di magazzino" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "Deve esserci almeno un articolo richiesto per confermare l'ordine." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "Questa azione lavora solo nel contesto dei prodotti" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "Trasferimento" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "Trasferimenti" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo di attività eccezione sul record." + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "UdM" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "Usa tessere Kanban per prodotti consumabili" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "Usa ordini di produzione con le richieste di magazzino" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "Usa acquisti con le richieste di magazzino" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "Magazzino" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "Il magazzino deve essere uguale all'ordine" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "Messaggi sito web" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "Cronologia comunicazioni sito web" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" +"Non si può modificare l'azienda dell'ubicazione perché già assegnata a " +"ordini di richiesta magazzino che appartengono ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"Non si può modificare l'azienda dell'ubicazione perché già assegnata a " +"richieste di magazzino che apprtengono ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"Non si piò modificare l'azienda di una rotta perché già assegnata ad una " +"richiesta di magazzino che appartiene ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" +"Non si può modificare l'azienda del magazzino perché è già assegnato ad un " +"ordine richiesta di magazzino che apperetiene ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" +"Non si può modificare l'azienda del magazzino perché è già assegnato ad una " +"richiesta di magazzino che apperetiene ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "È stata inserita una ubicazione che è assegnata ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "È stato inserito un prodotto che è assegnato ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "È stata inserita una rotta che è assegnata ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "È stato inserito un magazzino che è assegnato ad un'altra azienda." + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" +"Bisogna selezionare una unità di misura prodotto della stessa categoria " +"dell'unità di misura predefinita del prodotto" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja.po new file mode 100644 index 0000000..854bded --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja.po @@ -0,0 +1,1154 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ja\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja_JP.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja_JP.po new file mode 100644 index 0000000..56da0d2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ja_JP.po @@ -0,0 +1,1154 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: ja_JP\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl.po new file mode 100644 index 0000000..dab917f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Product" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl_NL.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl_NL.po new file mode 100644 index 0000000..3a475aa --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/nl_NL.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Product" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt.po new file mode 100644 index 0000000..12cab66 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt_BR.po new file mode 100644 index 0000000..f9e19b2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/pt_BR.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produto" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ro.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ro.po new file mode 100644 index 0000000..216c3c2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ro.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Produs" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ru.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ru.po new file mode 100644 index 0000000..1e07fe7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/ru.po @@ -0,0 +1,1160 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Товар/Услуга" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/sl.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/sl.po new file mode 100644 index 0000000..9e48667 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/sl.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Proizvod" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/stock_request.pot b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/stock_request.pot new file mode 100644 index 0000000..270cff4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/stock_request.pot @@ -0,0 +1,1155 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the" +" Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "" +"The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to" +" stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to" +" stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr.po new file mode 100644 index 0000000..3b4c8db --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr.po @@ -0,0 +1,1158 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Ürün" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr_TR.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr_TR.po new file mode 100644 index 0000000..6d46356 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/tr_TR.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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=2; plural=(n > 1);\n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Ürün" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/vi_VN.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/vi_VN.po new file mode 100644 index 0000000..fbfe4f6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/vi_VN.po @@ -0,0 +1,1159 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: OCA Transbot , 2018\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_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Current requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "Sản phẩm" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Requests Order Search" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/zh_CN.po new file mode 100644 index 0000000..a44ebeb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/i18n/zh_CN.po @@ -0,0 +1,1190 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\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" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"
  • %(product_name)s: Transferred quantity " +"%(product_qty)s%(product_uom)s
  • " +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction +msgid "Action Needed" +msgstr "需要采取行动" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Activates Stock Request Orders" +msgstr "激活库存请求单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_ids +msgid "Activities" +msgstr "活动" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_state +msgid "Activity State" +msgstr "活动状态" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"Add State to Stock Request and Stock Request Orders if\n" +" activated." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__allocated_product_qty +msgid "Allocated Quantity" +msgstr "分配数量" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Allow All Locations Types" +msgstr "允许所有位置类型" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_allow_virtual_loc +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allow_virtual_location +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "允许库存请求中的虚拟位置" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic" +msgstr "分析" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Analytic accounting in Stock Requests" +msgstr "库存请求中的分析会计" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_attachment_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_attachment_count +msgid "Attachment Count" +msgstr "附件数量" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "" +"By default only internal and transit locations are allowed in\n" +" Stock Request and Orders." +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "By default, available stock is not used" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Cancel" +msgstr "取消" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__cancel +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Cancelled" +msgstr "已取消" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_company__stock_request_check_available_first +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__stock_request_check_available_first +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Check available stock first" +msgstr "" + +#. module: stock_request +#: model_terms:ir.actions.act_window,help:stock_request.action_stock_request_form +msgid "Click to add a Stock Request." +msgstr "点击以添加库存请求。" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_company +msgid "Companies" +msgstr "公司" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__company_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__company_id +msgid "Company" +msgstr "公司" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Company must be equal to the order" +msgstr "公司必须等于订单" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_res_config_settings +msgid "Config Settings" +msgstr "配置设定" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Confirm" +msgstr "确认" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__allowed_uom_categ_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__create_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#, fuzzy +msgid "Current requests" +msgstr "库存请求" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,help:stock_request.field_stock_request_order__expected_date +msgid "Date when you expect to receive the goods." +msgstr "您希望收到货物的日期。" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_count +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_count +msgid "Delivery Orders" +msgstr "交货单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__display_name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__done +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Done" +msgstr "完成" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__draft +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Draft" +msgstr "草稿" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Analytic Accounting in Stock Requests" +msgstr "在库存请求中启用分析会计" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Orders" +msgstr "启用订单" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests Kanban cards" +msgstr "启用库存请求看板卡" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Manufacturing" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Stock Requests for Purchases" +msgstr "启用采购的库存请求" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Enable Submitted State" +msgstr "启用提交状态" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__expected_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__expected_date +msgid "Expected Date" +msgstr "预计日期" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Expected date must be equal to the order" +msgstr "预计日期必须等于订单" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Finished" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_follower_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_follower_ids +msgid "Followers" +msgstr "关注者" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_partner_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_partner_ids +msgid "Followers (Partners)" +msgstr "关注者(业务伙伴)" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_type_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Group By" +msgstr "分组" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__group_stock_request_order +msgid "Group Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__has_message +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_icon +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction +msgid "If checked, new messages require your attention." +msgstr "如果勾选此项,将会收到新消息提醒。" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "如果勾选此项, 某些信息将会产生传递错误。" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#, fuzzy +msgid "In Progress" +msgstr "进行中" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__state__open +msgid "In progress" +msgstr "" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_location +msgid "Inventory Locations" +msgstr "库存位置" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_route +msgid "Inventory Routes" +msgstr "库存路由" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_is_follower +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_is_follower +msgid "Is Follower" +msgstr "是关注者" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Items" +msgstr "项" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Kanban" +msgstr "看板" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation____last_update +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "最后修改时间" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_uid +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__write_date +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__location_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__location_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Location" +msgstr "位置" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Location must be equal to the order" +msgstr "位置必须等于订单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_main_attachment_id +msgid "Main Attachment" +msgstr "附件" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_master_data +msgid "Master Data" +msgstr "主数据" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error +msgid "Message Delivery error" +msgstr "消息递送错误" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_ids +msgid "Messages" +msgstr "消息" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,help:stock_request.field_stock_request_order__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"通过此库存请求创建的移动将放入此采购组。如果没有给出,则由采购规则生成的移动" +"将被分组为一个大拣货。" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__name +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__name +msgid "Name" +msgstr "名称" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_abstract_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_kanban_name_uniq +msgid "Name must be unique" +msgstr "名称必须唯一" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "下一个活动截止日期" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_summary +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_summary +msgid "Next Activity Summary" +msgstr "下一个活动摘要" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_type_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_type_id +msgid "Next Activity Type" +msgstr "下一个活动类型" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of Actions" +msgstr "操作次数" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__message_has_error_counter +#, fuzzy +msgid "Number of errors" +msgstr "错误数" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_needaction_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__message_has_error_counter +#: model:ir.model.fields,help:stock_request.field_stock_request_order__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "传递错误的消息数量" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "Only orders on draft state can be unlinked" +msgstr "只有处于草稿状态的订单才能取消链接" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Only requests on draft state can be unlinked" +msgstr "只有处于草稿状态的请求才能取消链接" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__open_product_qty +msgid "Open Quantity" +msgstr "开放数量" + +#. module: stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_operations +msgid "Operations" +msgstr "操作" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__order_id +msgid "Order" +msgstr "订单" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Orders & Configuration" +msgstr "订单&配置" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_ids +msgid "Pickings" +msgstr "拣货" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_procurement_group +#: model:ir.model.fields,field_description:stock_request.field_stock_request__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__procurement_group_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__procurement_group_id +msgid "Procurement Group" +msgstr "补货组" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Procurement group must be equal to the order" +msgstr "补货组必须等于订单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Product" +msgstr "产品" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move_line +msgid "Product Moves (Stock Move Line)" +msgstr "产品移动(库存移动行)" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_id +msgid "Product Unit of Measure" +msgstr "产品计量单位" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Purchases" +msgstr "采购" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_cancelled +msgid "Qty Cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_done +msgid "Qty Done" +msgstr "完成数量" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__qty_in_progress +msgid "Qty In Progress" +msgstr "进行中的数量" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity" +msgstr "数量" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_cancelled +msgid "Quantity cancelled" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_done +msgid "Quantity completed" +msgstr "已完成数量" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__qty_in_progress +msgid "Quantity in progress." +msgstr "进行中的数量。" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "产品的默认计量单位数量" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the UoM of the " +"Stock Request" +msgstr "分配给库存移动的库存请求的数量,以库存请求的计量单位为单位" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__allocated_product_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_allocation__requested_product_qty +msgid "" +"Quantity of the stock request allocated to the stock move, in the default " +"UoM of the product" +msgstr "分配给库存移动的库存请求的数量,以产品的默认计量单位为单位" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__product_uom_qty +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "数量,以请求中指示的计量单位指定。" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__product_qty +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__product_qty +msgid "Real Quantity" +msgstr "实际数量" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "Receipt confirmation %(picking_name)s for your Request %(request_name)s" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__one +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__one +msgid "Receive all products at once" +msgstr "一次接收所有产品" + +#. module: stock_request +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request__picking_policy__direct +#: model:ir.model.fields.selection,name:stock_request.selection__stock_request_order__picking_policy__direct +msgid "Receive each product when available" +msgstr "收到每个可用的产品" + +#. module: stock_request +#: model:ir.actions.server,name:stock_request.action_template_generate_stock_request_orders +#: model:ir.actions.server,name:stock_request.action_variant_generate_stock_request_orders +msgid "Request Stock" +msgstr "请求库存" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__requested_by +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__requested_by +msgid "Requested By" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_qty +msgid "Requested Quantity" +msgstr "已请求的数量" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__requested_product_uom_qty +msgid "Requested Quantity (UoM)" +msgstr "已请求的数量(单位)" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Requested by must be equal to the order" +msgstr "请求者必须等于订单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__activity_user_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__activity_user_id +msgid "Responsible User" +msgstr "责任用户" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Route" +msgstr "路线" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__route_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__route_ids +msgid "Routes" +msgstr "路线" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Set to Draft" +msgstr "设置为草稿" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_config +#: model:ir.ui.menu,name:stock_request.menu_stock_request_config +msgid "Settings" +msgstr "设置" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__picking_policy +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__picking_policy +msgid "Shipping Policy" +msgstr "交货策略" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__state +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__state +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Status" +msgstr "状态" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_state +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"基于活动的状态\n" +"逾期:已经超过截止日期\n" +"现今:活动日期是当天\n" +"计划:未来的活动。" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_move +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_move_id +msgid "Stock Move" +msgstr "库存移动" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__move_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__move_ids +msgid "Stock Moves" +msgstr "库存移动" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__stock_request_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_ids +#: model:ir.module.category,name:stock_request.module_category_stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_count +msgid "Stock Request #" +msgstr "库存请求 #" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_allocation +#: model:ir.model.fields,field_description:stock_request.field_stock_move__allocation_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request__allocation_ids +msgid "Stock Request Allocation" +msgstr "库存请求分配" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.view_move_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_allocation_form +msgid "Stock Request Allocations" +msgstr "库存请求分配" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_manager +msgid "Stock Request Manager" +msgstr "库存请求管理" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_order +#: model:res.groups,name:stock_request.group_stock_request_order +msgid "Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.stock_request_order_action +#: model:ir.ui.menu,name:stock_request.stock_request_order_menu +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +msgid "Stock Request Orders" +msgstr "库存请求单" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_request_abstract +msgid "Stock Request Template" +msgstr "库存请求模版" + +#. module: stock_request +#: model:res.groups,name:stock_request.group_stock_request_user +msgid "Stock Request User" +msgstr "库存请求用户" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_mrp +msgid "Stock Request for Manufacturing" +msgstr "" + +#. module: stock_request +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_name_uniq +#: model:ir.model.constraint,message:stock_request.constraint_stock_request_order_name_uniq +msgid "Stock Request name must be unique" +msgstr "库存请求名称必须唯一" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity cannot be negative." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Stock Request product quantity has to be strictly positive." +msgstr "库存请求产品的数量必须严格为正数。" + +#. module: stock_request +#: model:ir.actions.act_window,name:stock_request.action_stock_request_form +#: model:ir.model.fields,field_description:stock_request.field_stock_move__stock_request_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_picking__stock_request_ids +#: model:ir.ui.menu,name:stock_request.menu_stock_request +#: model:ir.ui.menu,name:stock_request.menu_stock_request_root +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +#: model_terms:ir.ui.view,arch_db:stock_request.view_picking_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Stock Requests" +msgstr "库存请求" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_analytic +msgid "Stock Requests Analytic integration" +msgstr "库存请求分析集成" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_kanban +msgid "Stock Requests Kanban integration" +msgstr "库存请求看板集成" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#, fuzzy +msgid "Stock Requests Order Search" +msgstr "库存请求搜索" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Stock Requests Search" +msgstr "库存请求搜索" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_purchase +msgid "Stock Requests for Purchases" +msgstr "采购库存请求" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_rule +msgid "Stock Rule" +msgstr "库存规则" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +msgid "Stock request Order" +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__stock_request_count +msgid "Stock requests" +msgstr "库存请求" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_res_config_settings__module_stock_request_submit +msgid "Submitted state in Stock Requests" +msgstr "库存请求的提交状态" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move.py:0 +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the location." +msgstr "库存请求的公司必须与位置的公司匹配。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "The company of the stock request must match with that of the warehouse." +msgstr "库存请求的公司必须与仓库的公司匹配。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_move_line.py:0 +#, python-format +msgid "" +"The following requested items from Stock Request %(request_name)s have now " +"been received in %(location_name)s using Picking %(picking_name)s:" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "The picking policy must be equal to the order" +msgstr "拣货策略必须等于订单" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request_order__route_id +msgid "The route related to a stock request order" +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for confirming the order." +msgstr "" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_order.py:0 +#, python-format +msgid "This action only works in the context of products" +msgstr "此操作仅在产品范围内有效" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_picking +msgid "Transfer" +msgstr "调拨" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request.view_stock_request_form +msgid "Transfers" +msgstr "调拨" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__activity_exception_decoration +#: model:ir.model.fields,help:stock_request.field_stock_request_order__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request_allocation__product_uom_id +msgid "UoM" +msgstr "单位" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Kanban cards for consumable products" +msgstr "对消耗品使用看板卡" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Manufacturing Orders with Stock Requests" +msgstr "" + +#. module: stock_request +#: model_terms:ir.ui.view,arch_db:stock_request.res_config_settings_view_form +msgid "Use Purchases with Stock Requests" +msgstr "将采购与库存请求一起使用" + +#. module: stock_request +#: model:ir.model,name:stock_request.model_stock_warehouse +#: model:ir.model.fields,field_description:stock_request.field_stock_request__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__warehouse_id +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_order_search +#: model_terms:ir.ui.view,arch_db:stock_request.stock_request_search +msgid "Warehouse" +msgstr "仓库" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request.py:0 +#, python-format +msgid "Warehouse must be equal to the order" +msgstr "仓库必须等于订单" + +#. module: stock_request +#: model:ir.model.fields,field_description:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,field_description:stock_request.field_stock_request_order__website_message_ids +msgid "Website Messages" +msgstr "网站消息" + +#. module: stock_request +#: model:ir.model.fields,help:stock_request.field_stock_request__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_abstract__website_message_ids +#: model:ir.model.fields,help:stock_request.field_stock_request_order__website_message_ids +msgid "Website communication history" +msgstr "网站沟通记录" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "您无法更改位置的公司,因为它已分配给属于另一公司的库存请求单。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_location.py:0 +#, python-format +msgid "" +"You cannot change the company of the location, as it is already assigned to " +"stock requests that belong to another company." +msgstr "您无法更改位置的公司,因为它已分配给属于另一公司的库存请求。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_route.py:0 +#, python-format +msgid "" +"You cannot change the company of the route, as it is already assigned to " +"stock requests that belong to another company." +msgstr "您无法更改该路线的公司,因为它已分配给属于另一公司的库存请求。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock request orders that belong to another company." +msgstr "您无法更改仓库的公司,因为它已经分配给属于另一家公司的库存请求单。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_warehouse.py:0 +#, python-format +msgid "" +"You cannot change the company of the warehouse, as it is already assigned to " +"stock requests that belong to another company." +msgstr "您无法更改仓库的公司,因为它已分配给属于另一个公司的库存请求。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a location that is assigned to another company." +msgstr "您输入了分配给其他公司的位置。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a product that is assigned to another company." +msgstr "您输入了分配给其他公司的产品。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a route that is assigned to another company." +msgstr "您输入了分配给其他公司的路线。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "You have entered a warehouse that is assigned to another company." +msgstr "您输入了分配给其他公司的仓库。" + +#. module: stock_request +#. odoo-python +#: code:addons/stock_request/models/stock_request_abstract.py:0 +#, python-format +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "您必须选择与产品默认计量单位相同类别的产品计量单位" + +#~ msgid "Add State to Stock Request and Stock Request Orders if activated." +#~ msgstr "如果激活,则将状态添加到库存请求和库存请求订单中。" + +#~ msgid "" +#~ "By default only internal and transit locations are allowed in Stock " +#~ "Request and Orders." +#~ msgstr "默认情况下,库存请求和订单中只允许内部和运输地点。" + +#~ msgid "Number of messages which requires an action" +#~ msgstr "需要操作消息数量" + +#~ msgid "Number of unread messages" +#~ msgstr "未读消息的数量" + +#~ msgid "Unread Messages" +#~ msgstr "未读消息" + +#~ msgid "Unread Messages Counter" +#~ msgstr "未读消息计数器" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/__init__.py new file mode 100644 index 0000000..e6cf792 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/__init__.py @@ -0,0 +1,14 @@ +from . import procurement_group +from . import stock_request_abstract +from . import stock_request +from . import stock_request_allocation +from . import stock_request_order +from . import stock_move +from . import stock_picking +from . import stock_rule +from . import stock_move_line +from . import res_config_settings +from . import stock_warehouse +from . import stock_location +from . import stock_route +from . import res_company diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/procurement_group.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/procurement_group.py new file mode 100644 index 0000000..e63fdd6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/procurement_group.py @@ -0,0 +1,29 @@ +# Copyright (C) 2019 Open Source Integrators +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). + +from odoo import api, models + + +class ProcurementGroup(models.Model): + _inherit = "procurement.group" + + @api.model + def run(self, procurements, raise_user_error=True): + indexes_to_pop = [] + new_procs = [] + for i, procurement in enumerate(procurements): + if "stock_request_id" in procurement.values and procurement.values.get( + "stock_request_id" + ): + req = self.env["stock.request"].browse( + procurement.values.get("stock_request_id") + ) + if req.order_id: + new_procs.append(procurement._replace(origin=req.order_id.name)) + indexes_to_pop.append(i) + if new_procs: + indexes_to_pop.reverse() + for index in indexes_to_pop: + procurements.pop(index) + procurements.extend(new_procs) + return super().run(procurements, raise_user_error=raise_user_error) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_company.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_company.py new file mode 100644 index 0000000..7314f3d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_company.py @@ -0,0 +1,17 @@ +# Copyright 2018 ForgeFlow S.L. +# (http://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + + +from odoo import fields, models + + +class ResCompany(models.Model): + _inherit = "res.company" + + stock_request_allow_virtual_loc = fields.Boolean( + string="Allow Virtual locations on Stock Requests" + ) + stock_request_check_available_first = fields.Boolean( + string="Check available stock first" + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_config_settings.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_config_settings.py new file mode 100644 index 0000000..632e7d4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/res_config_settings.py @@ -0,0 +1,43 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + group_stock_request_order = fields.Boolean( + implied_group="stock_request.group_stock_request_order" + ) + + module_stock_request_purchase = fields.Boolean( + string="Stock Requests for Purchases" + ) + + module_stock_request_kanban = fields.Boolean( + string="Stock Requests Kanban integration" + ) + + stock_request_check_available_first = fields.Boolean( + related="company_id.stock_request_check_available_first", readonly=False + ) + stock_request_allow_virtual_loc = fields.Boolean( + related="company_id.stock_request_allow_virtual_loc", readonly=False + ) + + module_stock_request_analytic = fields.Boolean( + string="Stock Requests Analytic integration" + ) + + module_stock_request_submit = fields.Boolean( + string="Submitted state in Stock Requests" + ) + + module_stock_request_mrp = fields.Boolean(string="Stock Request for Manufacturing") + + # Dependencies + @api.onchange("stock_request_allow_virtual_loc") + def _onchange_stock_request_allow_virtual_loc(self): + if self.stock_request_allow_virtual_loc: + self.group_stock_multi_locations = True diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_location.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_location.py new file mode 100644 index 0000000..c7c1dd0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_location.py @@ -0,0 +1,45 @@ +# Copyright 2018 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, models +from odoo.exceptions import ValidationError + + +class StockLocation(models.Model): + _inherit = "stock.location" + + @api.constrains("company_id") + def _check_company_stock_request(self): + if any( + rec.company_id + and self.env["stock.request"].search( + [("company_id", "!=", rec.company_id.id), ("location_id", "=", rec.id)], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "You cannot change the company of the location, as it is " + "already assigned to stock requests that belong to " + "another company." + ) + ) + if any( + rec.company_id + and self.env["stock.request.order"].search( + [ + ("company_id", "!=", rec.company_id.id), + ("warehouse_id", "=", rec.id), + ], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "You cannot change the company of the location, as it is " + "already assigned to stock request orders that belong to " + "another company." + ) + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move.py new file mode 100644 index 0000000..930a331 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move.py @@ -0,0 +1,82 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockMove(models.Model): + _inherit = "stock.move" + + allocation_ids = fields.One2many( + comodel_name="stock.request.allocation", + inverse_name="stock_move_id", + string="Stock Request Allocation", + ) + + stock_request_ids = fields.One2many( + comodel_name="stock.request", + string="Stock Requests", + compute="_compute_stock_request_ids", + ) + + @api.depends("allocation_ids") + def _compute_stock_request_ids(self): + for rec in self: + rec.stock_request_ids = rec.allocation_ids.mapped("stock_request_id") + + def _merge_moves_fields(self): + res = super(StockMove, self)._merge_moves_fields() + res["allocation_ids"] = [(4, m.id) for m in self.mapped("allocation_ids")] + return res + + @api.constrains("company_id") + def _check_company_stock_request(self): + if any( + self.env["stock.request.allocation"].search( + [ + ("company_id", "!=", rec.company_id.id), + ("stock_move_id", "=", rec.id), + ], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "The company of the stock request must match with " + "that of the location." + ) + ) + + def copy_data(self, default=None): + if not default: + default = {} + if "allocation_ids" not in default: + default["allocation_ids"] = [] + for alloc in self.allocation_ids: + default["allocation_ids"].append( + ( + 0, + 0, + { + "stock_request_id": alloc.stock_request_id.id, + "requested_product_uom_qty": alloc.requested_product_uom_qty, + }, + ) + ) + return super(StockMove, self).copy_data(default) + + def _action_cancel(self): + """Apply sudo to prevent requests ACL errors if the user does not have + permissions (example: productions).""" + res = super()._action_cancel() + self.mapped("allocation_ids.stock_request_id").sudo().check_cancel() + return res + + def _action_done(self, cancel_backorder=False): + """Apply sudo to prevent requests ACL errors if the user does not have + permissions (example: productions).""" + res = super()._action_done(cancel_backorder=cancel_backorder) + self.mapped("allocation_ids.stock_request_id").sudo().check_done() + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move_line.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move_line.py new file mode 100644 index 0000000..f935de2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_move_line.py @@ -0,0 +1,71 @@ +# Copyright 2017 ForgeFlow S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). + +from odoo import _, api, models + + +class StockMoveLine(models.Model): + _inherit = "stock.move.line" + + @api.model + def _stock_request_confirm_done_message_content(self, message_data): + title = ( + _("Receipt confirmation %(picking_name)s for your Request %(request_name)s") + % message_data + ) + message = "

    %s

    " % title + message += ( + _( + "The following requested items from Stock Request %(request_name)s " + "have now been received in %(location_name)s using Picking %(picking_name)s:" + ) + % message_data + ) + message += "
      " + message += ( + _( + "
    • %(product_name)s: Transferred quantity %(product_qty)s" + "%(product_uom)s
    • " + ) + % message_data + ) + message += "
    " + return message + + def _prepare_message_data(self, ml, request, allocated_qty): + return { + "request_name": request.name, + "picking_name": ml.picking_id.name, + "product_name": ml.product_id.name_get()[0][1], + "product_qty": allocated_qty, + "product_uom": ml.product_uom_id.name, + "location_name": ml.location_dest_id.name_get()[0][1], + } + + def _action_done(self): + res = super(StockMoveLine, self)._action_done() + for ml in self.filtered(lambda m: m.exists() and m.move_id.allocation_ids): + qty_done = ml.product_uom_id._compute_quantity( + ml.qty_done, ml.product_id.uom_id + ) + + # We do sudo because potentially the user that completes the move + # may not have permissions for stock.request. + to_allocate_qty = qty_done + for allocation in ml.move_id.allocation_ids.sudo(): + allocated_qty = 0.0 + if allocation.open_product_qty: + allocated_qty = min(allocation.open_product_qty, to_allocate_qty) + allocation.allocated_product_qty += allocated_qty + to_allocate_qty -= allocated_qty + if allocated_qty: + request = allocation.stock_request_id + message_data = self._prepare_message_data( + ml, request, allocated_qty + ) + message = self._stock_request_confirm_done_message_content( + message_data + ) + request.message_post(body=message, subtype_xmlid="mail.mt_comment") + request.check_done() + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_picking.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_picking.py new file mode 100644 index 0000000..e9f386b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_picking.py @@ -0,0 +1,41 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockPicking(models.Model): + _inherit = "stock.picking" + + stock_request_ids = fields.One2many( + comodel_name="stock.request", + string="Stock Requests", + compute="_compute_stock_request_ids", + ) + stock_request_count = fields.Integer( + "Stock Request #", compute="_compute_stock_request_ids" + ) + + @api.depends("move_ids") + def _compute_stock_request_ids(self): + for rec in self: + rec.stock_request_ids = rec.move_ids.mapped("stock_request_ids") + rec.stock_request_count = len(rec.stock_request_ids) + + def action_view_stock_request(self): + """ + :return dict: dictionary value for created view + """ + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request.action_stock_request_form" + ) + + requests = self.mapped("stock_request_ids") + if len(requests) > 1: + action["domain"] = [("id", "in", requests.ids)] + elif requests: + action["views"] = [ + (self.env.ref("stock_request.view_stock_request_form").id, "form") + ] + action["res_id"] = requests.id + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request.py new file mode 100644 index 0000000..656ec13 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request.py @@ -0,0 +1,465 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError, ValidationError +from odoo.tools import float_compare + + +class StockRequest(models.Model): + _name = "stock.request" + _description = "Stock Request" + _inherit = "stock.request.abstract" + _order = "id desc" + + def _get_default_requested_by(self): + return self.env["res.users"].browse(self.env.uid) + + @staticmethod + def _get_expected_date(): + return fields.Datetime.now() + + name = fields.Char(states={"draft": [("readonly", False)]}) + state = fields.Selection( + selection=[ + ("draft", "Draft"), + ("open", "In progress"), + ("done", "Done"), + ("cancel", "Cancelled"), + ], + string="Status", + copy=False, + default="draft", + index=True, + readonly=True, + tracking=True, + ) + requested_by = fields.Many2one( + "res.users", + required=True, + tracking=True, + default=lambda s: s._get_default_requested_by(), + ) + expected_date = fields.Datetime( + index=True, + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + help="Date when you expect to receive the goods.", + ) + picking_policy = fields.Selection( + [ + ("direct", "Receive each product when available"), + ("one", "Receive all products at once"), + ], + string="Shipping Policy", + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + default="direct", + ) + move_ids = fields.One2many( + comodel_name="stock.move", + compute="_compute_move_ids", + string="Stock Moves", + readonly=True, + ) + picking_ids = fields.One2many( + "stock.picking", + compute="_compute_picking_ids", + string="Pickings", + readonly=True, + ) + qty_in_progress = fields.Float( + digits="Product Unit of Measure", + readonly=True, + compute="_compute_qty", + store=True, + help="Quantity in progress.", + ) + qty_done = fields.Float( + digits="Product Unit of Measure", + readonly=True, + compute="_compute_qty", + store=True, + help="Quantity completed", + ) + qty_cancelled = fields.Float( + digits="Product Unit of Measure", + readonly=True, + compute="_compute_qty", + store=True, + help="Quantity cancelled", + ) + picking_count = fields.Integer( + string="Delivery Orders", + compute="_compute_picking_ids", + readonly=True, + ) + allocation_ids = fields.One2many( + comodel_name="stock.request.allocation", + inverse_name="stock_request_id", + string="Stock Request Allocation", + ) + order_id = fields.Many2one("stock.request.order", readonly=True) + warehouse_id = fields.Many2one( + states={"draft": [("readonly", False)]}, readonly=True + ) + location_id = fields.Many2one( + states={"draft": [("readonly", False)]}, readonly=True + ) + product_id = fields.Many2one(states={"draft": [("readonly", False)]}, readonly=True) + product_uom_id = fields.Many2one( + states={"draft": [("readonly", False)]}, readonly=True + ) + product_uom_qty = fields.Float( + states={"draft": [("readonly", False)]}, readonly=True + ) + procurement_group_id = fields.Many2one( + states={"draft": [("readonly", False)]}, readonly=True + ) + company_id = fields.Many2one(states={"draft": [("readonly", False)]}, readonly=True) + route_id = fields.Many2one(states={"draft": [("readonly", False)]}, readonly=True) + + _sql_constraints = [ + ("name_uniq", "unique(name, company_id)", "Stock Request name must be unique") + ] + + @api.constrains("state", "product_qty") + def _check_qty(self): + for rec in self: + if rec.state == "draft" and rec.product_qty <= 0: + raise ValidationError( + _("Stock Request product quantity has to be strictly positive.") + ) + elif rec.state != "draft" and rec.product_qty < 0: + raise ValidationError( + _("Stock Request product quantity cannot be negative.") + ) + + def _get_all_origin_moves(self, move): + all_moves = move + if move.move_orig_ids: + for orig_move in move.move_orig_ids: + all_moves |= self._get_all_origin_moves(orig_move) + return all_moves + + @api.depends("allocation_ids", "allocation_ids.stock_move_id") + def _compute_move_ids(self): + for request in self: + move_ids = request.allocation_ids.mapped("stock_move_id") + all_moves = self.env["stock.move"] + for move in move_ids: + all_moves |= self._get_all_origin_moves(move) + request.move_ids = all_moves + + @api.depends( + "allocation_ids", + "allocation_ids.stock_move_id", + "allocation_ids.stock_move_id.picking_id", + ) + def _compute_picking_ids(self): + for request in self: + request.picking_count = 0 + request.picking_ids = self.env["stock.picking"] + request.picking_ids = request.move_ids.filtered( + lambda m: m.state != "cancel" + ).mapped("picking_id") + request.picking_count = len(request.picking_ids) + + @api.depends( + "allocation_ids", + "allocation_ids.stock_move_id.state", + "allocation_ids.stock_move_id.move_line_ids", + "allocation_ids.stock_move_id.move_line_ids.qty_done", + ) + def _compute_qty(self): + for request in self: + incoming_qty = 0.0 + other_qty = 0.0 + for allocation in request.allocation_ids: + if allocation.stock_move_id.picking_code == "incoming": + incoming_qty += allocation.allocated_product_qty + else: + other_qty += allocation.allocated_product_qty + done_qty = abs(other_qty - incoming_qty) + open_qty = sum(request.allocation_ids.mapped("open_product_qty")) + uom = request.product_id.uom_id + request.qty_done = uom._compute_quantity( + done_qty, + request.product_uom_id, + rounding_method="HALF-UP", + ) + request.qty_in_progress = uom._compute_quantity( + open_qty, + request.product_uom_id, + rounding_method="HALF-UP", + ) + request.qty_cancelled = ( + max( + 0, + uom._compute_quantity( + request.product_qty - done_qty - open_qty, + request.product_uom_id, + rounding_method="HALF-UP", + ), + ) + if request.allocation_ids + else 0 + ) + + @api.constrains("order_id", "requested_by") + def check_order_requested_by(self): + for rec in self: + if rec.order_id and rec.order_id.requested_by != rec.requested_by: + raise ValidationError(_("Requested by must be equal to the order")) + + @api.constrains("order_id", "warehouse_id") + def check_order_warehouse_id(self): + for rec in self: + if rec.order_id and rec.order_id.warehouse_id != rec.warehouse_id: + raise ValidationError(_("Warehouse must be equal to the order")) + + @api.constrains("order_id", "location_id") + def check_order_location(self): + for rec in self: + if rec.order_id and rec.order_id.location_id != rec.location_id: + raise ValidationError(_("Location must be equal to the order")) + + @api.constrains("order_id", "procurement_group_id") + def check_order_procurement_group(self): + for rec in self: + if ( + rec.order_id + and rec.order_id.procurement_group_id != rec.procurement_group_id + ): + raise ValidationError(_("Procurement group must be equal to the order")) + + @api.constrains("order_id", "company_id") + def check_order_company(self): + for rec in self: + if rec.order_id and rec.order_id.company_id != rec.company_id: + raise ValidationError(_("Company must be equal to the order")) + + @api.constrains("order_id", "expected_date") + def check_order_expected_date(self): + for rec in self: + if rec.order_id and rec.order_id.expected_date != rec.expected_date: + raise ValidationError(_("Expected date must be equal to the order")) + + @api.constrains("order_id", "picking_policy") + def check_order_picking_policy(self): + for rec in self: + if rec.order_id and rec.order_id.picking_policy != rec.picking_policy: + raise ValidationError( + _("The picking policy must be equal to the order") + ) + + def _action_confirm(self): + self._action_launch_procurement_rule() + self.filtered(lambda x: x.state != "done").write({"state": "open"}) + + def action_confirm(self): + self._action_confirm() + return True + + def action_draft(self): + self.write({"state": "draft"}) + return True + + def action_cancel(self): + self.sudo().mapped("move_ids")._action_cancel() + self.write({"state": "cancel"}) + return True + + def action_done(self): + self.write({"state": "done"}) + return True + + def check_cancel(self): + for request in self: + if request._check_cancel_allocation(): + request.write({"state": "cancel"}) + + def check_done(self): + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + for request in self: + allocated_qty = sum(request.allocation_ids.mapped("allocated_product_qty")) + qty_done = request.product_id.uom_id._compute_quantity( + allocated_qty, request.product_uom_id + ) + if ( + float_compare( + qty_done, request.product_uom_qty, precision_digits=precision + ) + >= 0 + ): + request.action_done() + elif request._check_cancel_allocation(): + # If qty_done=0 and qty_cancelled>0 it's cancelled + request.write({"state": "cancel"}) + return True + + def _check_cancel_allocation(self): + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + self.ensure_one() + return ( + self.allocation_ids + and float_compare(self.qty_cancelled, 0, precision_digits=precision) > 0 + ) + + def _prepare_procurement_values(self, group_id=False): + """Prepare specific key for moves or other components that + will be created from a procurement rule + coming from a stock request. This method could be override + in order to add other custom key that could be used in + move/po creation. + """ + return { + "date_planned": self.expected_date, + "warehouse_id": self.warehouse_id, + "stock_request_allocation_ids": self.id, + "group_id": group_id or self.procurement_group_id.id or False, + "route_ids": self.route_id, + "stock_request_id": self.id, + } + + def _skip_procurement(self): + return self.state != "draft" or self.product_id.type not in ("consu", "product") + + def _prepare_stock_move(self, qty): + return { + "name": self.product_id.display_name, + "company_id": self.company_id.id, + "product_id": self.product_id.id, + "product_uom_qty": qty, + "product_uom": self.product_id.uom_id.id, + "location_id": self.location_id.id, + "location_dest_id": self.location_id.id, + "state": "draft", + "reference": self.name, + } + + def _prepare_stock_request_allocation(self, move): + return { + "stock_request_id": self.id, + "stock_move_id": move.id, + "requested_product_uom_qty": move.product_uom_qty, + } + + def _action_use_stock_available(self): + """Create a stock move with the necessary data and mark it as done.""" + allocation_model = self.env["stock.request.allocation"] + stock_move_model = self.env["stock.move"].sudo() + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + quants = self.env["stock.quant"]._gather(self.product_id, self.location_id) + pending_qty = self.product_uom_qty + for quant in quants.filtered(lambda x: x.available_quantity >= 0): + qty_move = min(pending_qty, quant.available_quantity) + if float_compare(qty_move, 0, precision_digits=precision) > 0: + move = stock_move_model.create(self._prepare_stock_move(qty_move)) + move._action_confirm() + pending_qty -= qty_move + # Create allocation + done move + allocation_model.create(self._prepare_stock_request_allocation(move)) + move.quantity_done = move.product_uom_qty + move._action_done() + + def _action_launch_procurement_rule(self): + """ + Launch procurement group (if not enough stock is available) run method + with required/custom fields genrated by a + stock request. procurement group will launch '_run_move', + '_run_buy' or '_run_manufacture' + depending on the stock request product rule. + """ + precision = self.env["decimal.precision"].precision_get( + "Product Unit of Measure" + ) + errors = [] + for request in self: + if request._skip_procurement(): + continue + qty = 0.0 + for move in request.move_ids.filtered(lambda r: r.state != "cancel"): + qty += move.product_qty + + if float_compare(qty, request.product_qty, precision_digits=precision) >= 0: + continue + + # If stock is available we use it and we do not execute rule + if request.company_id.stock_request_check_available_first: + if ( + float_compare( + request.product_id.sudo() + .with_context(location=request.location_id.id) + .free_qty, + request.product_uom_qty, + precision_digits=precision, + ) + >= 0 + ): + request._action_use_stock_available() + continue + + values = request._prepare_procurement_values( + group_id=request.procurement_group_id + ) + try: + procurements = [] + procurements.append( + self.env["procurement.group"].Procurement( + request.product_id, + request.product_uom_qty, + request.product_uom_id, + request.location_id, + request.name, + request.name, + self.env.company, + values, + ) + ) + self.env["procurement.group"].run(procurements) + except UserError as error: + errors.append(error.name) + if errors: + raise UserError("\n".join(errors)) + return True + + def action_view_transfer(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock.action_picking_tree_all" + ) + pickings = self.mapped("picking_ids") + if len(pickings) > 1: + action["domain"] = [("id", "in", pickings.ids)] + elif pickings: + action["views"] = [(self.env.ref("stock.view_picking_form").id, "form")] + action["res_id"] = pickings.id + return action + + @api.model_create_multi + def create(self, vals_list): + vals_list_upd = [] + for vals in vals_list: + upd_vals = vals.copy() + if upd_vals.get("name", "/") == "/": + upd_vals["name"] = self.env["ir.sequence"].next_by_code("stock.request") + if "order_id" in upd_vals: + order = self.env["stock.request.order"].browse(upd_vals["order_id"]) + upd_vals["expected_date"] = order.expected_date + else: + upd_vals["expected_date"] = self._get_expected_date() + vals_list_upd.append(upd_vals) + return super().create(vals_list_upd) + + def unlink(self): + if self.filtered(lambda r: r.state != "draft"): + raise UserError(_("Only requests on draft state can be unlinked")) + return super(StockRequest, self).unlink() diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_abstract.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_abstract.py new file mode 100644 index 0000000..76adf33 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_abstract.py @@ -0,0 +1,252 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockRequest(models.AbstractModel): + _name = "stock.request.abstract" + _description = "Stock Request Template" + _inherit = ["mail.thread", "mail.activity.mixin"] + + @api.model + def default_get(self, fields): + res = super(StockRequest, self).default_get(fields) + warehouse = None + if "warehouse_id" not in res and res.get("company_id"): + warehouse = self.env["stock.warehouse"].search( + [("company_id", "=", res["company_id"])], limit=1 + ) + if warehouse: + res["warehouse_id"] = warehouse.id + res["location_id"] = warehouse.lot_stock_id.id + return res + + @api.depends( + "product_id", + "product_uom_id", + "product_uom_qty", + "product_id.product_tmpl_id.uom_id", + ) + def _compute_product_qty(self): + for rec in self: + rec.product_qty = rec.product_uom_id._compute_quantity( + rec.product_uom_qty, + rec.product_id.product_tmpl_id.uom_id, + rounding_method="HALF-UP", + ) + + name = fields.Char(copy=False, required=True, readonly=True, default="/") + warehouse_id = fields.Many2one( + comodel_name="stock.warehouse", + string="Warehouse", + check_company=True, + ondelete="cascade", + required=True, + ) + location_id = fields.Many2one( + comodel_name="stock.location", + string="Location", + domain="not allow_virtual_location and " + "[('usage', 'in', ['internal', 'transit'])] or []", + ondelete="cascade", + required=True, + ) + product_id = fields.Many2one( + "product.product", + "Product", + domain=[("type", "in", ["product", "consu"])], + ondelete="cascade", + required=True, + ) + allow_virtual_location = fields.Boolean( + related="company_id.stock_request_allow_virtual_loc", readonly=True + ) + allowed_uom_categ_id = fields.Many2one(related="product_id.uom_id.category_id") + product_uom_id = fields.Many2one( + comodel_name="uom.uom", + string="Product Unit of Measure", + domain="[('category_id', '=?', allowed_uom_categ_id)]", + required=True, + default=lambda self: self._context.get("product_uom_id", False), + ) + product_uom_qty = fields.Float( + "Quantity", + digits="Product Unit of Measure", + required=True, + help="Quantity, specified in the unit of measure indicated in the request.", + ) + product_qty = fields.Float( + "Real Quantity", + compute="_compute_product_qty", + store=True, + copy=False, + digits="Product Unit of Measure", + help="Quantity in the default UoM of the product", + ) + procurement_group_id = fields.Many2one( + "procurement.group", + "Procurement Group", + help="Moves created through this stock request will be put in this " + "procurement group. If none is given, the moves generated by " + "procurement rules will be grouped into one big picking.", + ) + company_id = fields.Many2one( + "res.company", "Company", required=True, default=lambda self: self.env.company + ) + route_id = fields.Many2one( + "stock.route", + string="Route", + domain="[('id', 'in', route_ids)]", + ondelete="restrict", + ) + + route_ids = fields.Many2many( + "stock.route", + string="Routes", + compute="_compute_route_ids", + readonly=True, + ) + + _sql_constraints = [ + ("name_uniq", "unique(name, company_id)", "Name must be unique") + ] + + @api.depends("product_id", "warehouse_id", "location_id") + def _compute_route_ids(self): + route_obj = self.env["stock.route"] + routes = route_obj.search( + [("warehouse_ids", "in", self.mapped("warehouse_id").ids)] + ) + routes_by_warehouse = {} + for route in routes: + for warehouse in route.warehouse_ids: + routes_by_warehouse.setdefault(warehouse.id, self.env["stock.route"]) + routes_by_warehouse[warehouse.id] |= route + for record in self: + routes = route_obj + if record.product_id: + routes += record.product_id.mapped( + "route_ids" + ) | record.product_id.mapped("categ_id").mapped("total_route_ids") + if record.warehouse_id and routes_by_warehouse.get(record.warehouse_id.id): + routes |= routes_by_warehouse[record.warehouse_id.id] + parents = record.get_parents().ids + record.route_ids = routes.filtered( + lambda r: any(p.location_dest_id.id in parents for p in r.rule_ids) + ) + + def get_parents(self): + location = self.location_id + result = location + while location.location_id: + location = location.location_id + result |= location + return result + + @api.constrains( + "company_id", "product_id", "warehouse_id", "location_id", "route_id" + ) + def _check_company_constrains(self): + """Check if the related models have the same company""" + for rec in self: + if ( + rec.product_id.company_id + and rec.product_id.company_id != rec.company_id + ): + raise ValidationError( + _( + "You have entered a product that is assigned " + "to another company." + ) + ) + if ( + rec.location_id.company_id + and rec.location_id.company_id != rec.company_id + ): + raise ValidationError( + _( + "You have entered a location that is " + "assigned to another company." + ) + ) + if rec.warehouse_id.company_id != rec.company_id: + raise ValidationError( + _( + "You have entered a warehouse that is " + "assigned to another company." + ) + ) + if ( + rec.route_id + and rec.route_id.company_id + and rec.route_id.company_id != rec.company_id + ): + raise ValidationError( + _( + "You have entered a route that is " + "assigned to another company." + ) + ) + + @api.constrains("product_id") + def _check_product_uom(self): + """Check if the UoM has the same category as the + product standard UoM""" + if any( + request.product_id.uom_id.category_id != request.product_uom_id.category_id + for request in self + ): + raise ValidationError( + _( + "You have to select a product unit of measure in the " + "same category than the default unit " + "of measure of the product" + ) + ) + + @api.onchange("warehouse_id") + def onchange_warehouse_id(self): + """Finds location id for changed warehouse.""" + if self._name == "stock.request" and self.order_id: + # When the stock request is created from an order the wh and + # location are taken from the order and we rely on it to change + # all request associated. Thus, no need to apply + # the onchange, as it could lead to inconsistencies. + return + if self.warehouse_id: + loc_wh = self.location_id.warehouse_id + if self.warehouse_id != loc_wh: + self.location_id = self.warehouse_id.lot_stock_id.id + if self.warehouse_id.company_id != self.company_id: + self.company_id = self.warehouse_id.company_id + + @api.onchange("location_id") + def onchange_location_id(self): + if self.location_id: + loc_wh = self.location_id.warehouse_id + if loc_wh and self.warehouse_id != loc_wh: + self.warehouse_id = loc_wh + self.with_context(no_change_childs=True).onchange_warehouse_id() + + @api.onchange("company_id") + def onchange_company_id(self): + """Sets a default warehouse when the company is changed.""" + if self.company_id and ( + not self.warehouse_id or self.warehouse_id.company_id != self.company_id + ): + self.warehouse_id = self.env["stock.warehouse"].search( + [ + "|", + ("company_id", "=", False), + ("company_id", "=", self.company_id.id), + ], + limit=1, + ) + self.onchange_warehouse_id() + + @api.onchange("product_id") + def onchange_product_id(self): + if self.product_id: + self.product_uom_id = self.product_id.uom_id diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_allocation.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_allocation.py new file mode 100644 index 0000000..9176222 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_allocation.py @@ -0,0 +1,92 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockRequestAllocation(models.Model): + _name = "stock.request.allocation" + _description = "Stock Request Allocation" + + stock_request_id = fields.Many2one( + string="Stock Request", + comodel_name="stock.request", + required=True, + ondelete="cascade", + ) + company_id = fields.Many2one( + string="Company", + comodel_name="res.company", + readonly=True, + related="stock_request_id.company_id", + store=True, + ) + stock_move_id = fields.Many2one( + string="Stock Move", + comodel_name="stock.move", + required=True, + ondelete="cascade", + ) + product_id = fields.Many2one( + string="Product", + comodel_name="product.product", + related="stock_request_id.product_id", + readonly=True, + ) + product_uom_id = fields.Many2one( + string="UoM", + comodel_name="uom.uom", + related="stock_request_id.product_uom_id", + readonly=True, + ) + requested_product_uom_qty = fields.Float( + "Requested Quantity (UoM)", + help="Quantity of the stock request allocated to the stock move, " + "in the UoM of the Stock Request", + ) + requested_product_qty = fields.Float( + "Requested Quantity", + help="Quantity of the stock request allocated to the stock move, " + "in the default UoM of the product", + compute="_compute_requested_product_qty", + ) + allocated_product_qty = fields.Float( + "Allocated Quantity", + copy=False, + help="Quantity of the stock request allocated to the stock move, " + "in the default UoM of the product", + ) + open_product_qty = fields.Float( + "Open Quantity", + compute="_compute_open_product_qty", + ) + + @api.depends( + "stock_request_id.product_id", + "stock_request_id.product_uom_id", + "requested_product_uom_qty", + ) + def _compute_requested_product_qty(self): + for rec in self: + rec.requested_product_qty = rec.product_uom_id._compute_quantity( + rec.requested_product_uom_qty, + rec.product_id.uom_id, + rounding_method="HALF-UP", + ) + + @api.depends( + "requested_product_qty", + "allocated_product_qty", + "stock_move_id", + "stock_move_id.state", + ) + def _compute_open_product_qty(self): + for rec in self: + if rec.stock_move_id.state in ["cancel", "done"]: + rec.open_product_qty = 0.0 + else: + rec.open_product_qty = ( + rec.requested_product_qty - rec.allocated_product_qty + ) + if rec.open_product_qty < 0.0: + rec.open_product_qty = 0.0 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_order.py new file mode 100644 index 0000000..75a03de --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_request_order.py @@ -0,0 +1,437 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import UserError, ValidationError + + +class StockRequestOrder(models.Model): + _name = "stock.request.order" + _description = "Stock Request Order" + _inherit = ["mail.thread", "mail.activity.mixin"] + _order = "id desc" + + @api.model + def default_get(self, fields): + res = super().default_get(fields) + warehouse = None + if "warehouse_id" not in res and res.get("company_id"): + warehouse = self.env["stock.warehouse"].search( + [("company_id", "=", res["company_id"])], limit=1 + ) + if warehouse: + res["warehouse_id"] = warehouse.id + res["location_id"] = warehouse.lot_stock_id.id + return res + + def __get_request_order_states(self): + return self.env["stock.request"].fields_get(allfields=["state"])["state"][ + "selection" + ] + + def _get_request_order_states(self): + return self.__get_request_order_states() + + def _get_default_requested_by(self): + return self.env["res.users"].browse(self.env.uid) + + name = fields.Char( + copy=False, + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + default="/", + ) + state = fields.Selection( + selection=_get_request_order_states, + string="Status", + copy=False, + default="draft", + index=True, + readonly=True, + tracking=True, + compute="_compute_state", + store=True, + ) + requested_by = fields.Many2one( + "res.users", + required=True, + tracking=True, + default=lambda s: s._get_default_requested_by(), + ) + warehouse_id = fields.Many2one( + comodel_name="stock.warehouse", + string="Warehouse", + check_company=True, + readonly=True, + ondelete="cascade", + required=True, + states={"draft": [("readonly", False)]}, + ) + location_id = fields.Many2one( + comodel_name="stock.location", + string="Location", + domain="not allow_virtual_location and " + "[('usage', 'in', ['internal', 'transit'])] or []", + readonly=True, + ondelete="cascade", + required=True, + states={"draft": [("readonly", False)]}, + ) + allow_virtual_location = fields.Boolean( + related="company_id.stock_request_allow_virtual_loc", readonly=True + ) + procurement_group_id = fields.Many2one( + "procurement.group", + "Procurement Group", + readonly=True, + states={"draft": [("readonly", False)]}, + help="Moves created through this stock request will be put in this " + "procurement group. If none is given, the moves generated by " + "procurement rules will be grouped into one big picking.", + ) + company_id = fields.Many2one( + "res.company", + "Company", + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + default=lambda self: self.env.company, + ) + expected_date = fields.Datetime( + default=fields.Datetime.now, + index=True, + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + help="Date when you expect to receive the goods.", + ) + picking_policy = fields.Selection( + [ + ("direct", "Receive each product when available"), + ("one", "Receive all products at once"), + ], + string="Shipping Policy", + required=True, + readonly=True, + states={"draft": [("readonly", False)]}, + default="direct", + ) + move_ids = fields.One2many( + comodel_name="stock.move", + compute="_compute_move_ids", + string="Stock Moves", + readonly=True, + ) + picking_ids = fields.One2many( + "stock.picking", + compute="_compute_picking_ids", + string="Pickings", + readonly=True, + ) + picking_count = fields.Integer( + string="Delivery Orders", compute="_compute_picking_ids", readonly=True + ) + stock_request_ids = fields.One2many( + "stock.request", inverse_name="order_id", copy=True + ) + stock_request_count = fields.Integer( + string="Stock requests", compute="_compute_stock_request_count", readonly=True + ) + + route_ids = fields.Many2many( + "stock.route", + string="Routes", + compute="_compute_route_ids", + readonly=True, + store=True, + ) + + route_id = fields.Many2one( + "stock.route", + compute="_compute_route_id", + inverse="_inverse_route_id", + readonly=True, + states={"draft": [("readonly", False)]}, + store=True, + help="The route related to a stock request order", + ) + + _sql_constraints = [ + ("name_uniq", "unique(name, company_id)", "Stock Request name must be unique") + ] + + @api.depends("warehouse_id", "location_id", "stock_request_ids") + def _compute_route_ids(self): + route_obj = self.env["stock.route"] + routes = route_obj.search( + [("warehouse_ids", "in", self.mapped("warehouse_id").ids)] + ) + routes_by_warehouse = {} + for route in routes: + for warehouse in route.warehouse_ids: + routes_by_warehouse.setdefault(warehouse.id, self.env["stock.route"]) + routes_by_warehouse[warehouse.id] |= route + for record in self: + routes = route_obj + if record.warehouse_id and routes_by_warehouse.get(record.warehouse_id.id): + routes |= routes_by_warehouse[record.warehouse_id.id] + parents = record.get_parents().ids + filtered_routes = routes.filtered( + lambda r: any(p.location_dest_id.id in parents for p in r.rule_ids) + ) + if record.stock_request_ids: + all_routes = record.stock_request_ids.mapped("route_ids") + common_routes = all_routes + for line in record.stock_request_ids: + common_routes &= line.route_ids + final_routes = filtered_routes | common_routes + record.route_ids = [(6, 0, final_routes.ids)] + else: + record.route_ids = [(6, 0, filtered_routes.ids)] + + def get_parents(self): + location = self.location_id + result = location + while location.location_id: + location = location.location_id + result |= location + return result + + @api.depends("stock_request_ids") + def _compute_route_id(self): + for order in self: + if order.stock_request_ids: + first_route = order.stock_request_ids[0].route_id or False + if any(r.route_id != first_route for r in order.stock_request_ids): + first_route = False + order.route_id = first_route + + def _inverse_route_id(self): + for order in self: + if order.route_id: + order.stock_request_ids.write({"route_id": order.route_id.id}) + + @api.onchange("route_id") + def _onchange_route_id(self): + if self.route_id: + for request in self.stock_request_ids: + request.route_id = self.route_id + + @api.depends("stock_request_ids.state") + def _compute_state(self): + for item in self: + states = item.stock_request_ids.mapped("state") + if not item.stock_request_ids or all(x == "draft" for x in states): + item.state = "draft" + elif all(x == "cancel" for x in states): + item.state = "cancel" + elif all(x in ("done", "cancel") for x in states): + item.state = "done" + else: + item.state = "open" + + @api.depends("stock_request_ids.allocation_ids") + def _compute_picking_ids(self): + for record in self: + record.picking_ids = record.stock_request_ids.mapped("picking_ids") + record.picking_count = len(record.picking_ids) + + @api.depends("stock_request_ids") + def _compute_move_ids(self): + for record in self: + record.move_ids = record.stock_request_ids.mapped("move_ids") + + @api.depends("stock_request_ids") + def _compute_stock_request_count(self): + for record in self: + record.stock_request_count = len(record.stock_request_ids) + + @api.onchange("requested_by") + def onchange_requested_by(self): + self.change_childs() + + @api.onchange("expected_date") + def onchange_expected_date(self): + self.change_childs() + + @api.onchange("picking_policy") + def onchange_picking_policy(self): + self.change_childs() + + @api.onchange("location_id") + def onchange_location_id(self): + if self.location_id: + loc_wh = self.location_id.warehouse_id + if loc_wh and self.warehouse_id != loc_wh: + self.warehouse_id = loc_wh + self.with_context(no_change_childs=True).onchange_warehouse_id() + self.change_childs() + + @api.onchange("warehouse_id") + def onchange_warehouse_id(self): + if self.warehouse_id: + # search with sudo because the user may not have permissions + loc_wh = self.location_id.warehouse_id + if self.warehouse_id != loc_wh: + self.location_id = self.warehouse_id.lot_stock_id + self.with_context(no_change_childs=True).onchange_location_id() + if self.warehouse_id.company_id != self.company_id: + self.company_id = self.warehouse_id.company_id + self.with_context(no_change_childs=True).onchange_company_id() + self.change_childs() + + @api.onchange("procurement_group_id") + def onchange_procurement_group_id(self): + self.change_childs() + + @api.onchange("company_id") + def onchange_company_id(self): + if self.company_id and ( + not self.warehouse_id or self.warehouse_id.company_id != self.company_id + ): + self.warehouse_id = self.env["stock.warehouse"].search( + [("company_id", "=", self.company_id.id)], limit=1 + ) + self.with_context(no_change_childs=True).onchange_warehouse_id() + self.change_childs() + + def change_childs(self): + if not self._context.get("no_change_childs", False): + for line in self.stock_request_ids: + line.warehouse_id = self.warehouse_id + line.location_id = self.location_id + line.company_id = self.company_id + line.picking_policy = self.picking_policy + line.expected_date = self.expected_date + line.requested_by = self.requested_by + line.procurement_group_id = self.procurement_group_id + + def action_confirm(self): + if not self.stock_request_ids: + raise UserError( + _("There should be at least one request item for confirming the order.") + ) + self.mapped("stock_request_ids").action_confirm() + return True + + def action_draft(self): + self.mapped("stock_request_ids").action_draft() + return True + + def action_cancel(self): + self.mapped("stock_request_ids").action_cancel() + return True + + def action_done(self): + return True + + def action_view_transfer(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock.action_picking_tree_all" + ) + + pickings = self.mapped("picking_ids") + if len(pickings) > 1: + action["domain"] = [("id", "in", pickings.ids)] + elif pickings: + action["views"] = [(self.env.ref("stock.view_picking_form").id, "form")] + action["res_id"] = pickings.id + return action + + def action_view_stock_requests(self): + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request.action_stock_request_form" + ) + if len(self.stock_request_ids) > 1: + action["domain"] = [("order_id", "in", self.ids)] + elif self.stock_request_ids: + action["views"] = [ + (self.env.ref("stock_request.view_stock_request_form").id, "form") + ] + action["res_id"] = self.stock_request_ids.id + return action + + @api.model_create_multi + def create(self, vals_list): + vals_list_upd = [] + for vals in vals_list: + upd_vals = vals.copy() + if upd_vals.get("name", "/") == "/": + upd_vals["name"] = self.env["ir.sequence"].next_by_code( + "stock.request.order" + ) + vals_list_upd.append(upd_vals) + return super().create(vals_list_upd) + + def unlink(self): + if self.filtered(lambda r: r.state != "draft"): + raise UserError(_("Only orders on draft state can be unlinked")) + return super().unlink() + + @api.constrains("warehouse_id", "company_id") + def _check_warehouse_company(self): + if any( + request.warehouse_id.company_id != request.company_id for request in self + ): + raise ValidationError( + _( + "The company of the stock request must match with " + "that of the warehouse." + ) + ) + + @api.constrains("location_id", "company_id") + def _check_location_company(self): + if any( + request.location_id.company_id + and request.location_id.company_id != request.company_id + for request in self + ): + raise ValidationError( + _( + "The company of the stock request must match with " + "that of the location." + ) + ) + + @api.model + def _create_from_product_multiselect(self, products): + if not products: + return False + if products._name not in ("product.product", "product.template"): + raise ValidationError( + _("This action only works in the context of products") + ) + if products._name == "product.template": + # search instead of mapped so we don't include archived variants + products = self.env["product.product"].search( + [("product_tmpl_id", "in", products.ids)] + ) + expected = self.default_get(["expected_date"])["expected_date"] + order = self.env["stock.request.order"].create( + dict( + expected_date=expected, + stock_request_ids=[ + ( + 0, + 0, + dict( + product_id=product.id, + product_uom_id=product.uom_id.id, + product_uom_qty=1.0, + expected_date=expected, + ), + ) + for product in products + ], + ) + ) + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request.stock_request_order_action" + ) + action["views"] = [ + (self.env.ref("stock_request.stock_request_order_form").id, "form") + ] + action["res_id"] = order.id + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_route.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_route.py new file mode 100644 index 0000000..6bfb4cd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_route.py @@ -0,0 +1,27 @@ +# Copyright 2018 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, models +from odoo.exceptions import ValidationError + + +class StockRoute(models.Model): + _inherit = "stock.route" + + @api.constrains("company_id") + def _check_company_stock_request(self): + if any( + rec.company_id + and self.env["stock.request"].search( + [("company_id", "!=", rec.company_id.id), ("route_id", "=", rec.id)], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "You cannot change the company of the route, as it is " + "already assigned to stock requests that belong to " + "another company." + ) + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_rule.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_rule.py new file mode 100644 index 0000000..f304bd8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_rule.py @@ -0,0 +1,42 @@ +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import models + + +class StockRule(models.Model): + _inherit = "stock.rule" + + def _get_stock_move_values( + self, + product_id, + product_qty, + product_uom, + location_id, + name, + origin, + company_id, + values, + ): + result = super(StockRule, self)._get_stock_move_values( + product_id, + product_qty, + product_uom, + location_id, + name, + origin, + company_id, + values, + ) + if values.get("stock_request_id", False): + result["allocation_ids"] = [ + ( + 0, + 0, + { + "stock_request_id": values.get("stock_request_id"), + "requested_product_uom_qty": product_qty, + }, + ) + ] + return result diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_warehouse.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_warehouse.py new file mode 100644 index 0000000..5b780b3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/models/stock_warehouse.py @@ -0,0 +1,46 @@ +# Copyright 2018 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, models +from odoo.exceptions import ValidationError + + +class StockWarehouse(models.Model): + _inherit = "stock.warehouse" + + @api.constrains("company_id") + def _check_company_stock_request(self): + if any( + self.env["stock.request"].search( + [ + ("company_id", "!=", rec.company_id.id), + ("warehouse_id", "=", rec.id), + ], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "You cannot change the company of the warehouse, as it is " + "already assigned to stock requests that belong to " + "another company." + ) + ) + if any( + self.env["stock.request.order"].search( + [ + ("company_id", "!=", rec.company_id.id), + ("warehouse_id", "=", rec.id), + ], + limit=1, + ) + for rec in self + ): + raise ValidationError( + _( + "You cannot change the company of the warehouse, as it is " + "already assigned to stock request orders that belong to " + "another company." + ) + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONFIGURE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONFIGURE.rst new file mode 100644 index 0000000..4cbc55f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONFIGURE.rst @@ -0,0 +1,17 @@ +To configure this module: + +* Go to Stock Requests > Settings + +Users should be assigned to the groups 'Stock Request / User' or 'Stock +Request / Manager'. + +## Group Stock Request / User + +* Can see her/his own Stock Requests, and others that she/he's been granted + permission to follow. + +* Can create/update only her/his Stock Requests. + +## Group Stock Request / Manager + +* Can fully manage all Stock Requests diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..7e33d3d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/CONTRIBUTORS.rst @@ -0,0 +1,15 @@ +* Jordi Ballester (EFICENT) . +* Enric Tobella +* Atte Isopuro +* Lois Rilo +* Raul Martin +* Serpent Consulting Services Pvt. Ltd. +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + +* Héctor Villarreal +* Kitti U. +* Bernat Puig +* Oriol Miranda diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/DESCRIPTION.rst new file mode 100644 index 0000000..e797cff --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module was written to allow users to request products that are +frequently stocked by the company, to be transferred to their chosen location. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/ROADMAP.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/ROADMAP.rst new file mode 100644 index 0000000..cb30165 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/ROADMAP.rst @@ -0,0 +1,5 @@ +There is no way to achieve Storck Request and Stock Request Orders. +It should be developed taking into account that only Cancel and Done +stock request can be archived. + +It is also required to manage active field logically from Orders to SRs. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/USAGE.rst new file mode 100644 index 0000000..3d65e7a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/readme/USAGE.rst @@ -0,0 +1,16 @@ +## Creation + +* Go to 'Stock Requests / Stock Requests' and create a new Request. +* Indicate a product, quantity and location. +* Press 'Confirm'. + +Upon confirmation the request will be evaluated using the procurement rules +for the selected location. + +In case that transfers are created, the user will be able to access to them +from the button 'Transfers' available in the Stock Request. + +## Cancel + +When the user cancels a Stock Request, the related pending stock moves will be +also cancelled. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/ir.model.access.csv b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/ir.model.access.csv new file mode 100644 index 0000000..af2df4a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/ir.model.access.csv @@ -0,0 +1,17 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_request_user,stock request user,model_stock_request,group_stock_request_user,1,1,1,1 +access_stock_request_manager,stock request manager,model_stock_request,group_stock_request_manager,1,1,1,1 +access_stock_request_stock_user,stock.request stock user,model_stock_request,stock.group_stock_user,1,0,0,0 +access_stock_request_allocation_user,stock request allocation user,model_stock_request_allocation,group_stock_request_user,1,1,1,1 +access_stock_request_allocation_manager,stock request allocation manager,model_stock_request_allocation,group_stock_request_manager,1,1,1,1 +access_stock_request_allocation_stock_user,stock.request.allocation stock user,model_stock_request_allocation,base.group_user,1,0,0,0 +access_stock_location_user,stock.location.user,stock.model_stock_location,group_stock_request_user,1,0,0,0 +access_stock_location_request_manager,stock.location request manager,stock.model_stock_location,group_stock_request_manager,1,0,0,0 +access_stock_rule_request_manager,stock_rule_request_manager,stock.model_stock_rule,group_stock_request_manager,1,0,0,0 +access_stock_rule_user,stock_rule_user,stock.model_stock_rule,group_stock_request_user,1,0,0,0 +access_stock_request_order_user,stock request user,model_stock_request_order,group_stock_request_user,1,1,1,0 +access_stock_request_order_manager,stock request manager,model_stock_request_order,group_stock_request_manager,1,1,1,1 +access_stock_request_user_warehouse,stock request user Warehouse,stock.model_stock_warehouse,group_stock_request_user,1,0,0,0 +access_stock_request_manager_warehouse,stock request manager Warehouse,stock.model_stock_warehouse,group_stock_request_manager,1,0,0,0 +access_stock_request_user_stock_move,stock request user stock move,stock.model_stock_move,group_stock_request_user,1,0,0,0 +access_stock_request_manager_stock_move,stock request manager stock move,stock.model_stock_move,group_stock_request_manager,1,0,0,0 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/stock_request_security.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/stock_request_security.xml new file mode 100644 index 0000000..d49eb95 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/security/stock_request_security.xml @@ -0,0 +1,116 @@ + + + + Stock Request + + 10 + + + Stock Request User + + + + + Stock Request Manager + + + + + + Stock Request Order + + + + + stock_request multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + Follow Stock Request + + + + + + + ['|',('requested_by','=',user.id), + ('message_partner_ids', 'in', [user.partner_id.id])] + + + Stock Request User + + + + + + + [('requested_by','=',user.id)] + + + Stock Request Manager + + + + + + + + + stock_request_order multi-company + + + ['|',('company_id','=',False),('company_id', 'in', company_ids)] + + + Follow Stock Request Order + + + + + + + ['|',('requested_by','=',user.id), + ('message_partner_ids', 'in', [user.partner_id.id])] + + + Stock Request Order User + + + + + + + [('requested_by','=',user.id)] + + + Stock Request Manager + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f6a65aca34c7c1a714b1f88277d7295a992a72 GIT binary patch literal 15218 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 Dg&Jzd literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.svg b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.svg new file mode 100644 index 0000000..e2cdc45 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/icon.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/index.html new file mode 100644 index 0000000..02e45b3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/static/description/index.html @@ -0,0 +1,485 @@ + + + + + +Stock Request + + + +
    +

    Stock Request

    + + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module was written to allow users to request products that are +frequently stocked by the company, to be transferred to their chosen location.

    +

    Table of contents

    + +
    +

    Configuration

    +

    To configure this module:

    +
      +
    • Go to Stock Requests > Settings
    • +
    +

    Users should be assigned to the groups ‘Stock Request / User’ or ‘Stock +Request / Manager’.

    +

    ## Group Stock Request / User

    +
      +
    • Can see her/his own Stock Requests, and others that she/he’s been granted +permission to follow.
    • +
    • Can create/update only her/his Stock Requests.
    • +
    +

    ## Group Stock Request / Manager

    +
      +
    • Can fully manage all Stock Requests
    • +
    +
    +
    +

    Usage

    +

    ## Creation

    +
      +
    • Go to ‘Stock Requests / Stock Requests’ and create a new Request.
    • +
    • Indicate a product, quantity and location.
    • +
    • Press ‘Confirm’.
    • +
    +

    Upon confirmation the request will be evaluated using the procurement rules +for the selected location.

    +

    In case that transfers are created, the user will be able to access to them +from the button ‘Transfers’ available in the Stock Request.

    +

    ## Cancel

    +

    When the user cancels a Stock Request, the related pending stock moves will be +also cancelled.

    +
    +
    +

    Known issues / Roadmap

    +

    There is no way to achieve Storck Request and Stock Request Orders. +It should be developed taking into account that only Cancel and Done +stock request can be archived.

    +

    It is also required to manage active field logically from Orders to SRs.

    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • ForgeFlow
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    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.

    +

    Current maintainers:

    +

    LoisRForgeFlow etobella

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/__init__.py new file mode 100644 index 0000000..58398d4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_request diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/test_stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/test_stock_request.py new file mode 100644 index 0000000..232a932 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/tests/test_stock_request.py @@ -0,0 +1,1685 @@ +# Copyright 2017 ForgeFlow S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). +from collections import Counter +from datetime import datetime + +from odoo import exceptions, fields +from odoo.tests import new_test_user + +from odoo.addons.base.tests.common import BaseCommon + + +class TestStockRequest(BaseCommon): + @classmethod + def setUpClass(cls): + super().setUpClass() + + # common models + cls.stock_request = cls.env["stock.request"] + cls.request_order = cls.env["stock.request.order"] + + # refs + cls.stock_request_user_group = cls.env.ref( + "stock_request.group_stock_request_user" + ) + cls.main_company = cls.env.ref("base.main_company") + cls.warehouse = cls.env.ref("stock.warehouse0") + cls.categ_unit = cls.env.ref("uom.product_uom_categ_unit") + cls.virtual_loc = cls.env.ref("stock.stock_location_customers") + + # common data + cls.company_2 = cls.env["res.company"].create( + {"name": "Comp2", "parent_id": cls.main_company.id} + ) + cls.company_2_address = ( + cls.env["res.partner"] + .with_context(company_id=cls.company_2.id) + .create({"name": "Peñiscola"}) + ) + cls.wh = cls.env["stock.warehouse"].search( + [("company_id", "=", cls.main_company.id)], limit=1 + ) + cls.wh2 = cls.env["stock.warehouse"].search( + [("company_id", "=", cls.company_2.id)], limit=1 + ) + cls.stock_request_user = new_test_user( + cls.env, + login="stock_request_user", + groups="stock_request.group_stock_request_user", + company_ids=[(4, cls.main_company.id), (4, cls.company_2.id)], + ) + cls.stock_request_manager = new_test_user( + cls.env, + login="stock_request_manager", + groups="stock_request.group_stock_request_manager", + company_ids=[(4, cls.main_company.id), (4, cls.company_2.id)], + ) + cls.product = cls._create_product("SH", "Shoes", False) + cls.product_company_2 = cls._create_product("SH_2", "Shoes", cls.company_2.id) + + cls.ressuply_loc = cls._create_location( + name="Ressuply", + location_id=cls.warehouse.view_location_id.id, + company_id=cls.main_company.id, + ) + cls.ressuply_loc_2 = cls._create_location( + name="Ressuply", + location_id=cls.wh2.view_location_id.id, + company_id=cls.company_2.id, + ) + + cls.route = cls._create_route(name="Transfer", company_id=cls.main_company.id) + cls.route_2 = cls._create_route(name="Transfer", company_id=cls.company_2.id) + cls.route_3 = cls._create_route(name="Transfer", company_id=cls.main_company.id) + cls.uom_dozen = cls.env["uom.uom"].create( + { + "name": "Test-DozenA", + "category_id": cls.categ_unit.id, + "factor_inv": 12, + "uom_type": "bigger", + "rounding": 0.001, + } + ) + + cls.env["stock.rule"].create( + { + "name": "Transfer", + "route_id": cls.route.id, + "location_src_id": cls.ressuply_loc.id, + "location_dest_id": cls.warehouse.lot_stock_id.id, + "action": "pull", + "picking_type_id": cls.warehouse.int_type_id.id, + "procure_method": "make_to_stock", + "warehouse_id": cls.warehouse.id, + "company_id": cls.main_company.id, + } + ) + + cls.env["stock.rule"].create( + { + "name": "Transfer", + "route_id": cls.route_2.id, + "location_src_id": cls.ressuply_loc_2.id, + "location_dest_id": cls.wh2.lot_stock_id.id, + "action": "pull", + "picking_type_id": cls.wh2.int_type_id.id, + "procure_method": "make_to_stock", + "warehouse_id": cls.wh2.id, + "company_id": cls.company_2.id, + } + ) + + cls.env["ir.config_parameter"].sudo().set_param( + "stock.no_auto_scheduler", "True" + ) + + @classmethod + def _create_product(cls, default_code, name, company_id, **vals): + return cls.env["product.product"].create( + dict( + name=name, + default_code=default_code, + uom_id=cls.env.ref("uom.product_uom_unit").id, + company_id=company_id, + type="product", + **vals + ) + ) + + @classmethod + def _create_product_template_attribute_line( + cls, product_tmpl_id, attribute_id, value_id + ): + return cls.env["product.template.attribute.line"].create( + { + "product_tmpl_id": product_tmpl_id, + "attribute_id": attribute_id, + "value_ids": value_id, + } + ) + + @classmethod + def _create_product_attribute_value(cls, name, attribute): + return cls.env["product.attribute.value"].create( + {"name": name, "attribute_id": attribute} + ) + + @classmethod + def _create_product_attribute(cls, name): + return cls.env["product.attribute"].create({"name": name}) + + @classmethod + def _create_location(cls, **vals): + return cls.env["stock.location"].create(dict(usage="internal", **vals)) + + @classmethod + def _create_route(cls, **vals): + return cls.env["stock.route"].create( + dict( + product_categ_selectable=False, + product_selectable=True, + sequence=10, + **vals + ) + ) + + +class TestStockRequestBase(TestStockRequest): + def _create_stock_quant(self, product, location, qty): + self.env["stock.quant"].create( + {"product_id": product.id, "location_id": location.id, "quantity": qty} + ) + + def test_defaults(self): + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + } + request_model = self.stock_request.with_user(self.stock_request_user) + stock_request = request_model.with_company(self.main_company).create(vals) + self.assertEqual(stock_request.requested_by, self.stock_request_user) + self.assertEqual(stock_request.warehouse_id, self.warehouse) + self.assertEqual(stock_request.location_id, self.warehouse.lot_stock_id) + + def test_defaults_order(self): + request_model = self.request_order.with_user(self.stock_request_user) + order = request_model.with_company(self.main_company).create({}) + self.assertEqual(order.requested_by, self.stock_request_user) + self.assertEqual(order.warehouse_id, self.warehouse) + self.assertEqual(order.location_id, self.warehouse.lot_stock_id) + + def test_onchanges_order(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).new(vals) + self.stock_request_user.company_id = self.company_2 + order.company_id = self.company_2 + order.onchange_company_id() + + stock_request = order.stock_request_ids + self.assertEqual(order.warehouse_id, self.wh2) + self.assertEqual(order.location_id, self.wh2.lot_stock_id) + self.assertEqual(order.warehouse_id, stock_request.warehouse_id) + + procurement_group = self.env["procurement.group"].create({"name": "TEST"}) + order.procurement_group_id = procurement_group + order.onchange_procurement_group_id() + self.assertEqual( + order.procurement_group_id, order.stock_request_ids.procurement_group_id + ) + + order.procurement_group_id = procurement_group + order.onchange_procurement_group_id() + self.assertEqual( + order.procurement_group_id, order.stock_request_ids.procurement_group_id + ) + order.picking_policy = "one" + + order.onchange_picking_policy() + self.assertEqual(order.picking_policy, order.stock_request_ids.picking_policy) + + order.expected_date = datetime.now() + order.onchange_expected_date() + self.assertEqual(order.expected_date, order.stock_request_ids.expected_date) + + order.requested_by = self.stock_request_manager + order.onchange_requested_by() + self.assertEqual(order.requested_by, order.stock_request_ids.requested_by) + + def test_onchanges(self): + self.product.route_ids = [(6, 0, self.route.ids)] + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + } + stock_request = self.stock_request.with_user(self.stock_request_user).new(vals) + stock_request.product_id = self.product + vals = stock_request.default_get(["warehouse_id", "company_id"]) + stock_request.update(vals) + stock_request.onchange_product_id() + self.assertIn(self.route.id, stock_request.route_ids.ids) + + self.stock_request_user.company_id = self.company_2 + stock_request.company_id = self.company_2 + stock_request.onchange_company_id() + + self.assertEqual(stock_request.warehouse_id, self.wh2) + self.assertEqual(stock_request.location_id, self.wh2.lot_stock_id) + + product = self.env["product.product"].create( + { + "name": "Wheat", + "uom_id": self.env.ref("uom.product_uom_kgm").id, + "uom_po_id": self.env.ref("uom.product_uom_kgm").id, + } + ) + + # Test onchange_product_id + stock_request.product_id = product + stock_request.onchange_product_id() + + self.assertEqual( + stock_request.product_uom_id, self.env.ref("uom.product_uom_kgm") + ) + + stock_request.product_id = self.env["product.product"] + + # Test onchange_warehouse_id + wh2_2 = ( + self.env["stock.warehouse"] + .with_company(self.company_2) + .create( + { + "name": "C2_2", + "code": "C2_2", + "company_id": self.company_2.id, + "partner_id": self.company_2_address.id, + } + ) + ) + stock_request.warehouse_id = wh2_2 + stock_request.onchange_warehouse_id() + + self.assertEqual(stock_request.warehouse_id, wh2_2) + + self.stock_request_user.company_id = self.main_company + stock_request.warehouse_id = self.warehouse + stock_request.onchange_warehouse_id() + + self.assertEqual(stock_request.company_id, self.main_company) + self.assertEqual(stock_request.location_id, self.warehouse.lot_stock_id) + + def test_stock_request_order_validations_01(self): + """Testing the discrepancy in warehouse_id between + stock request and order""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.wh2.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_validations_02(self): + """Testing the discrepancy in location_id between + stock request and order""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.wh2.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_validations_03(self): + """Testing the discrepancy in requested_by between + stock request and order""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "requested_by": self.stock_request_user.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "requested_by": self.stock_request_manager.id, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_validations_04(self): + """Testing the discrepancy in procurement_group_id between + stock request and order""" + procurement_group = self.env["procurement.group"].create( + {"name": "Procurement"} + ) + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "procurement_group_id": procurement_group.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_validations_05(self): + """Testing the discrepancy in company between + stock request and order""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.company_2.id, + "warehouse_id": self.wh2.id, + "location_id": self.wh2.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.company_2.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_validations_06(self): + """Testing the discrepancy in expected dates between + stock request and order""" + expected_date = fields.Datetime.now() + child_expected_date = "2015-01-01" + vals = { + "company_id": self.company_2.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": child_expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.create(vals) + + def test_stock_request_order_validations_07(self): + """Testing the discrepancy in picking policy between + stock request and order""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "picking_policy": "one", + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + with self.assertRaises(exceptions.ValidationError): + self.request_order.with_user(self.stock_request_user).create(vals) + + def test_stock_request_order_available_stock_01(self): + self.main_company.stock_request_check_available_first = True + self._create_stock_quant(self.product, self.warehouse.lot_stock_id, 6) + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + order.action_confirm() + self.assertEqual(order.stock_request_ids.state, "done") + self.assertEqual(order.state, "done") + self.assertEqual(len(order.stock_request_ids.move_ids), 1) + quant_stock = self.product.stock_quant_ids.filtered( + lambda x: x.location_id == self.warehouse.lot_stock_id + ) + self.assertEqual(quant_stock.quantity, 6) + + def test_stock_request_order_available_stock_02(self): + self.main_company.stock_request_check_available_first = True + self.location_child_1 = self._create_location( + name="Child 1", + location_id=self.warehouse.lot_stock_id.id, + company_id=self.main_company.id, + ) + self.location_child_2 = self._create_location( + name="Child 2", + location_id=self.warehouse.lot_stock_id.id, + company_id=self.main_company.id, + ) + self._create_stock_quant(self.product, self.location_child_1, 6) + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.location_child_1.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.location_child_1.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + order.action_confirm() + self.assertEqual(order.stock_request_ids.state, "done") + self.assertEqual(order.state, "done") + self.assertEqual(len(order.stock_request_ids.move_ids), 1) + + def test_stock_request_order_available_stock_03(self): + self.main_company.stock_request_check_available_first = True + self.location_child_1 = self._create_location( + name="Child 1", + location_id=self.warehouse.lot_stock_id.id, + company_id=self.main_company.id, + ) + self.location_child_2 = self._create_location( + name="Child 2", + location_id=self.warehouse.lot_stock_id.id, + company_id=self.main_company.id, + ) + self._create_stock_quant(self.product, self.location_child_1, 3) + self._create_stock_quant(self.product, self.location_child_2, 2) + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + order.action_confirm() + self.assertEqual(order.stock_request_ids.state, "done") + self.assertEqual(order.state, "done") + self.assertEqual(len(order.stock_request_ids.move_ids), 2) + + def test_stock_request_validations_01(self): + vals = { + "product_id": self.product.id, + "product_uom_id": self.env.ref("uom.product_uom_kgm").id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + # Select a UoM that is incompatible with the product's UoM + with self.assertRaises(exceptions.ValidationError): + self.stock_request.with_user(self.stock_request_user).create(vals) + + def test_create_request_01(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = self.request_order.with_user(self.stock_request_user).create(vals) + + stock_request = order.stock_request_ids + + self.product.route_ids = [(6, 0, self.route.ids)] + order.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(order.state, "open") + self.assertEqual(stock_request.state, "open") + + self.assertEqual(len(order.picking_ids), 1) + self.assertEqual(len(order.move_ids), 1) + self.assertEqual(len(stock_request.picking_ids), 1) + self.assertEqual(len(stock_request.move_ids), 1) + self.assertEqual( + stock_request.move_ids[0].location_dest_id, stock_request.location_id + ) + self.assertEqual(stock_request.qty_in_progress, stock_request.product_uom_qty) + self.env["stock.quant"].create( + { + "product_id": self.product.id, + "location_id": self.ressuply_loc.id, + "quantity": 5.0, + } + ) + picking = stock_request.picking_ids[0] + picking.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(stock_request.qty_in_progress, 5.0) + self.assertEqual(stock_request.qty_done, 0.0) + picking.with_user(self.stock_request_manager).action_assign() + self.assertEqual(picking.origin, order.name) + packout1 = picking.move_line_ids[0] + packout1.qty_done = 5 + picking.with_user(self.stock_request_manager)._action_done() + self.assertEqual(stock_request.qty_in_progress, 0.0) + self.assertEqual(stock_request.qty_done, stock_request.product_uom_qty) + self.assertEqual(order.state, "done") + self.assertEqual(stock_request.state, "done") + + def test_create_request_02(self): + """Use different UoM's""" + + vals = { + "product_id": self.product.id, + "product_uom_id": self.uom_dozen.id, + "product_uom_qty": 1.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + + stock_request = self.stock_request.with_user(self.stock_request_user).create( + vals + ) + + self.product.route_ids = [(6, 0, self.route.ids)] + stock_request.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(stock_request.state, "open") + self.assertEqual(len(stock_request.picking_ids), 1) + self.assertEqual(len(stock_request.move_ids), 1) + self.assertEqual( + stock_request.move_ids[0].location_dest_id, stock_request.location_id + ) + self.assertEqual(stock_request.qty_in_progress, stock_request.product_uom_qty) + self.env["stock.quant"].create( + { + "product_id": self.product.id, + "location_id": self.ressuply_loc.id, + "quantity": 12.0, + } + ) + picking = stock_request.picking_ids[0] + picking.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(stock_request.qty_in_progress, 1.0) + self.assertEqual(stock_request.qty_done, 0.0) + picking.with_user(self.stock_request_manager).action_assign() + packout1 = picking.move_line_ids[0] + packout1.qty_done = 1 + picking.with_user(self.stock_request_manager)._action_done() + self.assertEqual(stock_request.qty_in_progress, 0.0) + self.assertEqual(stock_request.qty_done, stock_request.product_uom_qty) + self.assertEqual(stock_request.state, "done") + + def test_create_request_03(self): + """Multiple stock requests""" + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 4.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + stock_request_1 = ( + self.env["stock.request"] + .with_user(self.stock_request_user) + .create(vals.copy()) + ) + stock_request_2 = ( + self.env["stock.request"] + .with_user(self.stock_request_manager.id) + .create(vals.copy()) + ) + stock_request_2.product_uom_qty = 6.0 + self.product.route_ids = [(6, 0, self.route.ids)] + stock_request_1.sudo().action_confirm() + stock_request_2.sudo().action_confirm() + self.assertEqual(len(stock_request_1.sudo().picking_ids), 1) + self.assertEqual( + stock_request_1.sudo().picking_ids, stock_request_2.sudo().picking_ids + ) + self.assertEqual( + stock_request_1.sudo().move_ids, stock_request_2.sudo().move_ids + ) + self.env["stock.quant"].create( + { + "product_id": self.product.id, + "location_id": self.ressuply_loc.id, + "quantity": 10.0, + } + ) + picking = stock_request_1.sudo().picking_ids[0] + picking.action_confirm() + picking.action_assign() + self.assertEqual(stock_request_1.qty_in_progress, 4) + self.assertEqual(stock_request_1.qty_done, 0) + self.assertEqual(stock_request_1.qty_cancelled, 0) + self.assertEqual(stock_request_2.qty_in_progress, 6) + self.assertEqual(stock_request_2.qty_done, 0) + self.assertEqual(stock_request_2.qty_cancelled, 0) + packout1 = picking.move_line_ids[0] + packout1.qty_done = 4 + self.env["stock.backorder.confirmation"].with_context( + button_validate_picking_ids=[picking.id] + ).create({"pick_ids": [(4, picking.id)]}).process_cancel_backorder() + self.assertEqual(stock_request_1.qty_in_progress, 0) + self.assertEqual(stock_request_1.qty_done, 4) + self.assertEqual(stock_request_1.qty_cancelled, 0) + self.assertEqual(stock_request_1.state, "done") + self.assertEqual(stock_request_2.qty_in_progress, 0) + self.assertEqual(stock_request_2.qty_done, 0) + self.assertEqual(stock_request_2.qty_cancelled, 6) + self.assertEqual(stock_request_2.state, "cancel") + + def test_cancel_request(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = self.request_order.with_user(self.stock_request_user).create(vals) + + self.product.route_ids = [(6, 0, self.route.ids)] + order.with_user(self.stock_request_manager).action_confirm() + stock_request = order.stock_request_ids + self.assertEqual(len(order.picking_ids), 1) + self.assertEqual(len(order.move_ids), 1) + self.assertEqual(len(stock_request.picking_ids), 1) + self.assertEqual(len(stock_request.move_ids), 1) + self.assertEqual( + stock_request.move_ids[0].location_dest_id, stock_request.location_id + ) + self.assertEqual(stock_request.qty_in_progress, stock_request.product_uom_qty) + self.env["stock.quant"].create( + { + "product_id": self.product.id, + "location_id": self.ressuply_loc.id, + "quantity": 5.0, + } + ) + picking = stock_request.picking_ids[0] + picking.with_user(self.stock_request_user).action_confirm() + self.assertEqual(stock_request.qty_in_progress, 5.0) + self.assertEqual(stock_request.qty_done, 0.0) + picking.with_user(self.stock_request_manager).action_assign() + order.with_user(self.stock_request_manager).action_cancel() + + self.assertEqual(stock_request.qty_in_progress, 0.0) + self.assertEqual(stock_request.qty_done, 0.0) + self.assertEqual(len(stock_request.picking_ids), 0) + + # Set the request back to draft + order.with_user(self.stock_request_user).action_draft() + self.assertEqual(order.state, "draft") + self.assertEqual(stock_request.state, "draft") + + # Re-confirm. We expect new pickings to be created + order.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(len(stock_request.picking_ids), 1) + self.assertEqual(len(stock_request.move_ids), 2) + + def test_view_actions(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = self.request_order.with_user(self.stock_request_manager).create(vals) + self.product.route_ids = [(6, 0, self.route.ids)] + + order.action_confirm() + stock_request = order.stock_request_ids + self.assertTrue(stock_request.picking_ids) + self.assertTrue(order.picking_ids) + + action = order.action_view_transfer() + self.assertEqual("domain" in action.keys(), True) + self.assertEqual("views" in action.keys(), True) + self.assertEqual(action["res_id"], order.picking_ids[0].id) + + action = order.action_view_stock_requests() + self.assertEqual("domain" in action.keys(), True) + self.assertEqual("views" in action.keys(), True) + self.assertEqual(action["res_id"], stock_request[0].id) + + action = stock_request.action_view_transfer() + self.assertEqual("domain" in action.keys(), True) + self.assertEqual("views" in action.keys(), True) + self.assertEqual(action["res_id"], stock_request.picking_ids[0].id) + + action = stock_request.picking_ids[0].action_view_stock_request() + self.assertEqual(action["type"], "ir.actions.act_window") + self.assertEqual(action["res_id"], stock_request.id) + + def test_stock_request_constrains(self): + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + + stock_request = self.stock_request.with_user(self.stock_request_user).create( + vals + ) + + # Cannot assign a warehouse that belongs to another company + with self.assertRaises(exceptions.ValidationError): + stock_request.warehouse_id = self.wh2 + # Cannot assign a product that belongs to another company + with self.assertRaises(exceptions.ValidationError): + stock_request.product_id = self.product_company_2 + # Cannot assign a location that belongs to another company + with self.assertRaises(exceptions.ValidationError): + stock_request.location_id = self.wh2.lot_stock_id + # Cannot assign a route that belongs to another company + with self.assertRaises(exceptions.ValidationError): + stock_request.route_id = self.route_2 + + def test_stock_request_order_from_products(self): + template_a = self.env["product.template"].create({"name": "ProductTemplate"}) + product_attribute = self._create_product_attribute("Attribute") + product_att_value = self._create_product_attribute_value( + "Name-1", product_attribute.id + ) + product_tmpl_att_line = self._create_product_template_attribute_line( + template_a.id, product_attribute.id, product_att_value + ) + template_a.attribute_line_ids |= product_tmpl_att_line + product_tmpl_att_value = self.env["product.template.attribute.value"].search( + [] + )[-1] + product_a1 = self.env["product.product"].search( + [ + ( + "product_template_variant_value_ids.name", + "=", + product_tmpl_att_value.name, + ) + ] + ) + product_att_value = self._create_product_attribute_value( + "Name-2", product_attribute.id + ) + template_a.attribute_line_ids.value_ids |= product_att_value + product_a2 = self.env["product.product"].search( + [("product_template_variant_value_ids.name", "=", product_att_value.name)] + ) + product_att_value = self._create_product_attribute_value( + "Name-3", product_attribute.id + ) + template_a.attribute_line_ids.value_ids |= product_att_value + product_a3 = self.env["product.product"].search( + [("product_template_variant_value_ids.name", "=", product_att_value.name)] + ) + product_b1 = self._create_product("CODEB1", "Product B1", self.main_company.id) + template_b = product_b1.product_tmpl_id + # One archived variant of B + self._create_product( + "CODEB2", + "Product B2", + self.main_company.id, + product_tmpl_id=template_b.id, + active=False, + ) + order = self.request_order + + # Selecting some variants and creating an order + preexisting = order.search([]) + wanted_products = product_a1 + product_a2 + product_b1 + action = order._create_from_product_multiselect(wanted_products) + new_order = order.search([]) - preexisting + self.assertEqual(len(new_order), 1) + self.assertEqual( + action["res_id"], + new_order.id, + msg="Returned action references the wrong record", + ) + self.assertEqual( + Counter(wanted_products), + Counter(new_order.stock_request_ids.mapped("product_id")), + msg="Not all wanted products were ordered", + ) + + # Selecting a template and creating an order + preexisting = order.search([]) + action = order._create_from_product_multiselect(template_a) + new_order = order.search([]) - preexisting + self.assertEqual(len(new_order), 1) + self.assertEqual( + action["res_id"], + new_order.id, + msg="Returned action references the wrong record", + ) + self.assertEqual( + Counter(product_a1 + product_a2 + product_a3), + Counter(new_order.stock_request_ids.mapped("product_id")), + msg="Not all of the template's variants were ordered", + ) + + # Selecting a template + preexisting = order.search([]) + action = order._create_from_product_multiselect(template_a + template_b) + new_order = order.search([]) - preexisting + self.assertEqual(len(new_order), 1) + self.assertEqual( + action["res_id"], + new_order.id, + msg="Returned action references the wrong record", + ) + self.assertEqual( + Counter(product_a1 + product_a2 + product_a3 + product_b1), + Counter(new_order.stock_request_ids.mapped("product_id")), + msg="Inactive variant was ordered though it shouldn't have been", + ) + + # If a user does not have stock request rights, they can still trigger + # the action from the products, so test that they get a friendlier + # error message. + self.stock_request_user.groups_id -= self.stock_request_user_group + with self.assertRaises(exceptions.AccessError): + order.with_user(self.stock_request_user)._create_from_product_multiselect( + template_a + template_b + ) + + # Empty recordsets should just return False + self.assertFalse( + order._create_from_product_multiselect(self.env["product.product"]) + ) + + # Wrong model should just raise ValidationError + with self.assertRaises(exceptions.ValidationError): + order._create_from_product_multiselect(self.stock_request_user) + + def test_allow_virtual_location(self): + self.main_company.stock_request_allow_virtual_loc = True + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + } + stock_request = self.stock_request.with_user(self.stock_request_user).create( + vals + ) + self.assertTrue(stock_request.allow_virtual_location) + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + self.assertTrue(order.allow_virtual_location) + + def test_onchange_wh_no_effect_from_order(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + order.stock_request_ids.onchange_warehouse_id() + self.assertEqual(order.stock_request_ids[0].location_id, self.virtual_loc) + + def test_cancellation(self): + group = self.env["procurement.group"].create({"name": "Procurement group"}) + product2 = self._create_product("SH2", "Shoes2", False) + product3 = self._create_product("SH3", "Shoes3", False) + self.product.type = "consu" + product2.type = "consu" + product3.type = "consu" + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + "procurement_group_id": group.id, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "procurement_group_id": group.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + }, + ), + ( + 0, + 0, + { + "product_id": product2.id, + "product_uom_id": self.product.uom_id.id, + "procurement_group_id": group.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + }, + ), + ( + 0, + 0, + { + "product_id": product3.id, + "product_uom_id": self.product.uom_id.id, + "procurement_group_id": group.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + }, + ), + ], + } + order = self.request_order.create(vals) + self.product.route_ids = [(6, 0, self.route.ids)] + product2.route_ids = [(6, 0, self.route.ids)] + product3.route_ids = [(6, 0, self.route.ids)] + order.action_confirm() + picking = order.picking_ids + self.assertEqual(1, len(picking)) + picking.action_assign() + self.assertEqual(3, len(picking.move_line_ids)) + line = picking.move_line_ids.filtered(lambda r: r.product_id == self.product) + line.qty_done = 1 + sr1 = order.stock_request_ids.filtered(lambda r: r.product_id == self.product) + sr2 = order.stock_request_ids.filtered(lambda r: r.product_id == product2) + sr3 = order.stock_request_ids.filtered(lambda r: r.product_id == product3) + self.assertNotEqual(sr1.state, "done") + self.assertNotEqual(sr2.state, "done") + self.assertNotEqual(sr3.state, "done") + self.env["stock.backorder.confirmation"].with_context( + button_validate_picking_ids=[picking.id] + ).create({"pick_ids": [(4, picking.id)]}).process() + sr1.env.invalidate_all() + sr2.env.invalidate_all() + sr3.env.invalidate_all() + self.assertNotEqual(sr1.state, "done") + self.assertNotEqual(sr2.state, "done") + self.assertNotEqual(sr3.state, "done") + picking = order.picking_ids.filtered( + lambda r: r.state not in ["done", "cancel"] + ) + self.assertEqual(1, len(picking)) + picking.action_assign() + self.assertEqual(3, len(picking.move_line_ids)) + line = picking.move_line_ids.filtered(lambda r: r.product_id == self.product) + line.qty_done = 4 + line = picking.move_line_ids.filtered(lambda r: r.product_id == product2) + line.qty_done = 1 + self.env["stock.backorder.confirmation"].with_context( + button_validate_picking_ids=[picking.id] + ).create({"pick_ids": [(4, picking.id)]}).process_cancel_backorder() + sr1.env.invalidate_all() + sr2.env.invalidate_all() + sr3.env.invalidate_all() + self.assertEqual(sr1.state, "done") + self.assertEqual(sr1.qty_cancelled, 0) + self.assertEqual(sr2.state, "cancel") + self.assertEqual(sr2.qty_cancelled, 4) + self.assertEqual(sr3.state, "cancel") + self.assertEqual(sr3.qty_cancelled, 5) + + +class TestStockRequestOrderState(TestStockRequest): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product_a = cls._create_product( + "CODEA", + "Product A", + cls.main_company.id, + ) + cls.product_a.route_ids = [(6, 0, cls.route.ids)] + cls.product_b = cls._create_product( + "CODEB", + "Product B", + cls.main_company.id, + ) + cls.product_b.route_ids = [(6, 0, cls.route.ids)] + expected_date = fields.Datetime.now() + vals = { + "company_id": cls.main_company.id, + "warehouse_id": cls.warehouse.id, + "location_id": cls.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": cls.product_a.id, + "product_uom_id": cls.product_a.uom_id.id, + "product_uom_qty": 1.0, + "company_id": cls.main_company.id, + "warehouse_id": cls.warehouse.id, + "location_id": cls.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ), + ( + 0, + 0, + { + "product_id": cls.product_b.id, + "product_uom_id": cls.product_b.uom_id.id, + "product_uom_qty": 1.0, + "company_id": cls.main_company.id, + "warehouse_id": cls.warehouse.id, + "location_id": cls.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ), + ], + } + cls.order = cls.request_order.create(vals) + cls.request_a = cls.order.stock_request_ids.filtered( + lambda x: x.product_id == cls.product_a + ) + cls.request_b = cls.order.stock_request_ids.filtered( + lambda x: x.product_id == cls.product_b + ) + + def test_stock_request_order_state_01(self): + """Request A: Done + Request B: Done = Done.""" + self.order.action_confirm() + self.request_a.action_done() + self.request_b.action_done() + self.assertEqual(self.request_a.state, "done") + self.assertEqual(self.request_b.state, "done") + self.assertEqual(self.order.state, "done") + + def test_stock_request_order_state_02(self): + """Request A: Cancel + Request B: Cancel = Cancel.""" + self.order.action_confirm() + self.request_a.action_cancel() + self.request_b.action_cancel() + self.assertEqual(self.request_a.state, "cancel") + self.assertEqual(self.request_b.state, "cancel") + self.assertEqual(self.order.state, "cancel") + + def test_stock_request_order_state_03(self): + """Request A: Done + Request B: Cancel = Done.""" + self.order.action_confirm() + self.request_a.action_done() + self.request_b.action_cancel() + self.assertEqual(self.request_a.state, "done") + self.assertEqual(self.request_b.state, "cancel") + self.assertEqual(self.order.state, "done") + + def test_stock_request_order_state_04(self): + """Request A: Cancel + Request B: Done = DOne.""" + self.order.action_confirm() + self.request_a.action_cancel() + self.request_b.action_done() + self.assertEqual(self.request_a.state, "cancel") + self.assertEqual(self.request_b.state, "done") + self.assertEqual(self.order.state, "done") + + def test_rounding_half_up_in_progress_01(self): + product_half_up = self._create_product( + "HALFUP", "HalfUp Product", self.main_company.id + ) + product_half_up.uom_id.rounding = 1.0 + vals = { + "product_id": product_half_up.id, + "product_uom_id": product_half_up.uom_id.id, + "product_uom_qty": 0.5, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + } + stock_request = self.stock_request.create(vals) + stock_request.action_confirm() + self.assertEqual( + stock_request.qty_in_progress, + 1, + "Quantity in progress should be the rounded up quantity after confirmation", + ) + + def test_rounding_half_up_in_progress_02(self): + product_half_up = self._create_product( + "HALFUP", "HalfUp Product", self.main_company.id + ) + product_half_up.uom_id.rounding = 1.0 + vals = { + "product_id": product_half_up.id, + "product_uom_id": product_half_up.uom_id.id, + "product_uom_qty": 1.49, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.virtual_loc.id, + } + stock_request = self.stock_request.create(vals) + stock_request.action_confirm() + self.assertEqual( + stock_request.qty_in_progress, + 1, + "Quantity in progress should be the rounded down quantity after confirmation", + ) + + def test_route_id_propagation_on_creation(self): + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "route_id": self.route.id, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + }, + ), + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + }, + ), + ], + } + order = self.request_order.create(order_vals) + self.assertEqual(len(order.stock_request_ids), 2) + order.write({"route_id": self.route_3}) + for request in order.stock_request_ids: + self.assertEqual( + request.route_id.id, + order.route_id.id, + "The route_id from stock.request.order has not " + "been set in the associated stock.requests.", + ) + + def test_compute_route_id_consistency_1(self): + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "route_id": self.route.id, + }, + ), + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + "route_id": self.route_3.id, + }, + ), + ], + } + order = self.request_order.create(order_vals) + order._compute_route_id() + self.assertFalse( + order.route_id, + "Route ID should be False due to inconsistent routes in stock requests.", + ) + + def test_compute_route_id_consistency_2(self): + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "route_id": self.route.id, + }, + ), + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + "route_id": self.route.id, + }, + ), + ], + } + order = self.request_order.create(order_vals) + order._compute_route_id() + self.assertEqual(order.route_id, self.route) + + def test_inverse_route_id_propagation(self): + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + }, + ), + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + }, + ), + ], + } + order = self.request_order.create(order_vals) + order.route_id = self.route.id + order._inverse_route_id() + for request in order.stock_request_ids: + self.assertEqual( + request.route_id.id, + self.route.id, + "Route ID should propagate to all stock requests.", + ) + + def test_onchange_route_id_propagation(self): + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + }, + ), + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + }, + ), + ], + } + order = self.request_order.create(order_vals) + order.route_id = self.route.id + order._onchange_route_id() + for request in order.stock_request_ids: + self.assertEqual( + request.route_id.id, + self.route.id, + "Route ID should update on all stock requests on onchange.", + ) + + +class TestStockRequestOrderChainedTransfers(BaseCommon): + def setUp(self): + super().setUp() + self.env = self.env( + context=dict( + self.env.context, + mail_create_nolog=True, + mail_create_nosubscribe=True, + mail_notrack=True, + no_reset_password=True, + tracking_disable=True, + ) + ) + self.request_order = self.env["stock.request.order"] + self.stock_request = self.env["stock.request"] + self.main_company = self.env.ref("base.main_company") + self.warehouse = self.env.ref("stock.warehouse0") + self.uom_unit = self.env.ref("uom.product_uom_unit") + self.uom_dozen = self.env.ref("uom.product_uom_dozen") + self.stock_request_user = new_test_user( + self.env, + login="stock_request_user", + groups="stock_request.group_stock_request_user", + company_ids=[(6, 0, [self.main_company.id])], + ) + self.stock_request_manager = new_test_user( + self.env, + login="stock_request_manager", + groups="stock_request.group_stock_request_manager", + company_ids=[(6, 0, [self.main_company.id])], + ) + self.product_test = self._create_product("PROD", "Product Test") + self.stock_loc = self._create_location( + name="Backstock", + location_id=self.warehouse.view_location_id.id, + company_id=self.main_company.id, + ) + self.transit_loc = self._create_location( + name="Transit", + location_id=self.warehouse.view_location_id.id, + company_id=self.main_company.id, + ) + self.manufacturing_loc = self._create_location( + name="Manufacturing", + location_id=self.warehouse.view_location_id.id, + company_id=self.main_company.id, + ) + self.route = self.env["stock.route"].create( + { + "name": "Backstock to Manufacturing (2 steps)", + "warehouse_selectable": True, + "warehouse_ids": [(6, 0, [self.warehouse.id])], + "rule_ids": [ + ( + 0, + False, + { + "name": "Stock to Transit", + "location_src_id": self.stock_loc.id, + "location_dest_id": self.transit_loc.id, + "action": "pull", + "picking_type_id": self.warehouse.int_type_id.id, + "procure_method": "make_to_stock", + "warehouse_id": self.warehouse.id, + "company_id": self.main_company.id, + }, + ), + ( + 0, + False, + { + "name": "Transit to Manufacturing", + "location_src_id": self.transit_loc.id, + "location_dest_id": self.manufacturing_loc.id, + "action": "pull_push", + "picking_type_id": self.warehouse.int_type_id.id, + "procure_method": "make_to_order", + "warehouse_id": self.warehouse.id, + "company_id": self.main_company.id, + }, + ), + ], + } + ) + self.product_test.route_ids = [(6, 0, [self.route.id])] + self._create_stock_quant(self.stock_loc, self.product_test, 5) + + def _create_product(self, default_code, name, **vals): + return self.env["product.product"].create( + dict( + name=name, + default_code=default_code, + uom_id=self.uom_unit.id, + uom_po_id=self.uom_dozen.id, + type="product", + **vals + ) + ) + + def _create_location(self, **vals): + return self.env["stock.location"].create(dict(usage="internal", **vals)) + + def _create_stock_quant(self, location_id, product_id, qty): + self.env["stock.quant"].create( + { + "location_id": location_id.id, + "product_id": product_id.id, + "quantity": qty, + } + ) + + def test_two_pickings_related(self): + """Test to check that order has two related pickings after confirmation""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.manufacturing_loc.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product_test.id, + "product_uom_id": self.product_test.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.manufacturing_loc.id, + "expected_date": expected_date, + }, + ) + ], + } + order = self.request_order.with_user(self.stock_request_user).create(vals) + order.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(len(order.mapped("picking_ids")), 2) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/product.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/product.xml new file mode 100644 index 0000000..52bc1fb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/product.xml @@ -0,0 +1,36 @@ + + + + Request Stock + ir.actions.server + code + + + + +action = records.env['stock.request.order']._create_from_product_multiselect(records) + + + + Request Stock + ir.actions.server + code + + + + +action = records.env['stock.request.order']._create_from_product_multiselect(records) + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/res_config_settings_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/res_config_settings_views.xml new file mode 100644 index 0000000..b1cb64a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/res_config_settings_views.xml @@ -0,0 +1,170 @@ + + + + + res.config.settings.view.form.inherit.stock_request + res.config.settings + + + +
    +

    Orders & Configuration

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Purchases

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Manufacturing

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Kanban

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    Analytic

    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + Settings + ir.actions.act_window + res.config.settings + form + inline + {'module' : 'stock_request'} + +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_move_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_move_views.xml new file mode 100644 index 0000000..e2d0b86 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_move_views.xml @@ -0,0 +1,27 @@ + + + + stock.move.operations.form + stock.move + + + + + + + + + + stock.move.form + stock.move + + + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_picking_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_picking_views.xml new file mode 100644 index 0000000..a35f92e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_picking_views.xml @@ -0,0 +1,27 @@ + + + + stock.picking.form + stock.picking + + + +
    + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_allocation_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_allocation_views.xml new file mode 100644 index 0000000..e1cee1a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_allocation_views.xml @@ -0,0 +1,59 @@ + + + + + stock.request.allocation.tree + stock.request.allocation + + + + + + + + + + + + + + + + stock.request.allocation.form + stock.request.allocation + +
    + + + + + + + + + + + + + + + + + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_menu.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_menu.xml new file mode 100644 index 0000000..a6d78d2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_menu.xml @@ -0,0 +1,45 @@ + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_order_views.xml new file mode 100644 index 0000000..bcc3f4c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_order_views.xml @@ -0,0 +1,226 @@ + + + + stock.request.order.tree + stock.request.order + + + + + + + + + + + + stock.request.order.form + stock.request.order + +
    + + + + + +
    +
    + +
    + + + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + stock.request.order.search + stock.request.order + + + + + + + + + + + + + + + + + + + + + Stock Request Orders + ir.actions.act_window + stock.request.order + tree,form + +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_views.xml new file mode 100644 index 0000000..e2339c2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request/stock_request/views/stock_request_views.xml @@ -0,0 +1,261 @@ + + + + + stock.request.tree + stock.request + + + + + + + + + + + + + + + + + + + + + stock.request.search + stock.request + + + + + + + + + + + + + + + + + + + + + + + + + + + stock.request.form + stock.request + +
    + +
    +
    + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + +
    + +
    +
    + + Stock Requests + stock.request + ir.actions.act_window + tree,form,pivot + { + 'search_default_current_requests': 1, + 'pivot_column_groupby': ['location_id'], 'pivot_row_groupby': ['product_id'], 'pivot_measures': ['product_uom_qty', 'qty_done'], + 'search_default_draft': 1, 'search_default_open': 1 + } + + + +

    + Click to add a Stock Request. +

    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/README.md new file mode 100644 index 0000000..6c39d7d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/README.md @@ -0,0 +1,46 @@ +# Stock Requests Direction + +Odoo addon: stock_request_direction + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_direction +``` + +## Dependencies + +This addon depends on: +- stock_request + +## Manifest Information + +- **Name**: Stock Requests Direction +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse Management +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_direction`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/ARCHITECTURE.md new file mode 100644 index 0000000..389c519 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_direction Module - stock_request_direction + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONFIGURATION.md new file mode 100644 index 0000000..46da768 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_direction. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/DEPENDENCIES.md new file mode 100644 index 0000000..8b8e658 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/FAQ.md new file mode 100644 index 0000000..33ef5d4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_direction or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/INSTALL.md new file mode 100644 index 0000000..bce0f50 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_direction" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_direction" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/MODELS.md new file mode 100644 index 0000000..561772c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_request_direction. + +```mermaid +classDiagram + class stock_request + class stock_request_order +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/OVERVIEW.md new file mode 100644 index 0000000..34635ed --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_direction. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_direction +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/USAGE.md new file mode 100644 index 0000000..b190ea9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_direction +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/pyproject.toml new file mode 100644 index 0000000..f64665a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_direction" +version = "16.0.0" +description = "Stock Requests Direction - From or to your warehouse?" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_direction"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/README.rst new file mode 100644 index 0000000..47c6d9a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/README.rst @@ -0,0 +1,122 @@ +======================== +Stock Requests Direction +======================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:af707cd0f8f20a1f7e0e84382522f29bb4cbbb876b3228e7014e1d8774e17beb + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_direction + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_direction + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module was written to allow users to request products to be transferred +from or to your warehouses. They can specify the direction and don't have to +bother selecting the inventory location. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Creation +~~~~~~~~ + +* Go to Stock Requests > Stock Requests +* Create or select a stock request +* Provide a product, quantity, direction and expected date +* Click Confirm + +Upon confirmation, the request will be reviewed by the warehouse team who can +define the appropriate route. + +In case that transfers are created, the user will be able to access to them +from the button 'Transfers' available in the Stock Request. + +Cancel +~~~~~~ + +When the user cancels a Stock Request, the related pending stock moves will be +also cancelled. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Open Source Integrators + +Contributors +~~~~~~~~~~~~ + +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + * Freni Patel + +* `Ecosoft `__: + + * Pimolnat Suntian + * Kitti U. + +* `APSL-Nagarro `__: + + * Antoni Marroig + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px + :target: https://github.com/max3903 + :alt: max3903 + +Current `maintainer `__: + +|maintainer-max3903| + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__init__.py new file mode 100644 index 0000000..fcd348d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__init__.py @@ -0,0 +1,4 @@ +# Copyright (c) 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__manifest__.py new file mode 100644 index 0000000..b756c71 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright (c) 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Requests Direction", + "summary": "From or to your warehouse?", + "version": "16.0.1.0.0", + "license": "LGPL-3", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "category": "Warehouse Management", + "depends": ["stock_request"], + "data": [ + "views/res_config_settings.xml", + "views/stock_request_views.xml", + "views/stock_request_order_views.xml", + ], + "application": False, + "development_status": "Beta", + "maintainers": ["max3903"], +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/bs.po new file mode 100644 index 0000000..05af303 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/bs.po @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_direction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__direction +msgid "Direction" +msgstr "Smjer" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__inbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__inbound +msgid "Inbound" +msgstr "Dolazni" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__outbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__outbound +msgid "Outbound" +msgstr "Izlazni" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request_order +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/es.po new file mode 100644 index 0000000..63741a1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/es.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_direction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-01-17 05:13+0000\n" +"Last-Translator: Nelson Ramírez Sánchez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__direction +msgid "Direction" +msgstr "Sentido" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__inbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__inbound +msgid "Inbound" +msgstr "Entrante" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__outbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__outbound +msgid "Outbound" +msgstr "Saliente" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request +msgid "Stock Request" +msgstr "Solicitud de Existencias" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request_order +msgid "Stock Request Order" +msgstr "Pedido de Existencia" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/it.po new file mode 100644 index 0000000..f1e999b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/it.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_direction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-01-15 11:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__direction +msgid "Direction" +msgstr "Direzione" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__inbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__inbound +msgid "Inbound" +msgstr "In entrata" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__outbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__outbound +msgid "Outbound" +msgstr "In uscita" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request +msgid "Stock Request" +msgstr "Richiesta di magazzino" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request_order +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/stock_request_direction.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/stock_request_direction.pot new file mode 100644 index 0000000..878c519 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/stock_request_direction.pot @@ -0,0 +1,42 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_direction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__direction +msgid "Direction" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__inbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__inbound +msgid "Inbound" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__outbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__outbound +msgid "Outbound" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request +msgid "Stock Request" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request_order +msgid "Stock Request Order" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/zh_CN.po new file mode 100644 index 0000000..2648274 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/i18n/zh_CN.po @@ -0,0 +1,63 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_direction +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__direction +msgid "Direction" +msgstr "方向" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__display_name +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request__id +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__inbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__inbound +msgid "Inbound" +msgstr "入库" + +#. module: stock_request_direction +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request____last_update +#: model:ir.model.fields,field_description:stock_request_direction.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request_direction +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request__direction__outbound +#: model:ir.model.fields.selection,name:stock_request_direction.selection__stock_request_order__direction__outbound +msgid "Outbound" +msgstr "出库" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request_direction +#: model:ir.model,name:stock_request_direction.model_stock_request_order +msgid "Stock Request Order" +msgstr "库存请求单" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/__init__.py new file mode 100644 index 0000000..010f84b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/__init__.py @@ -0,0 +1,5 @@ +# Copyright (c) 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import stock_request +from . import stock_request_order diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request.py new file mode 100644 index 0000000..96d7ad3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request.py @@ -0,0 +1,24 @@ +# Copyright (c) 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockRequest(models.Model): + _inherit = "stock.request" + + direction = fields.Selection( + [("outbound", "Outbound"), ("inbound", "Inbound")], + states={"draft": [("readonly", False)]}, + readonly=True, + ) + + @api.onchange("direction") + def _onchange_location_id(self): + if not self._context.get("default_location_id"): + if self.direction == "outbound": + # Stock Location set to Partner Locations/Customers + self.location_id = self.company_id.partner_id.property_stock_customer.id + else: + # Otherwise the Stock Location of the Warehouse + self.location_id = self.warehouse_id.lot_stock_id.id diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request_order.py new file mode 100644 index 0000000..720c3fb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/models/stock_request_order.py @@ -0,0 +1,33 @@ +# Copyright (c) 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockRequestOrder(models.Model): + _inherit = "stock.request.order" + + direction = fields.Selection( + [("outbound", "Outbound"), ("inbound", "Inbound")], + states={"draft": [("readonly", False)]}, + readonly=True, + ) + + @api.onchange("warehouse_id", "direction") + def _onchange_location_id(self): + if self.direction == "outbound": + # Stock Location set to Partner Locations/Customers + self.location_id = self.company_id.partner_id.property_stock_customer.id + else: + # Otherwise the Stock Location of the Warehouse + self.location_id = self.warehouse_id.lot_stock_id.id + for stock_request in self.stock_request_ids: + if stock_request.route_id: + stock_request.route_id = False + + def change_childs(self): + res = super().change_childs() + if not self._context.get("no_change_childs", False): + for line in self.stock_request_ids: + line.direction = self.direction + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..7e9b770 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/CONTRIBUTORS.rst @@ -0,0 +1,14 @@ +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + * Freni Patel + +* `Ecosoft `__: + + * Pimolnat Suntian + * Kitti U. + +* `APSL-Nagarro `__: + + * Antoni Marroig \ No newline at end of file diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/DESCRIPTION.rst new file mode 100644 index 0000000..8620293 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/DESCRIPTION.rst @@ -0,0 +1,3 @@ +This module was written to allow users to request products to be transferred +from or to your warehouses. They can specify the direction and don't have to +bother selecting the inventory location. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/USAGE.rst new file mode 100644 index 0000000..22156f0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/readme/USAGE.rst @@ -0,0 +1,19 @@ +Creation +~~~~~~~~ + +* Go to Stock Requests > Stock Requests +* Create or select a stock request +* Provide a product, quantity, direction and expected date +* Click Confirm + +Upon confirmation, the request will be reviewed by the warehouse team who can +define the appropriate route. + +In case that transfers are created, the user will be able to access to them +from the button 'Transfers' available in the Stock Request. + +Cancel +~~~~~~ + +When the user cancels a Stock Request, the related pending stock moves will be +also cancelled. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c31ecfd9f58e3ab7e0ede0f1d56185d51074099c GIT binary patch literal 7510 zcmeAS@N?(olHy`uVBq!ia0y~yV9Wqv4mJh`hN`EDR~Z->*pj^6T^Rm@;DWu&Co?cG za29w(7Bet#3xhBt!>l1lgz^-7_ia*bM(!-YSz@9heWy zd*%7}YPkN3som{7AFF(}-k<6d&1uqLBmVCC#l3-V*Xf&H=#DzK+WCN#NkjXQo&H?+ zFHUrxdTaCULk{|9Toy1ssh;!R>*EAI`85}(>DF9SyTHIB`uuOTc4CkKhp86 zE)RckV&N^*|6LzBx9i2f4l|k6rp@cSZR&r)42GSu>Fpvp7Z>Y2ytjL|(Za9K<^Sx6 z&ENBL?Uns;-cv(L0*!J{u0DK(NqB<)qe9I`Q<~29_iR3zb7|k+shodH!`FR3k>vOB zsPZ(gl`o#|={7dbP`Lj{Ms{iwul&yqw`Lj1+C@yh5P!3-I^y(3k#*eBT1ys%f68iB zVd8xfJ105liYn{+^*=8hFPr-M0PA{#hP7C1-h2xK9WW6iS{!9-I&Aa@NMK2&T<5jqV zglEwleXnIsee#WLMV9B3v*&qzH@K$DTJ@{*$TV}QS-+lsZk;6ZTx#Wunz(t-_lTW) z#8Bi};=*N?_o6>6Y|5)2o2!MZa(?H!7hRjLYdY!eoRm#PZ)P|$Tk1TD*y~h~EZ!F~ zW%{ch#@Xz)rQr`FU=D%%JVp}#P_v%XFPS#(3*H0X~KA*eH^P2FHnGVdB?-a|OZu%_npKr0@+2g$X zg{L+@xbHHj-}{*m)ClIF9|x;B^4xx&6MDPq{?2EQ^X^Gay1lnip5y)Tol}yx^UX

    P{GbhWgx7Q{-yS{l(;=`QYvq_!IC%Pbi9&u*FgFI@a4SLw$)7hB|RUwnDxP7PCez{V?U z;uIs!Y*fDBpm)5|gKL|%r3nX3mLJh>%4F?v<_w`&hR5EUMJXd}cvvb#cAu!}_UWaIrr*q&@4&oM?)k>6f9E{bthbuIHb6WsqPj9UQ*(vm@hgiT$NX89 zqNK_qb>gXo{%*69*{gatMV$F{nfGnxXLcX8mrup7 z&vX3#W#_K3FL*q+eSWjnaY18EXR*#>{ilC!Zq*Oi$ba_4yHyj<81}`s6^OAt2vn`BLv6y1J@c_9%KX z_ccsodNy@cvxBtuxk6F#o>$WOve%#2KQ(#WxW~xwW#IpS8Qp`NOp!vbgJNr+ zU%Gv}e9o*HUq19X`bp3Kw6a>^kb}SrpJO{cU*8p9`1xLk+Hww)q92O|J6E0Gr!uo! zf~Wb!`n?uPi>2?q+j!sZ=ZEO?%$7-M*H(YC-gA7WW4g{c-dktN`tR22wH^+?z*hcygcR^SSE+ zS({_ny6-%SEMQ2*69)TY8PI16mMSgbc*fK8#`umhfN3;+v{k$b+e>IqhIEn z_UpAjzq#GrW4gqlp)}(O+xwsh-?uuq1z$`#dQ-9Wmdes}{>Eq59CfR9E>tTzd}WLO zy3D+M*9E~s&lNSde4DoLm|tv$AGS@rjn;VVc`zQNG0V+$0mz%_}-r zvfi^jQDs*j(QAJ5^&AIv+jGr9FTN?~2T#rFJ^Oc!v-0boe+5mqZT#o6V6xnE{`(J1 z?>2t>?YyUX!qsEyduPo{uMT9I>s&Z(iL@?r)F;7=l=T4`i?V(7PKF#v5O|Str1FG7 z;j|@{+x?Rt&#~@$Bg*4evUcXzbf&pmEbg1R%&{-nx^Q}}<%F$F2Ukelwvg_0P**)C z+t#&NB{us_sKybte<$odR>YhO?7wqwEe~7cJ)b$UK`+9NoxAo!qxbCJPsM8Nn*vle ztvSuRc+$x;2?8&A_jS+7+|Q9}JFP~Mm)Bog?zx`G3B8LiHmx%O`N3THc|v#M<3Ekx z*OzGvMLwI`vPOu<^=iT7ujx#C7h3eMdFLf=_=h2G-?gzeJ?L<6=Z92SRY)H^VLt|W^tN}hD>Pq`tH(< zl&d_y{<>Y8&-tb5vCNKjA$K`dr|QMNy!5H4r(AfGlY&5Cvh@9593^r`BBOpToFHkk zDfQc(%KVsz60gs*Sn)s7S-Zyh_un%f6J+o0Han#t@ZwL$W|gCl3b&S8%y3oKj>$^+ zJJaF0=bZQZU#>6tnAi01=ifxrt($Eb8~3_!{iyHSH$`1t)=Kw-7eL8SUNAj9EVgA+T<_Vxdlo0W$* zQaaspSIO4dZT$O+gyj3VnYs=U-8Fx9-c7!?ebGkvu*dRPVjhdUM0c8^w)7t zZ{_S&Q|dX^Z9K#H_~TEfS1-012(U!8?fPAIi}@^ntHA>A@ZYJMM2rP0pQ`t#Z0|)HOgU}7XVLkeGA}xux$d5O zZQ-qb+cIv~AtUyl!;e3%PA}kQp18fSkLUSQ{w99jElXDO&N<2Wc*muL=_iwt6+RhV z5PS}56Z~XmZVtZVA=Y;Bp5)*AADz5-+VteA z_eSDt6h7<4zMXm|TC!sgXGuv;sr_?~#osv!J^z05{8^*(S7GzIdou!5PBE3#u~=Dc zt5O%qo4Gk{iRE2Bw;7J+6(XG*4ov*r*taX}z2b?RoShvm(@I+}zn$P1m+!zAF8KPq zrTmK*J4ALYi`mtlaEe(rHmyD*<;v67%w5MU{#$NmmX)2(6yEunZHL;OS+hSI37qJ7 zeReWe+mBiC?Nc5$M{X_*r7?YmI?r_< zE7_PbuimiIt#3GAkjH9eq{W)o@p;Zbcl-0jtnw5V*cO`XUP%G)~F+* zO(&mzZoP8DXTe0f#mU7*)!q^vb2z{JjeU9JhsI5(hZ@EiOF}REE*Go4qhMyvR9kPK z{%DRCcXu7Hr*wtGDbjy`_%Rz6)}Ldo3k%Sw9)pahRCtOYmf8n5fOvwfUSTlTKM$t&aQFeoXBv?=KU}(>${rlvlRR-5e9z z;rp?Qd6Ts=*gdz;%n7e$KC@tB;kSj7ynMx#=8bM$b_v0sDr$IG%)b3AtVk*UWX;y- z=EY;R%+$o@utS1#+nluFo>_9~d?B;3!fU&oODDapT)AM@#uJHub}^*f{eCZZ z(pQ$kbM4M&1sHCMJ%1eJD4XoKfKfvK+}9r0c?q4$xA|rqU2`dDc31bBO;Ow_X7)ew zb9BUl4I}~;B(7Zw@|dVG`$bAnVxz07YMAKFZ70&SYhHZhYF+e+-RV1x>YmuFr!SG|3z{`HP=b;+9(habO^n0Kvr8spy2`g61PzrAqf%OV@@x<@?c z9-U}2u>bl)@9(Gm)p7qnUe{Z-+y^_4{i>|9?2IyX&^CTL1QdO?K{cI8AzE^M*Vn&T{jthbDe&+6|DT2bUcDc8^}qv>=Gjc`d?ByxYyT~}_vev%NW_kv z`pY*)_{9JI?EP#1{W%lvh8}(JOtX89|9{292{!t3?N{yp^Gp28%lhJ=Wh!@0ok%i# z{pY4~)vM0qCZ>BA98^@AyC<^mOYwTUwcGc7imZKS{5)l2&cE&DlTR)&Ue5R8&( z{65(?j#>z3NF36y|Fvb`-|72T{{214zWCPe+2=%sYN@Nm298CxroEW=+X1|dbOwW-}t9Y zyYc1G&c#_d@2=12=9M*j^yX#ruWRvt+Ok#!*YDXT7X9^4aq6qr^RG2bo>{W*fs<&n z#fJ4>@&7KVZ(UuNerw+5U0J*D{W_JtwfJ}#-vO()cQ%IR*FN36YTd1Q+n(PE-R~S< zm%N_O=GgmREK)CjOC_7V++P2PFvn?VcW|DLhrb7`vkYW#dls`oR!Lw7gtj*;KL!@28o zvtpy0m+kK>d2?-R4IZz5+^fGwY4+9$%$wL|Zw<(=c{sIaf8S>H(_h~hmSrhi@K|ZQ zobT1i+pPc%InY%LJoNt!;=E|=2{c`vCZko7> zZH`P+yTBr~Quz5IgPb3G56^Cg40kp-NH^V=4^xmZJM%j7$Iagl4t_`$;c$D(zd@b7 z(amdz+MTvruQvbP*4#YFHQB`M;pA+iLm;=Yo^Oh0Zl2s$Y5RU(eLq;z;K}6Ur!!?( zq%<#Id^x2!<(k0yr`7q}3mrD4^vqG-{OZLgZ#A&vLT_2gwCyl|aCcqcS6-hYhiezi z4OZ@sT`XBId$-m&Yq#)|27!zvld=!3UCp~UD(>8ye%t)NFK<6O{pps^>g1`Or%xNk z=FXa&-PNz(=yvMwhq=*N`!dhp_)ZAB75a})pLp}e`~L^apL}k$5a9gu)9Ke=`yYO8`@UA#*wy})cfVqM zB<{k`hTT=tF3;}@zP%Z{Q26}2sVArGJKDCs_VMyxugvRCF-9!E_mA_f#_d(cnR{+J z*~neLU$;EC{>#_Mqb>_LO)ja4^}o)$zJgDF#np$+rkR!J=I<+a&)@UYxApKF%{_wV zQEVlDX707xvENGf{P%PFOJ48)_i@9WIO%5p1rz<$Jm(#4uzKJ3;zDDV?2YNS`2XIv ze|bSVzb^Rl<~X+c=0guxth@i>^1;7Xt!h@7Ej|DB-P5?g_v*K2CmcD|zmr93X4jW5 zYr@~k@`1+bgpW@u*IrX$Q&<1;$!`0MtMC79-+y_7i^WW|2zG^U`2I7w~vthGog$Wqf5rcaa*_Wo_fvuV(0Sjr)IUx-Z{%h&DXE; z%l>`;`u@G}uUj#3qa~ZQ=N-BIQnT5g#B#lO@i1!YG!fOO?_*k{9;AGrXC@YE`u(?{Iy%j@ae?doM49-}^Oh-`8^9qVxwj6Jwsoa;^IL zY(dqpm|IaPR~I&4ojuF7{{LIEzYpd2uiyW3o#*H7HI~ocx2*kA{AY1a0cdph#Y3yw zU*i5R9_>uFDze!4_1wgZk+uKdmhCNH>b?EFg=yA;-kC)=lfPPjeRH|`%PVjH7s2}r zoOa8v_IPpr>sS95S;_sN>g4OKW~q6WS~I;R1DJYq0yb`TDcx!v629AcdEfiX51Y4Y z>D?>(e@;qmvZuGVW9io&SIi9*pTAf$XYuBu>Kkq*!evuLv(G1s-ufKT+9$K>s_^kw zp+QO24=R5CP5gRWz2x&W=f}c%z5Y8)UvKnseGaZfZ$;%?y_U3^i|Y)3&4a}kXNc`( zWOdGQ&QvkWUbtWU2IZP7f_=oS^@-*^f(6NXF=N$p83g;9qILzB108%-l zaGMZ_PAFWbe9l9wPK9NX(DPYSgI`)iGoM+&xcKN#l|nXSu!&K7Yi4%`I4odfKDu*K z?8^y3I)x0N06E%Wj^hHxM?5Nh zpBFT`AFEs*QZf(X0psPD8XcIAC9iya|vv`0_hD7%ts_yq)zO!xDNJJMd7-K z?2ZB%2WAx7If9&!d~|1*g|c?xEZHKPb5kdMH4$If01n626zjwHq)tTX6e_sizxi}^ zbQ{jL@$AdH@=c|K*=~0Yor2oc`f*d9ZYb?UO zuT6&dQTtrZw*EgyGRsahSrpIK6395Ppzz+o2(Zr-E-)0bahP-%JAeXHAmd5goYfu1 zAJ!MhneYfb51!-2ZqVGe@llN997ZPI$9sRD3OBP;I(NW%+5qm}I`)~AoTGZ<$` z=%0JuVSIo`>R4Ct%#f0Kf9Ei!T`;(|JNNf1Tb52^hXsiX%5RyieBt_tM*yT)ywiAt z-x^2dqlNd*osm?yU=TOwbVM;5he?n4^Q*xxLC#5BV)1@Tj()*BknS}W)4jJD9|5Tp z@m`u@d-k3bLnFvts*(Oe=?XLBJtUb_^v~sN<2Pt-YkU-Qc5VOz6Yt}rJKZ+fsYjL> zi8*j>IKl|BTp*o+MM|@$*c9aL9`Wa^uFA7?8c*Q+bP0l+XkKKion9 literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/index.html new file mode 100644 index 0000000..22615e2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/static/description/index.html @@ -0,0 +1,465 @@ + + + + + + +Stock Requests Direction + + + +

    +

    Stock Requests Direction

    + + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module was written to allow users to request products to be transferred +from or to your warehouses. They can specify the direction and don’t have to +bother selecting the inventory location.

    +

    Table of contents

    + +
    +

    Usage

    +
    +

    Creation

    +
      +
    • Go to Stock Requests > Stock Requests
    • +
    • Create or select a stock request
    • +
    • Provide a product, quantity, direction and expected date
    • +
    • Click Confirm
    • +
    +

    Upon confirmation, the request will be reviewed by the warehouse team who can +define the appropriate route.

    +

    In case that transfers are created, the user will be able to access to them +from the button ‘Transfers’ available in the Stock Request.

    +
    +
    +

    Cancel

    +

    When the user cancels a Stock Request, the related pending stock moves will be +also cancelled.

    +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Open Source Integrators
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    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.

    +

    Current maintainer:

    +

    max3903

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/__init__.py new file mode 100644 index 0000000..0cce77b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_request_direction diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/test_stock_request_direction.py b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/test_stock_request_direction.py new file mode 100644 index 0000000..892948f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/tests/test_stock_request_direction.py @@ -0,0 +1,128 @@ +# Copyright 2017 ForgeFlow S.L. +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). + + +from odoo import fields + +from odoo.addons.stock_request.tests.test_stock_request import TestStockRequest + + +class TestStockRequestBase(TestStockRequest): + @classmethod + def setUpClass(cls): + super(TestStockRequestBase, cls).setUpClass() + + def test_onchange_direction_request(self): + # Outbound direction + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + } + stock_request = ( + self.stock_request.with_user(self.stock_request_user) + .with_context(company_id=self.main_company.id) + .create(vals) + ) + self.assertEqual(stock_request.location_id, self.warehouse.lot_stock_id) + stock_request.direction = "outbound" + stock_request._onchange_location_id() + self.assertEqual( + stock_request.location_id, + stock_request.company_id.partner_id.property_stock_customer, + ) + # Inbound direction + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + } + stock_request = ( + self.stock_request.with_user(self.stock_request_user) + .with_context(company_id=self.main_company.id) + .create(vals) + ) + self.assertEqual(stock_request.location_id, self.warehouse.lot_stock_id) + stock_request.direction = "inbound" + stock_request._onchange_location_id() + self.assertEqual( + stock_request.location_id, + stock_request.warehouse_id.lot_stock_id, + ) + + def test_onchange_direction_order(self): + expected_date = fields.Datetime.now() + # Outbound direction + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "direction": "outbound", + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + order = ( + self.request_order.with_user(self.stock_request_user) + .with_context(company_id=self.main_company.id) + .create(vals) + ) + self.assertEqual(order.location_id, self.warehouse.lot_stock_id) + order.direction = "outbound" + order._onchange_location_id() + order.onchange_location_id() + self.assertEqual( + order.stock_request_ids[:1].location_id, + order.company_id.partner_id.property_stock_customer, + ) + # Inbound direction + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "direction": "inbound", + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + order = ( + self.request_order.with_user(self.stock_request_user) + .with_context(company_id=self.main_company.id) + .create(vals) + ) + self.assertEqual(order.location_id, self.warehouse.lot_stock_id) + order.stock_request_ids[:1].route_id = self.route + order.direction = "inbound" + order._onchange_location_id() + order.onchange_location_id() + self.assertEqual( + order.stock_request_ids[:1].location_id, + order.warehouse_id.lot_stock_id, + ) + self.assertFalse(order.stock_request_ids[:1].route_id) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/res_config_settings.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/res_config_settings.xml new file mode 100644 index 0000000..c9d9148 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/res_config_settings.xml @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_order_views.xml new file mode 100644 index 0000000..5eefab6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_order_views.xml @@ -0,0 +1,39 @@ + + + + stock.request.order.tree + stock.request.order + + + + + + + + + stock.request.order.form + stock.request.order + + + + + + + { + 'default_expected_date': expected_date, + 'default_picking_policy': picking_policy, + 'default_warehouse_id': warehouse_id, + 'default_direction': direction, + 'default_location_id': location_id, + 'default_procurement_group_id': procurement_group_id, + 'default_company_id': company_id, + 'default_state': state, + } + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_views.xml new file mode 100644 index 0000000..5dd26be --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_direction/stock_request_direction/views/stock_request_views.xml @@ -0,0 +1,24 @@ + + + + stock.request.tree + stock.request + + + + + + + + + stock.request.form + stock.request + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/README.md new file mode 100644 index 0000000..80637da --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/README.md @@ -0,0 +1,47 @@ +# Stock Request kanban + +Odoo addon: stock_request_kanban + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban +``` + +## Dependencies + +This addon depends on: +- stock_request +- barcodes + +## Manifest Information + +- **Name**: Stock Request kanban +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse Management +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_kanban`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/ARCHITECTURE.md new file mode 100644 index 0000000..67f64db --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_kanban Module - stock_request_kanban + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONFIGURATION.md new file mode 100644 index 0000000..8e0325f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_kanban. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/DEPENDENCIES.md new file mode 100644 index 0000000..2670009 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) +- [barcodes](https://github.com/bringout/oca-ocb-technical/tree/b0cb832ccdc7fe133266cca5b11f01ad425277b4/odoo-bringout-oca-ocb-barcodes) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/FAQ.md new file mode 100644 index 0000000..5b39259 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_kanban or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/INSTALL.md new file mode 100644 index 0000000..f11ac30 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_kanban" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/MODELS.md new file mode 100644 index 0000000..dd62860 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/MODELS.md @@ -0,0 +1,17 @@ +# Models + +Detected core models and extensions in stock_request_kanban. + +```mermaid +classDiagram + class stock_inventory_kanban + class stock_request_kanban + class product_product + class product_template + class stock_request + class stock_request_abstract +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/OVERVIEW.md new file mode 100644 index 0000000..219c86b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_kanban. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_kanban +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/REPORTS.md new file mode 100644 index 0000000..16e74a4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/REPORTS.md @@ -0,0 +1,24 @@ +# Reports + +Report definitions and templates in stock_request_kanban. + +```mermaid +classDiagram +``` + +## Available Reports + +### PDF/Document Reports +- **Print kanban** (PDF/Print) + + +## Report Files + +- **report_paper_format.xml** (XML template/definition) +- **stock_request_kanban_templates.xml** (XML template/definition) + +## Notes +- Named reports above are accessible through Odoo's reporting menu +- Python files define report logic and data processing +- XML files contain report templates, definitions, and formatting +- Reports are integrated with Odoo's printing and email systems diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/SECURITY.md new file mode 100644 index 0000000..6cdebd4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in stock_request_kanban. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../stock_request_kanban/security/ir.model.access.csv)** + - 10 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../stock_request_kanban/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/USAGE.md new file mode 100644 index 0000000..5347764 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_kanban +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/WIZARDS.md new file mode 100644 index 0000000..d71c038 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/doc/WIZARDS.md @@ -0,0 +1,10 @@ +# Wizards + +Transient models exposed as UI wizards in stock_request_kanban. + +```mermaid +classDiagram + class WizardStockInventoryKanban + class WizardStockRequestKanban + class WizardStockRequestOrderKanban +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/pyproject.toml new file mode 100644 index 0000000..c0e63d4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_kanban" +version = "16.0.0" +description = "Stock Request kanban - Adds a stock request order, and takes stock requests as lines" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "odoo-bringout-oca-stock-logistics-request-barcodes>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_kanban"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/README.rst new file mode 100644 index 0000000..f420488 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/README.rst @@ -0,0 +1,141 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +==================== +Stock Request kanban +==================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:9d6da8812db1c2e6954d43783dd6d9665ae4e28b9c79f9f893ce77a84244cc1d + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_kanban + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_kanban + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +On most companies there are products that must be purchased often but cannot be +stored as a usual product because no consumption moves are made. +Usually, they are stored as consumables or putaway rules are defined. +In both cases, reordering rules cannot be used. +This module allows to use stock request as reordering rules for this kind of +products. + +It is created following the concept of lean kanban cards. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +If the barcode does not contain a CRC check digit on the kanban card, you should: + +* Access on Development mode +* Access 'Settings / Technical / Parameters / System Parameters' +* Create a parameter with name 'stock_request_kanban.crc' and set it to value to 0 + +If the barcode contains a CRC check digit and you want to ignore it: + +* Create a paramenter with name 'stock_request_kanban.ignore_crc' and set it to value to 1 + +If you want to change the format of the QR, you should: + +* Access on Development mode +* Access 'Settings / Technical / Parameters / System Parameters' +* Create a parameter with name 'stock_request_kanban.barcode_format' and set + the format of the barcode + +Usage +===== + +Creation +~~~~~~~~ + +* Go to 'Stock Requests / Stock Requests Kanban' and create a new Kanban. +* Indicate a product, quantity and location. +* Press 'Save'. +* Print the kanban and put it in the storage of the product + +Request kanban +~~~~~~~~~~~~~~ + +This should be used if you want to create the kanban when the card is consumed. + +* Once the product is consumed, take the card +* Go to 'Stock Requests / Order Kanban Card' +* Scan the card +* The stock request is created + +Request kanban batch +~~~~~~~~~~~~~~~~~~~~ + +This should be used when you will store the cards and create request orders +for kanbans later. + +* Once the product is consumed, take the card and store it +* Create a store request order +* Press the scan button +* Scan all the pending kanban cards + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Creu Blanca +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Enric Tobella +* Kitti Upariphutthiphong + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__init__.py new file mode 100644 index 0000000..22ba145 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import models +from . import wizard diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__manifest__.py new file mode 100644 index 0000000..36f3688 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/__manifest__.py @@ -0,0 +1,37 @@ +# Copyright 2018-22 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Request kanban", + "version": "16.0.1.0.0", + "category": "Warehouse Management", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "Creu Blanca, ForgeFlow, Odoo Community Association (OCA)", + "license": "LGPL-3", + "summary": "Adds a stock request order, and takes stock requests as lines", + "depends": ["stock_request", "barcodes"], + "data": [ + "data/stock_request_sequence_data.xml", + "report/report_paper_format.xml", + "wizard/wizard_stock_inventory_kanban_views.xml", + "wizard/wizard_stock_request_kanban_views.xml", + "wizard/wizard_stock_request_order_kanban_views.xml", + "views/stock_request_order_views.xml", + "views/stock_request_kanban_views.xml", + "views/stock_inventory_kanban_views.xml", + "views/stock_request_menu.xml", + "views/stock_request_views.xml", + "views/product_views.xml", + "report/stock_request_kanban_templates.xml", + "security/ir.model.access.csv", + ], + "assets": { + "web.assets_backend": [ + "stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js", + "stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js", + "stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml", + ], + }, + "installable": True, + "application": False, +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/data/stock_request_sequence_data.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/data/stock_request_sequence_data.xml new file mode 100644 index 0000000..49e8fa6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/data/stock_request_sequence_data.xml @@ -0,0 +1,17 @@ + + + + Stock Request Kanban + stock.request.kanban + KB + 5 + + + + Stock Inventory Kanban + stock.inventory.kanban + IKB + 5 + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/bs.po new file mode 100644 index 0000000..8a9b8bd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/bs.po @@ -0,0 +1,745 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_kanban +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count +msgid "# Kanban Cards" +msgstr "# Kanban kartice" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "Action Needed" +msgstr "Potrebna akcija" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active +msgid "Active" +msgstr "Aktivan" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids +msgid "Activities" +msgstr "Aktivnosti" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Dekoracija iznimke aktivnosti" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "Activity State" +msgstr "Status aktivnosti" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Activity Type Icon" +msgstr "Ikona tipa aktivnosti" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Add Kanban" +msgstr "Dodaj kanban" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0 +#, python-format +msgid "Added kanban %(kanban)s for product %(product)s" +msgstr "Dodan kanban %(kanban)s za proizvod %(product)s" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Dozvoli virtualne lokacije na zahtjevima zaliha" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Archived" +msgstr "Arhivirano" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count +msgid "Attachment Count" +msgstr "Broj priloga" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0 +#, python-format +msgid "" +"Barcode %s does not correspond to any Kanban. Try with another barcode or " +"press Close to finish scanning." +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is already scanned" +msgstr "Barkod %s je već skeniran" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is not in the inventory" +msgstr "Barkod %s nije u inventaru" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Barcode %s is on the order" +msgstr "Barkod %s je na narudžbi" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Barcode Scanned" +msgstr "Barkod skeniran" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0 +#, python-format +msgid "CRC is not valid" +msgstr "CRC nije valjan" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Cancel" +msgstr "Otkaži" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled +msgid "Cancelled" +msgstr "Otkazan" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "Category" +msgstr "Kategorija" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action +msgid "Click to add a Stock Inventory Kanban." +msgstr "Kliknite da dodate kanban skladišnog inventara." + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action +msgid "Click to add a Stock Request Kanban." +msgstr "Kliknite da dodate kanban zahtjeva zaliha." + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Close" +msgstr "Zatvori" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed +msgid "Closed" +msgstr "Zatvoreno" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id +msgid "Company" +msgstr "Preduzeće" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Company must be the same" +msgstr "Kompanija mora biti ista" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft +msgid "Draft" +msgstr "U pripremi" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Finish" +msgstr "Završi" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished +msgid "Finished" +msgstr "Završeno" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids +msgid "Followers" +msgstr "Pratioci" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids +msgid "Followers (Partners)" +msgstr "Pratioci (Partneri)" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Font awesome ikona npr. fa-tasks" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Group By" +msgstr "Grupiši po" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message +msgid "Has Message" +msgstr "Ima poruku" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id +msgid "ID" +msgstr "ID" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon" +msgstr "Ikona" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "Ikona za prikaz iznimki." + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "If checked, new messages require your attention." +msgstr "Ako je zakačeno, nove poruke će zahtjevati vašu pažnju" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "Ako je označeno neke poruke mogu imati grešku u dostavi." + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress +msgid "In progress" +msgstr "U tijeku" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban +msgid "Inventory" +msgstr "Skladište" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Inventory Kanban" +msgstr "Kanban inventara" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban +msgid "Inventory for Kanban" +msgstr "Inventar za kanban" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower +msgid "Is Follower" +msgstr "Pratilac" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Kanban" +msgstr "Kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button +msgid "Kanban Cards" +msgstr "Kanban kartice" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view +msgid "Kanban Image" +msgstr "Kanban slika" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu +msgid "Kanban cards" +msgstr "Kanban kartice" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Lines only can be added on orders with draft state" +msgstr "Linije se mogu dodati samo na narudžbe u stanju nacrta" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Location" +msgstr "Lokacija" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Location must be the same" +msgstr "Lokacija mora biti ista" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id +msgid "Main Attachment" +msgstr "Glavna zakačka" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "Message Delivery error" +msgstr "Greška pri isporuci poruke" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids +msgid "Messages" +msgstr "Poruke" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Missing" +msgstr "Nedostaje" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids +msgid "Missing Kanban" +msgstr "Kanban koji nedostaje" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans +msgid "Missing Kanbans" +msgstr "Kanbani koji nedostaju" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Rok za moju aktivnost" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name +msgid "Name" +msgstr "Naziv:" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Krajnji rok za sljedeću aktivnost" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary +msgid "Next Activity Summary" +msgstr "Pregled sljedeće aktivnosti" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id +msgid "Next Activity Type" +msgstr "Tip sljedeće aktivnosti" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of Actions" +msgstr "Broj akcija" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of errors" +msgstr "Broj grešaka" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "Broj poruka koje zahtijevaju aktivnost" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Broj poruka sa greškama pri isporuci" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id +msgid "Order" +msgstr "Nalog" + +#. module: stock_request_kanban +#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban +msgid "Print kanban" +msgstr "Štampaj kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Print missing" +msgstr "Štampaj nedostajuće" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "Procurement Group" +msgstr "Grupa naručivanja" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Procurement group must be the same" +msgstr "Grupa nabavke mora biti ista" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_template +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id +msgid "Product" +msgstr "Artikal" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id +msgid "Product Template" +msgstr "Predložak artikla" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id +msgid "Product Unit of Measure" +msgstr "JMJ artikla" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_product +msgid "Product Variant" +msgstr "Varijanta proizvoda" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids +msgid "Products" +msgstr "Artikli" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity" +msgstr "Količina" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Količina u zadanoj jedinici mjere proizvoda" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Količina, specificirana u mjernoj jedinici naznačenoj u zahtjevu." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Real Quantity" +msgstr "Stvarna količina" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban +msgid "Request from Kanban cards" +msgstr "Zahtjev iz kanban kartica" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id +msgid "Responsible User" +msgstr "Odgovorni korisnik" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id +msgid "Route" +msgstr "Smjer" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids +msgid "Routes" +msgstr "Rute" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scan" +msgstr "Skenirati" + +#. module: stock_request_kanban +#. odoo-javascript +#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0 +#, python-format +msgid "Scan Kanban" +msgstr "Skeniraj kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scanned" +msgstr "Skenirano" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids +msgid "Scanned Kanban" +msgstr "Skenirani kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Set to draft" +msgstr "Postavi na nacrt" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Start" +msgstr "Započni" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state +msgid "State" +msgstr "Status" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status +msgid "Status" +msgstr "Status" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state +msgid "Status State" +msgstr "Stanje statusa" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Stock Inventories" +msgstr "Inventari zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban +msgid "Stock Inventory Kanban Wizard" +msgstr "Čarobnjak kanban inventara zaliha" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action +msgid "Stock Inventory Kanbans" +msgstr "Kanbani inventara zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Request Kanban" +msgstr "Kanban zahtjeva zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract +msgid "Stock Request Kanban Abstract Wizard" +msgstr "Apstraktni čarobnjak kanban zahtjeva zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban +msgid "Stock Request Kanban Wizard" +msgstr "Čarobnjak kanban zahtjeva zaliha" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action +msgid "Stock Request Kanbans" +msgstr "Kanbani zahtjeva zaliha" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban +msgid "Stock Request Order Kanban Wizard" +msgstr "Čarobnjak kanban narudžbe zahtjeva zaliha" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Requests" +msgstr "Zahtjevi zaliha" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Stock Requests Kanban" +msgstr "Kanban zahtjeva zaliha" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Vrsta aktivnosti iznimke na zapisu." + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Vrijednost zadnje skeniranog barkoda." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Warehouse" +msgstr "Skladište" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Warehouse must be the same" +msgstr "Skladište mora biti isto" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website Messages" +msgstr "Poruke sa website-a" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website communication history" +msgstr "Povijest komunikacije Web stranice" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/es.po new file mode 100644 index 0000000..64fa35d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/es.po @@ -0,0 +1,789 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_kanban +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-10-09 07:58+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count +msgid "# Kanban Cards" +msgstr "# Tarjetas Kanban" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "Action Needed" +msgstr "acción necesaria" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active +msgid "Active" +msgstr "Activo" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids +msgid "Activities" +msgstr "Actividades" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "Decoración de actividad de excepción" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "Activity State" +msgstr "Estado de la actividad" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Activity Type Icon" +msgstr "Icono de tipo de actvidad" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Add Kanban" +msgstr "Añadir Kanban" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0 +#, python-format +msgid "Added kanban %(kanban)s for product %(product)s" +msgstr "Añadido kanban %(kanban)s para producto %(product)s" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "Permitir ubicaciones virtuales en las solicitudes de existencias" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Archived" +msgstr "Archivado" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count +msgid "Attachment Count" +msgstr "Recuento de archivos adjuntos" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0 +#, python-format +msgid "" +"Barcode %s does not correspond to any Kanban. Try with another barcode or " +"press Close to finish scanning." +msgstr "" +"El código de barras %s no corresponde a ningún Kanban. Prueba otro código de " +"barras o haz click en Cerrar para acabar de escanear." + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is already scanned" +msgstr "El código de barras %s ya ha sido escaneado" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is not in the inventory" +msgstr "El código de barras %s no está en el inventario" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Barcode %s is on the order" +msgstr "El código %s ya está en la petición" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Barcode Scanned" +msgstr "Código de barras escaneado" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0 +#, python-format +msgid "CRC is not valid" +msgstr "El CRC no es válido" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Cancel" +msgstr "Cancelar" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled +msgid "Cancelled" +msgstr "Cancelado/a" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "Category" +msgstr "Categoría" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action +msgid "Click to add a Stock Inventory Kanban." +msgstr "Haga clic para añadir un Kanban de Inventario de Existencias." + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action +msgid "Click to add a Stock Request Kanban." +msgstr "Haz click para añadir un Kanban." + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Close" +msgstr "Cerrar" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed +msgid "Closed" +msgstr "Cerrado" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id +msgid "Company" +msgstr "Companía" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Company must be the same" +msgstr "La Compañía debe ser la misma" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" +"La conversión entre Unidades de Medida sólo puede producirse si pertenecen a " +"la misma categoría. La conversión se realizará en función de las " +"proporciones." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid +msgid "Created by" +msgstr "Creado por" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date +msgid "Created on" +msgstr "Creado el" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name +msgid "Display Name" +msgstr "Nombre mostrado" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft +msgid "Draft" +msgstr "Borrador" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Finish" +msgstr "Finalizar" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished +msgid "Finished" +msgstr "Finalizado" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids +msgid "Followers" +msgstr "Seguidores/as" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids +msgid "Followers (Partners)" +msgstr "Seguidores (socios)" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "Icono de fuente impresionante, por ejemplo fa-tasks" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Group By" +msgstr "Agrupar por" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message +msgid "Has Message" +msgstr "Tiene mensaje" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id +msgid "ID" +msgstr "ID" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon" +msgstr "Icono" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "icono para indicar una actividad por excepción." + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "If checked, new messages require your attention." +msgstr "Si está marcada, nuevos mensajes requieren su atención." + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "si está marcada, algunos mensajes tienen un error de entrega." + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress +msgid "In progress" +msgstr "En progreso" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban +msgid "Inventory" +msgstr "Inventario" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Inventory Kanban" +msgstr "Inventario Kanban" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban +msgid "Inventory for Kanban" +msgstr "Invertario para Kanban" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower +msgid "Is Follower" +msgstr "Es seguidor/a" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Kanban" +msgstr "Kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button +msgid "Kanban Cards" +msgstr "Tarjetas Kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view +msgid "Kanban Image" +msgstr "Imagen Kanban" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu +msgid "Kanban cards" +msgstr "Tarjetas Kanban" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update +msgid "Last Modified on" +msgstr "Última modificación el" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid +msgid "Last Updated by" +msgstr "Actualizado por última vez por" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date +msgid "Last Updated on" +msgstr "Actualizado por última vez el" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Lines only can be added on orders with draft state" +msgstr "Sólo se pueden añadir líneas en ordenes en estado borrador" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Location" +msgstr "Localización" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Location must be the same" +msgstr "La localización debe coincidir" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id +msgid "Main Attachment" +msgstr "Archivo adjunto principal" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "Message Delivery error" +msgstr "Error en entrega del mensaje" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids +msgid "Messages" +msgstr "Mensajes" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Missing" +msgstr "Faltante" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids +msgid "Missing Kanban" +msgstr "Kanban faltante" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans +msgid "Missing Kanbans" +msgstr "Kanbans faltantes" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"Los movimientos creados a través de esta solicitud de existencias se pondrán " +"en este grupo de aprovisionamiento. Si no se indica ninguno, los movimientos " +"generados por reglas de aprovisionamiento se agruparán en una gran recogida." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "Fecha límite de mi actividad" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name +msgid "Name" +msgstr "Nombre" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "Fecha límite para la siguiente actividad" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary +msgid "Next Activity Summary" +msgstr "Resumen de la Siguiente Actividad" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id +msgid "Next Activity Type" +msgstr "Tipo de la Siguiente Actividad" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of Actions" +msgstr "Número de acciones" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of errors" +msgstr "Número de errores" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "Número de mensajes que requieren una acción" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "Número de mensajes con error de entrega" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Number of unread messages" +msgstr "Número de mensajes no leídos" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id +msgid "Order" +msgstr "Pedido" + +#. module: stock_request_kanban +#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban +msgid "Print kanban" +msgstr "Imprimir kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Print missing" +msgstr "Falta la impresión" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "Procurement Group" +msgstr "Grupo de Adquisiciones" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Procurement group must be the same" +msgstr "El grupo de reestablecimiento debe coincidir" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_product +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id +msgid "Product" +msgstr "Producto" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_template +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id +msgid "Product Template" +msgstr "Plantilla de Producto" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id +msgid "Product Unit of Measure" +msgstr "Unidad de Medida del Producto" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids +msgid "Products" +msgstr "Productos" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity" +msgstr "Cantidad" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "Cantidad en unidad de medida por defecto del producto" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "Cantidad, especificada en la unidad de medida de la solicitud." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Real Quantity" +msgstr "Cantidad real" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban +msgid "Request from Kanban cards" +msgstr "Solicitar desde tarjetas Kanban" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id +msgid "Responsible User" +msgstr "Usuario Responsable" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id +msgid "Route" +msgstr "Ruta" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids +msgid "Routes" +msgstr "Rutas" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scan" +msgstr "Escanear" + +#. module: stock_request_kanban +#. openerp-web +#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0 +#, python-format +msgid "Scan Kanban" +msgstr "Escanear Kanban" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scanned" +msgstr "Escaneado" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids +msgid "Scanned Kanban" +msgstr "Kanban escaneado" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Set to draft" +msgstr "Establecer a borrador" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Start" +msgstr "Iniciar" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state +msgid "State" +msgstr "Estado" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status +msgid "Status" +msgstr "Status" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state +msgid "Status State" +msgstr "Estado del Status" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"Estado en base a las actividades\n" +"Atrasada: La fecha de vencimiento ya ha pasado\n" +"Hoy: La fecha de la actividad es hoy\n" +"Planificada: Actividades futuras." + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Stock Inventories" +msgstr "Inventario de existencias" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban +msgid "Stock Inventory Kanban Wizard" +msgstr "Asistente Kanban de Inventario de Existencias" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action +msgid "Stock Inventory Kanbans" +msgstr "Inventario de existencias Kanbans" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id +msgid "Stock Request" +msgstr "Solicitud de existencias" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Request Kanban" +msgstr "Kanban de Solicitud de Existencias" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract +msgid "Stock Request Kanban Abstract Wizard" +msgstr "Solicitud de Existencias del Asistente Kanban Abstracto" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban +msgid "Stock Request Kanban Wizard" +msgstr "Asistente Kanban de Solicitud de Existencias" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action +msgid "Stock Request Kanbans" +msgstr "Kanbans de Solicitud de Existencias" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban +msgid "Stock Request Order Kanban Wizard" +msgstr "Asistente Kanban para Pedidos de Existencias" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Requests" +msgstr "Solicitudes de existencias" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Stock Requests Kanban" +msgstr "Kanban de Solicitudes de Existencias" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "Tipo (o clase) de actividad excepcional registrada." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "Unread Messages" +msgstr "Mensajes no leídos" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Unread Messages Counter" +msgstr "Contador de mensajes no leídos" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "Valor del último código de barras escaneado." + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Warehouse" +msgstr "Almacén" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Warehouse must be the same" +msgstr "El almacén debe coincidir" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website Messages" +msgstr "Mensajes de la página web" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website communication history" +msgstr "Historial de la comunicación en la página web" + +#~ msgid "SMS Delivery error" +#~ msgstr "Error en la entrega de SMS" + +#, python-format +#~ msgid "Added kanban %s for product %s" +#~ msgstr "Se ha añadido el kanban %s para el product %s" + +#, fuzzy +#~ msgid "Planned" +#~ msgstr "Escanear" + +#, fuzzy +#~ msgid "wizard.stock.inventory.kanban" +#~ msgstr "wizard.stock.request.kanban" + +#~ msgid "wizard.stock.request.kanban" +#~ msgstr "wizard.stock.request.kanban" + +#~ msgid "wizard.stock.request.kanban.abstract" +#~ msgstr "wizard.stock.request.kanban.abstract" + +#~ msgid "wizard.stock.request.order.kanban" +#~ msgstr "wizard.stock.request.order.kanban" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/it.po new file mode 100644 index 0000000..264d836 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/it.po @@ -0,0 +1,751 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_kanban +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: Automatically generated\n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count +msgid "# Kanban Cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active +msgid "Active" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Add Kanban" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0 +#, python-format +msgid "Added kanban %(kanban)s for product %(product)s" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Archived" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0 +#, python-format +msgid "" +"Barcode %s does not correspond to any Kanban. Try with another barcode or " +"press Close to finish scanning." +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is already scanned" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is not in the inventory" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Barcode %s is on the order" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Barcode Scanned" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0 +#, python-format +msgid "CRC is not valid" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Cancel" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled +msgid "Cancelled" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action +msgid "Click to add a Stock Inventory Kanban." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action +msgid "Click to add a Stock Request Kanban." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Close" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed +msgid "Closed" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id +msgid "Company" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Company must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft +msgid "Draft" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Finish" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished +msgid "Finished" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Group By" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id +msgid "ID" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress +msgid "In progress" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban +msgid "Inventory" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Inventory Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban +msgid "Inventory for Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button +msgid "Kanban Cards" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view +msgid "Kanban Image" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu +msgid "Kanban cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Lines only can be added on orders with draft state" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Location" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Location must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Missing" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids +msgid "Missing Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans +msgid "Missing Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name +msgid "Name" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Number of unread messages" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id +msgid "Order" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban +msgid "Print kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Print missing" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Procurement group must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_product +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id +msgid "Product" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_template +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id +msgid "Product Template" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids +msgid "Products" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban +msgid "Request from Kanban cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id +msgid "Route" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scan" +msgstr "" + +#. module: stock_request_kanban +#. openerp-web +#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0 +#, python-format +msgid "Scan Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scanned" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids +msgid "Scanned Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Set to draft" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Start" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state +msgid "State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status +msgid "Status" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state +msgid "Status State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Stock Inventories" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban +msgid "Stock Inventory Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action +msgid "Stock Inventory Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id +msgid "Stock Request" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Request Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract +msgid "Stock Request Kanban Abstract Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban +msgid "Stock Request Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action +msgid "Stock Request Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban +msgid "Stock Request Order Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Stock Requests Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "Unread Messages" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Unread Messages Counter" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Warehouse must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website communication history" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/stock_request_kanban.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/stock_request_kanban.pot new file mode 100644 index 0000000..dae1ee6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/stock_request_kanban.pot @@ -0,0 +1,745 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_kanban +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count +msgid "# Kanban Cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "Action Needed" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active +msgid "Active" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids +msgid "Activities" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "Activity State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Add Kanban" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0 +#, python-format +msgid "Added kanban %(kanban)s for product %(product)s" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Archived" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count +msgid "Attachment Count" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0 +#, python-format +msgid "" +"Barcode %s does not correspond to any Kanban. Try with another barcode or " +"press Close to finish scanning." +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is already scanned" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is not in the inventory" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Barcode %s is on the order" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Barcode Scanned" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0 +#, python-format +msgid "CRC is not valid" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Cancel" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled +msgid "Cancelled" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action +msgid "Click to add a Stock Inventory Kanban." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action +msgid "Click to add a Stock Request Kanban." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Close" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed +msgid "Closed" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id +msgid "Company" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Company must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date +msgid "Created on" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft +msgid "Draft" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Finish" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished +msgid "Finished" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids +msgid "Followers" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids +msgid "Followers (Partners)" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Group By" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id +msgid "ID" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "If checked, new messages require your attention." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress +msgid "In progress" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban +msgid "Inventory" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Inventory Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban +msgid "Inventory for Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower +msgid "Is Follower" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button +msgid "Kanban Cards" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view +msgid "Kanban Image" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu +msgid "Kanban cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Lines only can be added on orders with draft state" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Location" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Location must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id +msgid "Main Attachment" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "Message Delivery error" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids +msgid "Messages" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Missing" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids +msgid "Missing Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans +msgid "Missing Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name +msgid "Name" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary +msgid "Next Activity Summary" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id +msgid "Next Activity Type" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of Actions" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of errors" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of messages requiring action" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id +msgid "Order" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban +msgid "Print kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Print missing" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "Procurement Group" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Procurement group must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_template +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id +msgid "Product" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id +msgid "Product Template" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id +msgid "Product Unit of Measure" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_product +msgid "Product Variant" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids +msgid "Products" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Real Quantity" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban +msgid "Request from Kanban cards" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id +msgid "Responsible User" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id +msgid "Route" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids +msgid "Routes" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scan" +msgstr "" + +#. module: stock_request_kanban +#. odoo-javascript +#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0 +#, python-format +msgid "Scan Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scanned" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids +msgid "Scanned Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Set to draft" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Start" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state +msgid "State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status +msgid "Status" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state +msgid "Status State" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Stock Inventories" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban +msgid "Stock Inventory Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action +msgid "Stock Inventory Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id +msgid "Stock Request" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Request Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract +msgid "Stock Request Kanban Abstract Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban +msgid "Stock Request Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action +msgid "Stock Request Kanbans" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban +msgid "Stock Request Order Kanban Wizard" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Requests" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Stock Requests Kanban" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Warehouse" +msgstr "" + +#. module: stock_request_kanban +#. odoo-python +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Warehouse must be the same" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website Messages" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website communication history" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/zh_CN.po new file mode 100644 index 0000000..52070b2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/i18n/zh_CN.po @@ -0,0 +1,802 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_kanban +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_product__kanban_card_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_product_template__kanban_card_count +#, fuzzy +msgid "# Kanban Cards" +msgstr "看板卡" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction +msgid "Action Needed" +msgstr "需要采取行动" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__active +msgid "Active" +msgstr "有效" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_ids +msgid "Activities" +msgstr "活动" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Activity Exception Decoration" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "Activity State" +msgstr "活动状态" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Activity Type Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_inventory_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_kanban_action +#: model:ir.actions.act_window,name:stock_request_kanban.wizard_stock_request_order_kanban_action +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Add Kanban" +msgstr "添加看板" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban.py:0 +#, python-format +msgid "Added kanban %(kanban)s for product %(product)s" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allow_virtual_location +msgid "Allow Virtual locations on Stock Requests" +msgstr "允许库存请求中的虚拟位置" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Archived" +msgstr "已归档" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_attachment_count +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_attachment_count +msgid "Attachment Count" +msgstr "附件数量" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_kanban_abstract.py:0 +#, python-format +msgid "" +"Barcode %s does not correspond to any Kanban. Try with another barcode or " +"press Close to finish scanning." +msgstr "条形码%s与任何看板都不对应。尝试使用其他条形码或按“关闭”完成扫描。" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is already scanned" +msgstr "条码%s已被扫描" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_inventory_kanban.py:0 +#, python-format +msgid "Barcode %s is not in the inventory" +msgstr "条码%s不在库存中" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Barcode %s is on the order" +msgstr "条码%s在订单上" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Barcode Scanned" +msgstr "条码扫描" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/models/stock_request_kanban.py:0 +#, python-format +msgid "CRC is not valid" +msgstr "CRC无效" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Cancel" +msgstr "取消" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__cancelled +msgid "Cancelled" +msgstr "已取消" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "Category" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_inventory_kanban_action +msgid "Click to add a Stock Inventory Kanban." +msgstr "点击添加库存看板。" + +#. module: stock_request_kanban +#: model_terms:ir.actions.act_window,help:stock_request_kanban.stock_request_kanban_action +msgid "Click to add a Stock Request Kanban." +msgstr "点击添加库存请求看板。" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_inventory_kanban_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.wizard_stock_request_kanban_form +msgid "Close" +msgstr "关闭" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__closed +msgid "Closed" +msgstr "已关闭" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__company_id +msgid "Company" +msgstr "公司" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Company must be the same" +msgstr "公司必须相同" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__allowed_uom_categ_id +msgid "" +"Conversion between Units of Measure can only occur if they belong to the " +"same category. The conversion will be made based on the ratios." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__create_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__display_name +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__draft +msgid "Draft" +msgstr "草稿" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Finish" +msgstr "完成" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__finished +msgid "Finished" +msgstr "已完成" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_follower_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_follower_ids +msgid "Followers" +msgstr "关注者" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_partner_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_partner_ids +msgid "Followers (Partners)" +msgstr "关注者(业务伙伴)" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_type_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_type_icon +msgid "Font awesome icon e.g. fa-tasks" +msgstr "" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Group By" +msgstr "分组" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__has_message +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__has_message +msgid "Has Message" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__id +msgid "ID" +msgstr "ID" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_icon +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_icon +msgid "Icon to indicate an exception activity." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "If checked, new messages require your attention." +msgstr "如果勾选此项,将会收到新消息提醒。" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "If checked, some messages have a delivery error." +msgstr "如果勾选此项, 某些信息将会产生传递错误。" + +#. module: stock_request_kanban +#: model:ir.model.fields.selection,name:stock_request_kanban.selection__stock_inventory_kanban__state__in_progress +msgid "In progress" +msgstr "进行中" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_inventory_kanban +msgid "Inventory" +msgstr "库存" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__inventory_kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Inventory Kanban" +msgstr "库存看板" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_inventory_kanban +msgid "Inventory for Kanban" +msgstr "库存看板" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_is_follower +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_is_follower +msgid "Is Follower" +msgstr "是关注者" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__kanban_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__kanban_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__kanban_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Kanban" +msgstr "看板" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_product_form_view_kanban_card_button +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.product_template_form_view_bom_button +#, fuzzy +msgid "Kanban Cards" +msgstr "看板卡" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_kanban_view +msgid "Kanban Image" +msgstr "看板图片" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.stock_request_kanban_menu +msgid "Kanban cards" +msgstr "看板卡" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban____last_update +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban____last_update +msgid "Last Modified on" +msgstr "最后修改时间" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_uid +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__write_date +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__write_date +msgid "Last Updated on" +msgstr "最后更新时间" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Lines only can be added on orders with draft state" +msgstr "只有处于草稿状态的订单才能添加行" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__location_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__location_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Location" +msgstr "位置" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Location must be the same" +msgstr "位置必须相同" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_main_attachment_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_main_attachment_id +msgid "Main Attachment" +msgstr "附件" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error +msgid "Message Delivery error" +msgstr "消息递送错误" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_ids +msgid "Messages" +msgstr "消息" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Missing" +msgstr "缺失" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__missing_kanban_ids +msgid "Missing Kanban" +msgstr "看板缺失" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__count_missing_kanbans +msgid "Missing Kanbans" +msgstr "看板缺失" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "" +"Moves created through this stock request will be put in this procurement " +"group. If none is given, the moves generated by procurement rules will be " +"grouped into one big picking." +msgstr "" +"通过此库存请求创建的移动将放入此采购组。如果没有给出,则由采购规则生成的移动" +"将被分组为一个大拣货。" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__my_activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__my_activity_date_deadline +msgid "My Activity Deadline" +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__name +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__name +msgid "Name" +msgstr "名称" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_date_deadline +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_date_deadline +msgid "Next Activity Deadline" +msgstr "下一个活动截止日期" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_summary +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_summary +msgid "Next Activity Summary" +msgstr "下一个活动摘要" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_type_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_type_id +msgid "Next Activity Type" +msgstr "下一个活动类型" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of Actions" +msgstr "操作次数" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +#, fuzzy +msgid "Number of errors" +msgstr "错误数" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_needaction_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_needaction_counter +msgid "Number of messages which requires an action" +msgstr "需要操作消息数量" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_has_error_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_has_error_counter +msgid "Number of messages with delivery error" +msgstr "传递错误的消息数量" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Number of unread messages" +msgstr "未读消息的数量" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__order_id +msgid "Order" +msgstr "订单" + +#. module: stock_request_kanban +#: model:ir.actions.report,name:stock_request_kanban.action_report_kanban +msgid "Print kanban" +msgstr "打印看板" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Print missing" +msgstr "打印缺失" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__procurement_group_id +msgid "Procurement Group" +msgstr "补货组" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Procurement group must be the same" +msgstr "补货组必须相同" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_product +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_id +msgid "Product" +msgstr "产品" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_product_template +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_template_id +#, fuzzy +msgid "Product Template" +msgstr "产品" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_id +msgid "Product Unit of Measure" +msgstr "产品计量单位" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__product_ids +msgid "Products" +msgstr "产品" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity" +msgstr "数量" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Quantity in the default UoM of the product" +msgstr "产品的默认计量单位数量" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__product_uom_qty +msgid "Quantity, specified in the unit of measure indicated in the request." +msgstr "数量,以请求中指示的计量单位指定。" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__product_qty +msgid "Real Quantity" +msgstr "实际数量" + +#. module: stock_request_kanban +#: model:ir.ui.menu,name:stock_request_kanban.menu_wizard_stock_request_kanban +msgid "Request from Kanban cards" +msgstr "来自看板卡的请求" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__activity_user_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__activity_user_id +msgid "Responsible User" +msgstr "责任用户" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_id +msgid "Route" +msgstr "路线" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__route_ids +msgid "Routes" +msgstr "路线" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scan" +msgstr "扫描" + +#. module: stock_request_kanban +#. openerp-web +#: code:addons/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml:0 +#, fuzzy, python-format +msgid "Scan Kanban" +msgstr "已扫描看板" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Scanned" +msgstr "已扫描" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__scanned_kanban_ids +msgid "Scanned Kanban" +msgstr "已扫描看板" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Set to draft" +msgstr "设置为草稿" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Start" +msgstr "开始" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__state +msgid "State" +msgstr "状态" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status +msgid "Status" +msgstr "状态" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_inventory_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban_abstract__status_state +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__status_state +msgid "Status State" +msgstr "状态" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_state +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_state +msgid "" +"Status based on activities\n" +"Overdue: Due date is already passed\n" +"Today: Activity date is today\n" +"Planned: Future activities." +msgstr "" +"基于活动的状态\n" +"逾期:已经超过截止日期\n" +"现今:活动日期是当天\n" +"计划:未来的活动。" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_inventory_kanban_form +msgid "Stock Inventories" +msgstr "库存存货" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_inventory_kanban +#, fuzzy +msgid "Stock Inventory Kanban Wizard" +msgstr "库存存货看板" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_inventory_kanban_action +msgid "Stock Inventory Kanbans" +msgstr "库存存货看板" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_kanban__stock_request_id +#: model:ir.model.fields,field_description:stock_request_kanban.field_wizard_stock_request_order_kanban__stock_request_id +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Request Kanban" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban_abstract +#, fuzzy +msgid "Stock Request Kanban Abstract Wizard" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_kanban +#, fuzzy +msgid "Stock Request Kanban Wizard" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model:ir.actions.act_window,name:stock_request_kanban.stock_request_kanban_action +msgid "Stock Request Kanbans" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model:ir.model,name:stock_request_kanban.model_wizard_stock_request_order_kanban +#, fuzzy +msgid "Stock Request Order Kanban Wizard" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.view_stock_request_kanban_form +msgid "Stock Requests" +msgstr "库存请求" + +#. module: stock_request_kanban +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Stock Requests Kanban" +msgstr "库存请求看板" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__activity_exception_decoration +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__activity_exception_decoration +msgid "Type of the exception activity on record." +msgstr "" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread +msgid "Unread Messages" +msgstr "未读消息" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__message_unread_counter +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__message_unread_counter +msgid "Unread Messages Counter" +msgstr "未读消息计数器" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_inventory_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_kanban_abstract___barcode_scanned +#: model:ir.model.fields,help:stock_request_kanban.field_wizard_stock_request_order_kanban___barcode_scanned +msgid "Value of the last barcode scanned." +msgstr "最后扫描条形码的值。" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__warehouse_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__warehouse_id +#: model_terms:ir.ui.view,arch_db:stock_request_kanban.stock_request_kanban_search +msgid "Warehouse" +msgstr "仓库" + +#. module: stock_request_kanban +#: code:addons/stock_request_kanban/wizard/wizard_stock_request_order_kanban.py:0 +#, python-format +msgid "Warehouse must be the same" +msgstr "仓库必须相同" + +#. module: stock_request_kanban +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,field_description:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website Messages" +msgstr "网站消息" + +#. module: stock_request_kanban +#: model:ir.model.fields,help:stock_request_kanban.field_stock_inventory_kanban__website_message_ids +#: model:ir.model.fields,help:stock_request_kanban.field_stock_request_kanban__website_message_ids +msgid "Website communication history" +msgstr "网站沟通记录" + +#, fuzzy +#~ msgid "SMS Delivery error" +#~ msgstr "消息递送错误" + +#, python-format +#~ msgid "Added kanban %s for product %s" +#~ msgstr "为产品%s添加了看板%s" + +#~ msgid "Followers (Channels)" +#~ msgstr "关注者(频道)" + +#~ msgid "If checked new messages require your attention." +#~ msgstr ".如果勾选此项,将会收到新消息提醒。" + +#~ msgid "Overdue" +#~ msgstr "逾期" + +#~ msgid "Planned" +#~ msgstr "计划" + +#~ msgid "Today" +#~ msgstr "今天" + +#~ msgid "wizard.stock.inventory.kanban" +#~ msgstr "wizard.stock.inventory.kanban" + +#~ msgid "wizard.stock.request.kanban" +#~ msgstr "wizard.stock.request.kanban" + +#~ msgid "wizard.stock.request.kanban.abstract" +#~ msgstr "wizard.stock.request.kanban.abstract" + +#~ msgid "wizard.stock.request.order.kanban" +#~ msgstr "wizard.stock.request.order.kanban" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/__init__.py new file mode 100644 index 0000000..8662493 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/__init__.py @@ -0,0 +1,7 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import stock_request +from . import stock_request_kanban +from . import stock_inventory_kanban +from . import product diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/product.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/product.py new file mode 100644 index 0000000..50c375a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/product.py @@ -0,0 +1,53 @@ +from odoo import fields, models + + +class ProductTemplate(models.Model): + _inherit = "product.template" + + kanban_card_count = fields.Integer( + "# Kanban Cards", compute="_compute_kanban_card_count", compute_sudo=False + ) + + def _compute_kanban_card_count(self): + for product in self: + count = 0 + for variant in product.product_variant_ids: + count += self.env["stock.request.kanban"].search_count( + [("product_id", "=", variant.id)] + ) + product.kanban_card_count = count + + def action_view_kanban_cards(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request_kanban.stock_request_kanban_action" + ) + action["context"] = {"default_product_id": self.product_variant_id.id} + action["domain"] = [ + ("active", "=", True), + ("product_template_id", "=", self.id), + ] + return action + + +class ProductProduct(models.Model): + _inherit = "product.product" + + kanban_card_count = fields.Integer( + "# Kanban Cards", compute="_compute_kanban_card_count", compute_sudo=False + ) + + def _compute_kanban_card_count(self): + for product in self: + product.kanban_card_count += self.env["stock.request.kanban"].search_count( + [("product_id", "=", product.id)] + ) + + def action_view_kanban_cards(self): + self.ensure_one() + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request_kanban.stock_request_kanban_action" + ) + action["context"] = {"default_product_id": self.id} + action["domain"] = [("active", "=", True), ("product_id", "=", self.id)] + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_inventory_kanban.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_inventory_kanban.py new file mode 100644 index 0000000..a07aeae --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_inventory_kanban.py @@ -0,0 +1,156 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models +from odoo.osv import expression + + +class StockInventoryKanban(models.Model): + _name = "stock.inventory.kanban" + _description = "Inventory for Kanban" + _inherit = ["mail.thread", "mail.activity.mixin"] + + name = fields.Char( + readonly=True, states={"draft": [("readonly", False)]}, copy=False + ) + state = fields.Selection( + [ + ("draft", "Draft"), + ("in_progress", "In progress"), + ("finished", "Finished"), + ("closed", "Closed"), + ("cancelled", "Cancelled"), + ], + required=True, + default="draft", + readonly=True, + copy=False, + tracking=True, + ) + warehouse_ids = fields.Many2many( + "stock.warehouse", + string="Warehouse", + ondelete="cascade", + readonly=True, + states={"draft": [("readonly", False)]}, + ) + location_ids = fields.Many2many( + "stock.location", + string="Location", + domain=[("usage", "in", ["internal", "transit"])], + ondelete="cascade", + readonly=True, + states={"draft": [("readonly", False)]}, + ) + product_ids = fields.Many2many( + "product.product", + string="Products", + domain=[("type", "in", ["product", "consu"])], + ondelete="cascade", + readonly=True, + states={"draft": [("readonly", False)]}, + ) + kanban_ids = fields.Many2many( + "stock.request.kanban", + relation="stock_inventory_kanban_kanban", + readonly=True, + copy=False, + ) + scanned_kanban_ids = fields.Many2many( + "stock.request.kanban", + relation="stock_inventory_kanban_scanned_kanban", + readonly=True, + copy=False, + ) + missing_kanban_ids = fields.Many2many( + "stock.request.kanban", readonly=True, compute="_compute_missing_kanban" + ) + + count_missing_kanbans = fields.Integer( + "Missing Kanbans", readonly=True, compute="_compute_missing_kanban" + ) + + @api.depends("kanban_ids", "scanned_kanban_ids") + def _compute_missing_kanban(self): + for rec in self: + rec.missing_kanban_ids = rec.kanban_ids.filtered( + lambda r: r.id not in rec.scanned_kanban_ids.ids + ) + rec.count_missing_kanbans = len(rec.missing_kanban_ids) + + def _get_inventory_kanban_domain(self): + domain = [] + if self.warehouse_ids: + domain = expression.AND( + (domain, [("warehouse_id", "in", self.warehouse_ids.ids)]) + ) + if self.product_ids: + domain = expression.AND( + (domain, [("product_id", "in", self.product_ids.ids)]) + ) + if self.location_ids: + domain = expression.AND( + (domain, [("location_id", "in", self.location_ids.ids)]) + ) + return domain + + def _start_inventory_values(self): + return {"state": "in_progress"} + + def _finish_inventory_values(self): + return {"state": "finished"} + + def _close_inventory_values(self): + return {"state": "closed"} + + @api.model_create_multi + def create(self, vals_list): + vals_list_upd = [] + for vals in vals_list: + upd_vals = vals.copy() + if upd_vals.get("name", "/") == "/": + upd_vals["name"] = self.env["ir.sequence"].next_by_code( + "stock.inventory.kanban" + ) + vals_list_upd.append(upd_vals) + return super().create(vals_list_upd) + + def calculate_kanbans(self): + for rec in self: + if rec.state == "draft": + rec.kanban_ids = self.env["stock.request.kanban"].search( + rec._get_inventory_kanban_domain() + ) + + def start_inventory(self): + self.calculate_kanbans() + self.write(self._start_inventory_values()) + + def finish_inventory(self): + self.write(self._finish_inventory_values()) + + def close_inventory(self): + self.write(self._close_inventory_values()) + + def print_missing_kanbans(self): + """Print the missing kanban cards in order to restore them""" + self.ensure_one() + return self.env.ref("stock_request_kanban.action_report_kanban").report_action( + self.missing_kanban_ids + ) + + def _cancel_inventory_values(self): + return {"state": "cancelled"} + + def cancel(self): + self.write(self._cancel_inventory_values()) + + def _to_draft_inventory_values(self): + return { + "state": "draft", + "kanban_ids": [(5, 0)], + "scanned_kanban_ids": [(5, 0)], + } + + def to_draft(self): + self.write(self._to_draft_inventory_values()) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request.py new file mode 100644 index 0000000..3a4462e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request.py @@ -0,0 +1,10 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class StockRequest(models.Model): + _inherit = "stock.request" + + kanban_id = fields.Many2one("stock.request.kanban", readonly=True) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request_kanban.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request_kanban.py new file mode 100644 index 0000000..7372917 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/models/stock_request_kanban.py @@ -0,0 +1,65 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from reportlab.graphics.barcode import getCodes + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockRequestKanban(models.Model): + _name = "stock.request.kanban" + _description = "Stock Request Kanban" + _inherit = "stock.request.abstract" + + active = fields.Boolean(default=True) + product_template_id = fields.Many2one(related="product_id.product_tmpl_id") + + @api.model_create_multi + def create(self, vals_list): + vals_list_upd = [] + for vals in vals_list: + upd_vals = vals.copy() + if upd_vals.get("name", "/") == "/": + upd_vals["name"] = self.env["ir.sequence"].next_by_code( + "stock.request.kanban" + ) + vals_list_upd.append(upd_vals) + return super().create(vals_list_upd) + + @api.model + def get_barcode_format(self): + return ( + self.env["ir.config_parameter"] + .sudo() + .get_param("stock_request_kanban.barcode_format", default="Standard39") + ) + + @api.model + def _recompute_barcode(self, barcode): + if ( + self.env["ir.config_parameter"] + .sudo() + .get_param("stock_request_kanban.crc", default="1") + == "0" + ): + return barcode + if ( + self.env["ir.config_parameter"] + .sudo() + .get_param("stock_request_kanban.ignore_crc", default="0") + == "0" + ): + bcc = getCodes()[self.get_barcode_format()](value=barcode[:-1]) + bcc.validate() + bcc.encode() + if bcc.encoded[1:-1] != barcode: + raise ValidationError(_("CRC is not valid")) + return barcode[:-1] + + @api.model + def search_barcode(self, barcode): + recomputed_barcode = self._recompute_barcode(barcode) + return self.env["stock.request.kanban"].search( + [("name", "ilike", recomputed_barcode)] + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONFIGURE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONFIGURE.rst new file mode 100644 index 0000000..a26fd30 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONFIGURE.rst @@ -0,0 +1,16 @@ +If the barcode does not contain a CRC check digit on the kanban card, you should: + +* Access on Development mode +* Access 'Settings / Technical / Parameters / System Parameters' +* Create a parameter with name 'stock_request_kanban.crc' and set it to value to 0 + +If the barcode contains a CRC check digit and you want to ignore it: + +* Create a paramenter with name 'stock_request_kanban.ignore_crc' and set it to value to 1 + +If you want to change the format of the QR, you should: + +* Access on Development mode +* Access 'Settings / Technical / Parameters / System Parameters' +* Create a parameter with name 'stock_request_kanban.barcode_format' and set + the format of the barcode diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..ed1b3be --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/CONTRIBUTORS.rst @@ -0,0 +1,2 @@ +* Enric Tobella +* Kitti Upariphutthiphong diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/DESCRIPTION.rst new file mode 100644 index 0000000..7772a50 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/DESCRIPTION.rst @@ -0,0 +1,8 @@ +On most companies there are products that must be purchased often but cannot be +stored as a usual product because no consumption moves are made. +Usually, they are stored as consumables or putaway rules are defined. +In both cases, reordering rules cannot be used. +This module allows to use stock request as reordering rules for this kind of +products. + +It is created following the concept of lean kanban cards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/USAGE.rst new file mode 100644 index 0000000..446f625 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/readme/USAGE.rst @@ -0,0 +1,28 @@ +Creation +~~~~~~~~ + +* Go to 'Stock Requests / Stock Requests Kanban' and create a new Kanban. +* Indicate a product, quantity and location. +* Press 'Save'. +* Print the kanban and put it in the storage of the product + +Request kanban +~~~~~~~~~~~~~~ + +This should be used if you want to create the kanban when the card is consumed. + +* Once the product is consumed, take the card +* Go to 'Stock Requests / Order Kanban Card' +* Scan the card +* The stock request is created + +Request kanban batch +~~~~~~~~~~~~~~~~~~~~ + +This should be used when you will store the cards and create request orders +for kanbans later. + +* Once the product is consumed, take the card and store it +* Create a store request order +* Press the scan button +* Scan all the pending kanban cards diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/report_paper_format.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/report_paper_format.xml new file mode 100644 index 0000000..1c29095 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/report_paper_format.xml @@ -0,0 +1,14 @@ + + + + Kanban format + A4 + Portrait + 0.0 + 0.0 + 0.0 + 0.0 + 0 + 72 + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/stock_request_kanban_templates.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/stock_request_kanban_templates.xml new file mode 100644 index 0000000..dc721b1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/report/stock_request_kanban_templates.xml @@ -0,0 +1,103 @@ + + + + + + + Print kanban + stock.request.kanban + qweb-pdf + stock_request_kanban.report_kanban_label + stock_request_kanban.report_kanban_label + + + report + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/security/ir.model.access.csv b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/security/ir.model.access.csv new file mode 100644 index 0000000..244b3a4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/security/ir.model.access.csv @@ -0,0 +1,11 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_request_kanban_user,stock request kanban user,model_stock_request_kanban,stock_request.group_stock_request_user,1,1,1, +access_stock_request_kanban_manager,stock request kanban manager,model_stock_request_kanban,stock_request.group_stock_request_manager,1,1,1,1 +access_stock_inventory_kanban_user,stock inventory kanban user,model_stock_inventory_kanban,stock_request.group_stock_request_user,1,1,1, +access_stock_inventory_kanban_manager,stock inventory kanban manager,model_stock_inventory_kanban,stock_request.group_stock_request_manager,1,1,1,1 +access_wizard_stock_request_kanban_user,wizard stock request kanban user,model_wizard_stock_request_kanban,stock_request.group_stock_request_user,1,1,1, +access_wizard_stock_request_kanban_manager,wizard stock request kanban manager,model_wizard_stock_request_kanban,stock_request.group_stock_request_manager,1,1,1,1 +access_wizard_stock_inventory_kanban_user,wizard stock inventory kanban user,model_wizard_stock_inventory_kanban,stock_request.group_stock_request_user,1,1,1, +access_wizard_stock_inventory_kanban_manager,wizard stock inventory kanban manager,model_wizard_stock_inventory_kanban,stock_request.group_stock_request_manager,1,1,1,1 +access_wizard_stock_request_order_kanban_user,wizard stock request order kanban user,model_wizard_stock_request_order_kanban,stock_request.group_stock_request_user,1,1,1, +access_wizard_stock_request_order_kanban_manager,wizard stock request order kanban manager,model_wizard_stock_request_order_kanban,stock_request.group_stock_request_manager,1,1,1,1 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f6a65aca34c7c1a714b1f88277d7295a992a72 GIT binary patch literal 15218 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 Dg&Jzd literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/index.html new file mode 100644 index 0000000..94626ca --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/description/index.html @@ -0,0 +1,497 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Stock Request kanban

    + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    On most companies there are products that must be purchased often but cannot be +stored as a usual product because no consumption moves are made. +Usually, they are stored as consumables or putaway rules are defined. +In both cases, reordering rules cannot be used. +This module allows to use stock request as reordering rules for this kind of +products.

    +

    It is created following the concept of lean kanban cards.

    +

    Table of contents

    + +
    +

    Configuration

    +

    If the barcode does not contain a CRC check digit on the kanban card, you should:

    +
      +
    • Access on Development mode
    • +
    • Access ‘Settings / Technical / Parameters / System Parameters’
    • +
    • Create a parameter with name ‘stock_request_kanban.crc’ and set it to value to 0
    • +
    +

    If the barcode contains a CRC check digit and you want to ignore it:

    +
      +
    • Create a paramenter with name ‘stock_request_kanban.ignore_crc’ and set it to value to 1
    • +
    +

    If you want to change the format of the QR, you should:

    +
      +
    • Access on Development mode
    • +
    • Access ‘Settings / Technical / Parameters / System Parameters’
    • +
    • Create a parameter with name ‘stock_request_kanban.barcode_format’ and set +the format of the barcode
    • +
    +
    +
    +

    Usage

    +
    +

    Creation

    +
      +
    • Go to ‘Stock Requests / Stock Requests Kanban’ and create a new Kanban.
    • +
    • Indicate a product, quantity and location.
    • +
    • Press ‘Save’.
    • +
    • Print the kanban and put it in the storage of the product
    • +
    +
    +
    +

    Request kanban

    +

    This should be used if you want to create the kanban when the card is consumed.

    +
      +
    • Once the product is consumed, take the card
    • +
    • Go to ‘Stock Requests / Order Kanban Card’
    • +
    • Scan the card
    • +
    • The stock request is created
    • +
    +
    +
    +

    Request kanban batch

    +

    This should be used when you will store the cards and create request orders +for kanbans later.

    +
      +
    • Once the product is consumed, take the card and store it
    • +
    • Create a store request order
    • +
    • Press the scan button
    • +
    • Scan all the pending kanban cards
    • +
    +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Creu Blanca
    • +
    • ForgeFlow
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js new file mode 100644 index 0000000..0b2580e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_controller.esm.js @@ -0,0 +1,48 @@ +/** @odoo-module **/ + +import ListController from "web.ListController"; +import core from "web.core"; + +var qweb = core.qweb; + +var StockRequestKanbanController = ListController.extend({ + // ------------------------------------------------------------------------- + // Public + // ------------------------------------------------------------------------- + + init: function (parent, model, renderer) { + this.context = renderer.state.getContext(); + return this._super.apply(this, arguments); + }, + + /** + * @override + */ + + renderButtons: function () { + this._super.apply(this, arguments); + var $buttonScan = $(qweb.render("StockRequestKanban.Buttons")); + $buttonScan.on("click", this._onOpenWizard.bind(this)); + + this.$buttons.prepend($buttonScan); + }, + + // ------------------------------------------------------------------------- + // Handlers + // ------------------------------------------------------------------------- + + _onOpenWizard: function () { + var context = { + active_model: this.modelName, + }; + this.do_action({ + res_model: "wizard.stock.request.kanban", + views: [[false, "form"]], + target: "new", + type: "ir.actions.act_window", + context: context, + }); + }, +}); + +export default StockRequestKanbanController; diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js new file mode 100644 index 0000000..4e87724 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/js/stock_request_kanban_scan_view.esm.js @@ -0,0 +1,15 @@ +/** @odoo-module **/ + +import ListView from "web.ListView"; +import StockRequestKanbanController from "@stock_request_kanban/js/stock_request_kanban_scan_controller.esm"; +import viewRegistry from "web.view_registry"; + +var StockRequestKanbanListView = ListView.extend({ + config: _.extend({}, ListView.prototype.config, { + Controller: StockRequestKanbanController, + }), +}); + +viewRegistry.add("stock_request_kanban_list", StockRequestKanbanListView); + +export default StockRequestKanbanListView; diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml new file mode 100644 index 0000000..b4dd14f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/static/src/xml/stock_request_kanban_scan.xml @@ -0,0 +1,11 @@ + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/__init__.py new file mode 100644 index 0000000..4a5ebd1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/__init__.py @@ -0,0 +1,2 @@ +from . import test_kanban +from . import test_inventory_kanban diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/base_test.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/base_test.py new file mode 100644 index 0000000..41e9b13 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/base_test.py @@ -0,0 +1,17 @@ +# Copyright 2017 Creu Blanca +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from reportlab.graphics.barcode import getCodes + +from odoo.tests.common import TransactionCase + + +class TestBaseKanban(TransactionCase): + def pass_code(self, wizard, code): + bcc = getCodes()[self.env["stock.request.kanban"].get_barcode_format()]( + value=code + ) + bcc.validate() + bcc.encode() + wizard.on_barcode_scanned(bcc.encoded[1:-1]) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_inventory_kanban.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_inventory_kanban.py new file mode 100644 index 0000000..25b4eac --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_inventory_kanban.py @@ -0,0 +1,112 @@ +# Copyright 2017 Creu Blanca +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from .base_test import TestBaseKanban + + +class TestKanban(TestBaseKanban): + def setUp(self): + super().setUp() + self.main_company = self.env.ref("base.main_company") + self.route = self.env["stock.route"].create( + { + "name": "Transfer", + "product_categ_selectable": False, + "product_selectable": True, + "company_id": self.main_company.id, + "sequence": 10, + } + ) + self.product = self.env["product.product"].create( + {"name": "Product", "route_ids": [(4, self.route.id)], "company_id": False} + ) + self.product_2 = self.env["product.product"].create( + { + "name": "Product 2", + "route_ids": [(4, self.route.id)], + "company_id": False, + } + ) + self.kanban_1 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + self.kanban_2 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + self.kanban_3 = self.env["stock.request.kanban"].create( + { + "product_id": self.product_2.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + + def test_inventory_warehouse(self): + inventory = self.env["stock.inventory.kanban"].create( + {"warehouse_ids": [(4, self.kanban_1.warehouse_id.id)]} + ) + inventory.start_inventory() + self.assertIn(self.kanban_1, inventory.kanban_ids) + self.assertIn(self.kanban_1, inventory.missing_kanban_ids) + + def test_inventory_location(self): + inventory = self.env["stock.inventory.kanban"].create( + {"location_ids": [(4, self.kanban_1.location_id.id)]} + ) + inventory.start_inventory() + self.assertIn(self.kanban_1, inventory.kanban_ids) + self.assertIn(self.kanban_1, inventory.missing_kanban_ids) + + def test_inventory_product(self): + inventory = self.env["stock.inventory.kanban"].create( + {"product_ids": [(4, self.product.id)]} + ) + inventory.start_inventory() + self.assertIn(self.kanban_1, inventory.kanban_ids) + self.assertNotIn(self.kanban_3, inventory.kanban_ids) + self.assertIn(self.kanban_1, inventory.missing_kanban_ids) + self.assertEqual(inventory.state, "in_progress") + wizard = ( + self.env["wizard.stock.inventory.kanban"] + .with_context(default_inventory_kanban_id=inventory.id) + .create({}) + ) + self.pass_code(wizard, self.kanban_3.name) + self.assertEqual(wizard.status_state, 1) + self.pass_code(wizard, self.kanban_1.name) + self.assertEqual(wizard.status_state, 0) + self.assertNotIn(self.kanban_1, inventory.missing_kanban_ids) + self.assertIn(self.kanban_1, inventory.scanned_kanban_ids) + self.pass_code(wizard, self.kanban_1.name) + self.assertEqual(wizard.status_state, 1) + self.assertNotIn(self.kanban_1, inventory.missing_kanban_ids) + self.assertIn(self.kanban_1, inventory.scanned_kanban_ids) + inventory.finish_inventory() + self.assertEqual(inventory.state, "finished") + inventory.close_inventory() + self.assertEqual(inventory.state, "closed") + + def test_cancel_inventory(self): + inventory = self.env["stock.inventory.kanban"].create( + {"product_ids": [(4, self.product.id)]} + ) + inventory.start_inventory() + self.assertIn(self.kanban_1, inventory.kanban_ids) + self.assertNotIn(self.kanban_3, inventory.kanban_ids) + self.assertIn(self.kanban_1, inventory.missing_kanban_ids) + self.assertEqual(inventory.state, "in_progress") + inventory.cancel() + self.assertEqual(inventory.state, "cancelled") + inventory.to_draft() + self.assertEqual(inventory.state, "draft") + self.assertFalse(inventory.kanban_ids) + self.assertFalse(inventory.scanned_kanban_ids) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_kanban.py b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_kanban.py new file mode 100644 index 0000000..c130513 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/tests/test_kanban.py @@ -0,0 +1,232 @@ +# Copyright 2017 Creu Blanca +# Copyright 2017-2020 ForgeFlow, S.L. +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo.exceptions import ValidationError + +from .base_test import TestBaseKanban + + +class TestKanban(TestBaseKanban): + def setUp(self): + super().setUp() + self.main_company = self.env.ref("base.main_company") + self.warehouse = self.env.ref("stock.warehouse0") + self.categ_unit = self.env.ref("uom.product_uom_categ_unit") + + # common data + self.company_2 = self.env["res.company"].create({"name": "Comp2"}) + self.wh2 = self.env["stock.warehouse"].search( + [("company_id", "=", self.company_2.id)], limit=1 + ) + self.wh3 = self.env["stock.warehouse"].create( + { + "name": "Warehouse TEst", + "code": "WH-TEST", + "company_id": self.main_company.id, + } + ) + + self.ressuply_loc = self.env["stock.location"].create( + {"name": "Ressuply", "location_id": self.warehouse.view_location_id.id} + ) + self.route = self.env["stock.route"].create( + { + "name": "Transfer", + "product_categ_selectable": False, + "product_selectable": True, + "company_id": self.main_company.id, + "sequence": 10, + } + ) + self.product = self.env["product.product"].create( + {"name": "Product", "route_ids": [(4, self.route.id)], "company_id": False} + ) + self.uom_dozen = self.env["uom.uom"].create( + { + "name": "Test-DozenA", + "category_id": self.categ_unit.id, + "factor_inv": 12, + "uom_type": "bigger", + "rounding": 0.001, + } + ) + + self.env["stock.rule"].create( + { + "name": "Transfer", + "route_id": self.route.id, + "location_src_id": self.ressuply_loc.id, + "location_dest_id": self.warehouse.lot_stock_id.id, + "action": "pull_push", + "picking_type_id": self.warehouse.int_type_id.id, + "procure_method": "make_to_stock", + "warehouse_id": self.warehouse.id, + "company_id": self.main_company.id, + } + ) + self.env["ir.config_parameter"].set_param("stock_request_kanban.crc", "1") + + def test_onchanges(self): + kanban = self.env["stock.request.kanban"].new({}) + kanban.product_id = self.product + kanban.onchange_product_id() + kanban.company_id = self.main_company + kanban.onchange_company_id() + self.assertTrue(kanban.warehouse_id) + kanban.warehouse_id = self.wh2 + kanban.onchange_warehouse_id() + self.assertEqual(kanban.company_id, self.company_2) + kanban.location_id = self.warehouse.view_location_id + kanban.onchange_location_id() + self.assertEqual(kanban.company_id, self.main_company) + self.assertEqual(kanban.warehouse_id, self.warehouse) + + def test_create(self): + kanban = self.env["stock.request.kanban"].new({}) + kanban.product_id = self.product + kanban.onchange_product_id() + kanban.product_uom_qty = 1 + kanban = kanban.create(kanban._convert_to_write(kanban._cache)) + self.assertTrue(kanban.company_id) + self.assertIn(self.route, kanban.route_ids) + + def test_order_barcodes(self): + kanban_1 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + kanban_2 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + kanban_3 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + "company_id": self.main_company.id, + "warehouse_id": self.wh3.id, + "location_id": self.wh3.lot_stock_id.id, + } + ) + order = self.env["stock.request.order"].create( + { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + ) + wizard = ( + self.env["wizard.stock.request.order.kanban"] + .with_context(default_order_id=order.id) + .create({}) + ) + with self.assertRaises(ValidationError): + wizard.on_barcode_scanned(kanban_1.name) + self.pass_code(wizard, kanban_1.name) + self.assertEqual(wizard.status_state, 0) + self.assertTrue( + order.stock_request_ids.filtered(lambda r: r.kanban_id == kanban_1) + ) + self.pass_code(wizard, kanban_2.name) + self.assertTrue( + order.stock_request_ids.filtered(lambda r: r.kanban_id == kanban_2) + ) + self.assertEqual(wizard.status_state, 0) + self.pass_code(wizard, kanban_1.name) + self.assertEqual(wizard.status_state, 1) + self.pass_code(wizard, kanban_2.name + kanban_1.name) + self.assertEqual(wizard.status_state, 1) + with self.assertRaises(ValidationError): + self.pass_code(wizard, kanban_3.name) + + def test_barcodes(self): + kanban_1 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + kanban_2 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + kanban_3 = self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + wizard = self.env["wizard.stock.request.kanban"].with_context().create({}) + with self.assertRaises(ValidationError): + wizard.on_barcode_scanned(kanban_1.name) + self.assertFalse( + self.env["stock.request"].search([("kanban_id", "=", kanban_1.id)]) + ) + self.pass_code(wizard, kanban_1.name) + self.assertEqual(wizard.status_state, 0) + self.assertTrue( + self.env["stock.request"].search([("kanban_id", "=", kanban_1.id)]) + ) + self.assertFalse( + self.env["stock.request"].search([("kanban_id", "=", kanban_2.id)]) + ) + self.pass_code(wizard, kanban_2.name) + self.assertTrue( + self.env["stock.request"].search([("kanban_id", "=", kanban_2.id)]) + ) + with self.assertRaises(ValidationError): + wizard.on_barcode_scanned(kanban_3.name) + self.assertFalse( + self.env["stock.request"].search([("kanban_id", "=", kanban_3.id)]) + ) + self.env["ir.config_parameter"].set_param("stock_request_kanban.crc", "0") + wizard.on_barcode_scanned(kanban_3.name) + self.assertEqual(wizard.status_state, 0) + self.assertTrue( + self.env["stock.request"].search([("kanban_id", "=", kanban_3.id)]) + ) + + def test_product_kanban_count(self): + self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + self.env["stock.request.kanban"].create( + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 1, + } + ) + self.assertEqual(self.product.kanban_card_count, 2) + self.assertEqual(self.product.product_tmpl_id.kanban_card_count, 2) + + def test_product_kanban_action(self): + prod_action = self.product.action_view_kanban_cards() + tmpl_action = self.product.product_tmpl_id.action_view_kanban_cards() + self.assertEqual( + prod_action.get("context", {}).get("default_product_id"), + self.product.id, + "Product variant not in action", + ) + self.assertEqual( + tmpl_action.get("context", {}).get("default_product_id"), + self.product.id, + "Product template not in action", + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/product_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/product_views.xml new file mode 100644 index 0000000..52a937d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/product_views.xml @@ -0,0 +1,51 @@ + + + + + product.product.stock.request.kanban + product.product + + +
    + +
    +
    +
    + + product.template.stock.request.kanban + product.template + + +
    + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_inventory_kanban_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_inventory_kanban_views.xml new file mode 100644 index 0000000..88c5752 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_inventory_kanban_views.xml @@ -0,0 +1,122 @@ + + + + stock.inventory.kanban.tree + stock.inventory.kanban + + + + + + + + + + stock.inventory.kanban.form + stock.inventory.kanban + +
    +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + +
    +
    + + + +
    +
    +
    +
    + + Stock Inventory Kanbans + stock.inventory.kanban + ir.actions.act_window + tree,form + +

    + Click to add a Stock Inventory Kanban. +

    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_kanban_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_kanban_views.xml new file mode 100644 index 0000000..6181ecd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_kanban_views.xml @@ -0,0 +1,201 @@ + + + + + stock.request.kanban.tree + stock.request.kanban + + + + + + + + + + + + + + + + + stock.request.kanban.search + stock.request.kanban + + + + + + + + + + + + + + + + + stock.request.kanban.form + stock.request.kanban + +
    + +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    + + + +
    + + + + + + stock.request.kanban.kanban + stock.request.kanban + + + + + + + + + + + +
    +
    + Kanban Image +
    +
    + + + +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    • + + +
    • +
    +
    +
    + + + + + + + Stock Request Kanbans + stock.request.kanban + ir.actions.act_window + kanban,tree,form + +

    + Click to add a Stock Request Kanban. +

    +
    +
    + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_menu.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_menu.xml new file mode 100644 index 0000000..8f91503 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_menu.xml @@ -0,0 +1,25 @@ + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_order_views.xml new file mode 100644 index 0000000..cc7b552 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_kanban/stock_request_kanban/views/stock_request_order_views.xml @@ -0,0 +1,20 @@ + + + + stock.request.order.form + stock.request.order + + + + + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_order_views.xml new file mode 100644 index 0000000..ce50488 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_order_views.xml @@ -0,0 +1,29 @@ + + + + + stock.request.order.form + stock.request.order + + +
    + + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_views.xml new file mode 100644 index 0000000..8db136d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_mrp/stock_request_mrp/views/stock_request_views.xml @@ -0,0 +1,29 @@ + + + + + stock.request.form + stock.request + + +
    + + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/README.md new file mode 100644 index 0000000..656da7f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/README.md @@ -0,0 +1,46 @@ +# Stock Request Picking Type + +Odoo addon: stock_request_picking_type + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_picking_type +``` + +## Dependencies + +This addon depends on: +- stock_request + +## Manifest Information + +- **Name**: Stock Request Picking Type +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse +- **License**: LGPL-3 +- **Installable**: False + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_picking_type`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/ARCHITECTURE.md new file mode 100644 index 0000000..2c9b511 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_picking_type Module - stock_request_picking_type + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONFIGURATION.md new file mode 100644 index 0000000..1ff2070 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_picking_type. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/DEPENDENCIES.md new file mode 100644 index 0000000..8b8e658 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/FAQ.md new file mode 100644 index 0000000..980c55b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_picking_type or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/INSTALL.md new file mode 100644 index 0000000..436776b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_picking_type" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_picking_type" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/MODELS.md new file mode 100644 index 0000000..05494a6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_request_picking_type. + +```mermaid +classDiagram + class stock_picking_type + class stock_request_order +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/OVERVIEW.md new file mode 100644 index 0000000..920faf0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_picking_type. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_picking_type +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/USAGE.md new file mode 100644 index 0000000..6d2ea44 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_picking_type +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/pyproject.toml new file mode 100644 index 0000000..bacddc4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_picking_type" +version = "16.0.0" +description = "Stock Request Picking Type - Add Stock Requests to the Inventory App" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_picking_type"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/README.rst new file mode 100644 index 0000000..13b9b25 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/README.rst @@ -0,0 +1,95 @@ +========================== +Stock Request Picking Type +========================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:ee201635a3febbcba6e6023c0a23b866ec29c66e143a839b7bd41970e6a2ce46 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_picking_type + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_picking_type + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds stock request orders within the Inventory app with a new operation type. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +* Go to Inventory +* Click on the Stock Request Orders tile to process stock requests +* You can also go to Inventory > Operations > Stock Request Orders + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Open Source Integrators + +Contributors +~~~~~~~~~~~~ + +* Maxime Chambreuil +* Pimolnat Suntian +* Raphael Lee +* [APSL-Nagarro](https://apsl.tech): + * Antoni Marroig + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-max3903| image:: https://github.com/max3903.png?size=40px + :target: https://github.com/max3903 + :alt: max3903 + +Current `maintainer `__: + +|maintainer-max3903| + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__init__.py new file mode 100644 index 0000000..dbf87a2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__init__.py @@ -0,0 +1,4 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import models diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__manifest__.py new file mode 100644 index 0000000..21ce674 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/__manifest__.py @@ -0,0 +1,20 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Request Picking Type", + "summary": "Add Stock Requests to the Inventory App", + "version": "16.0.1.0.0", + "license": "LGPL-3", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "category": "Warehouse", + "depends": ["stock_request"], + "data": [ + "data/stock_picking_type.xml", + "views/stock_request_order_views.xml", + "views/stock_picking_views.xml", + ], + "development_status": "Beta", + "maintainers": ["max3903"], +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/data/stock_picking_type.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/data/stock_picking_type.xml new file mode 100644 index 0000000..136e087 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/data/stock_picking_type.xml @@ -0,0 +1,8 @@ + + + Stock Requests + + stock_request_order + SRO + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/bs.po new file mode 100644 index 0000000..42bc042 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/bs.po @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "Novi" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "Pogledaj" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "Sve" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "Gotovo" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "U Toku" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "Kasni" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "Tip operacije" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "Vrsta dokumenta" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "Postavke" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "Narudžbe zahtjeva zaliha" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "Zahtjevi zaliha" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "Za uraditi" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "Za obradu" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "Tip operacije" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/es.po new file mode 100644 index 0000000..445e485 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/es.po @@ -0,0 +1,163 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-01-17 05:13+0000\n" +"Last-Translator: Nelson Ramírez Sánchez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.10\n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +"" +msgstr "" +"" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "Nuevo" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "Ver" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "Todo" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__display_name +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "Hecho" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__id +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "En Progreso" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type____last_update +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "Tarde" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "Tipo de Operación" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipo de Picking" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "Configuración" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "Pedido de Solicitud de Stock" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "Pedidos de Solicitud de Stock" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "Solicitudes de Stock" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "Por Hacer" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "A Procesar" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "Tipo de Operación" + +#~ msgid "Customers" +#~ msgstr "Clientes" + +#~ msgid "Expected Date" +#~ msgstr "Fecha Esperada" + +#~ msgid "Expected Date by Month" +#~ msgstr "Fecha Esperada por Mes" + +#~ msgid "Group By..." +#~ msgstr "Agrupar por..." + +#~ msgid "Internal" +#~ msgstr "Interno" + +#~ msgid "Late Stock Requests" +#~ msgstr "Solicitudes de Stock Tardías" + +#~ msgid "Manufacturing Operation" +#~ msgstr "Operación de Fabricación" + +#~ msgid "Search Stock Request Orders" +#~ msgstr "Buscar Pedidos de Solicitud de Stock" + +#~ msgid "State" +#~ msgstr "Estado" + +#~ msgid "Stock Requests To Do." +#~ msgstr "Solicitudes de acciones para hacer." + +#~ msgid "Stock Requests in Progress." +#~ msgstr "Solicitudes de stock en curso." + +#~ msgid "Vendors" +#~ msgstr "Proveedores" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/it.po new file mode 100644 index 0000000..771f187 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/it.po @@ -0,0 +1,125 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-08-22 11:07+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +msgstr "" +"" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "Nuovo" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "Vista" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "Tutti" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__display_name +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "Eseguito" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__id +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__id +msgid "ID" +msgstr "ID" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "In corso" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type____last_update +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "In ritardo" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "Tipo di operazione" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipo prelievo" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "Impostazioni" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "Ordini richiesta di magazzino" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "Richieste di magazzino" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "Da fare" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "Da elaborare" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "Tipo di operazione" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/pt_BR.po b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/pt_BR.po new file mode 100644 index 0000000..c470cf4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/pt_BR.po @@ -0,0 +1,164 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-07-05 19:47+0000\n" +"Last-Translator: rodrigosottomaiormacedo " +"\n" +"Language-Team: none\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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +"" +msgstr "" +"" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "Novo" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "Visualizar" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "Tudo" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__display_name +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__display_name +msgid "Display Name" +msgstr "Nome de exibição" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "Concluído" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__id +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__id +msgid "ID" +msgstr "Identificação" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "Em Andamento" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type____last_update +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "Última modificação em" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "Atrasado" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "Tipo da Operação" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipo de Separação" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "Configurações" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "Ordens de Requisição de Estoque" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "Ordens de Requisição de Estoque" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "Requisições de Estoque" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "A Fazer" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "Para Processar" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "Tipo de Operação" + +#~ msgid "Customers" +#~ msgstr "Clientes" + +#~ msgid "Expected Date" +#~ msgstr "Data Prevista" + +#~ msgid "Expected Date by Month" +#~ msgstr "Data Prevista por Mês" + +#~ msgid "Group By..." +#~ msgstr "Agrupar por..." + +#~ msgid "Internal" +#~ msgstr "Interno" + +#~ msgid "Late Stock Requests" +#~ msgstr "Requisições de Estoque em Atrasado" + +#~ msgid "Manufacturing Operation" +#~ msgstr "Operação de Fabricação" + +#~ msgid "Search Stock Request Orders" +#~ msgstr "Pesquisar Ordens de Requisição de Estoque" + +#~ msgid "State" +#~ msgstr "Estado" + +#~ msgid "Stock Requests To Do." +#~ msgstr "Requisições de Estoque A Fazer." + +#~ msgid "Stock Requests in Progress." +#~ msgstr "Requisições de Estoque em Andamento." + +#~ msgid "Vendors" +#~ msgstr "Fornecedores" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/stock_request_picking_type.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/stock_request_picking_type.pot new file mode 100644 index 0000000..184aa8b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/stock_request_picking_type.pot @@ -0,0 +1,102 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/zh_CN.po new file mode 100644 index 0000000..ca9fa5a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/i18n/zh_CN.po @@ -0,0 +1,163 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_picking_type +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "" +"" +msgstr "" +"" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "New" +msgstr "新建" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "View" +msgstr "视图" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "All" +msgstr "所有" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__display_name +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Done" +msgstr "完成" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__id +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__id +msgid "ID" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_open +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "In Progress" +msgstr "进行中" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type____last_update +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_late +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Late" +msgstr "迟到" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_request_order__picking_type_id +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_order_search +msgid "Operation Type" +msgstr "作业类型" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_picking_type +msgid "Picking Type" +msgstr "拣货类型" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Settings" +msgstr "设置" + +#. module: stock_request_picking_type +#: model:ir.model,name:stock_request_picking_type.model_stock_request_order +#: model:ir.model.fields.selection,name:stock_request_picking_type.selection__stock_picking_type__code__stock_request_order +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request_picking_type +#: model:ir.actions.act_window,name:stock_request_picking_type.action_picking_dashboard +#: model:ir.actions.act_window,name:stock_request_picking_type.action_stock_request_order_form +#: model:ir.ui.menu,name:stock_request_picking_type.menu_stock_request_order +msgid "Stock Request Orders" +msgstr "库存请求单" + +#. module: stock_request_picking_type +#: model:stock.picking.type,name:stock_request_picking_type.stock_request_order +msgid "Stock Requests" +msgstr "库存请求" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__count_sr_todo +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Do" +msgstr "去做" + +#. module: stock_request_picking_type +#: model_terms:ir.ui.view,arch_db:stock_request_picking_type.stock_request_type_kanban +msgid "To Process" +msgstr "处理" + +#. module: stock_request_picking_type +#: model:ir.model.fields,field_description:stock_request_picking_type.field_stock_picking_type__code +msgid "Type of Operation" +msgstr "作业的类型" + +#~ msgid "Customers" +#~ msgstr "客户" + +#~ msgid "Expected Date" +#~ msgstr "预计日期" + +#~ msgid "Expected Date by Month" +#~ msgstr "每月预期日期" + +#~ msgid "Group By..." +#~ msgstr "分组..." + +#~ msgid "Internal" +#~ msgstr "内部" + +#~ msgid "Late Stock Requests" +#~ msgstr "迟到的库存请求" + +#~ msgid "Manufacturing Operation" +#~ msgstr "制造作业" + +#~ msgid "Search Stock Request Orders" +#~ msgstr "搜索库存请求单" + +#~ msgid "State" +#~ msgstr "状态" + +#~ msgid "Stock Requests To Do." +#~ msgstr "库存请求去做。" + +#~ msgid "Stock Requests in Progress." +#~ msgstr "库存请求正在进行中。" + +#~ msgid "Vendors" +#~ msgstr "供应商" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/__init__.py new file mode 100644 index 0000000..bed61e4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/__init__.py @@ -0,0 +1,5 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from . import stock_request_order +from . import stock_picking_type diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_picking_type.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_picking_type.py new file mode 100644 index 0000000..8c2f40c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_picking_type.py @@ -0,0 +1,46 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class StockPickingType(models.Model): + _inherit = "stock.picking.type" + + code = fields.Selection( + selection_add=[("stock_request_order", "Stock Request Order")], + ondelete={"stock_request_order": "cascade"}, + ) + count_sr_todo = fields.Integer(string="To Do", compute="_compute_sr_count") + count_sr_open = fields.Integer(string="In Progress", compute="_compute_sr_count") + count_sr_late = fields.Integer(string="Late", compute="_compute_sr_count") + + def _compute_sr_count(self): + domains = { + "count_sr_todo": [("state", "=", "submitted")], + "count_sr_open": [("state", "=", "open")], + "count_sr_late": [ + ("expected_date", "<", fields.Date.today()), + ("state", "in", ("submitted", "open")), + ], + } + for field in domains: + data = self.env["stock.request.order"].read_group( + domains[field] + + [ + ("state", "not in", ("done", "cancel")), + ("picking_type_id", "in", self.ids), + ], + ["picking_type_id"], + ["picking_type_id"], + ) + count = { + x["picking_type_id"] + and x["picking_type_id"][0]: x["picking_type_id_count"] + for x in data + } + for record in self: + record[field] = count.get(record.id, 0) + + def get_stock_request_order_picking_type_action(self): + return self._get_action("stock_request_picking_type.action_picking_dashboard") diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_request_order.py new file mode 100644 index 0000000..9782f29 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/models/stock_request_order.py @@ -0,0 +1,37 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockRequestOrder(models.Model): + _inherit = "stock.request.order" + + picking_type_id = fields.Many2one( + comodel_name="stock.picking.type", + string="Operation Type", + compute="_compute_picking_type_id", + required=True, + store=True, + readonly=False, + precompute=True, + ) + + @api.depends("warehouse_id") + def _compute_picking_type_id(self): + companies = self.env.context.get("allowed_company_ids", []).copy() + companies.append(False) + for order in self: + order.picking_type_id = ( + self.env["stock.picking.type"] + .search( + [ + ("code", "=", "stock_request_order"), + "|", + ("warehouse_id.company_id", "in", companies), + ("warehouse_id", "=", self.warehouse_id.id or False), + ], + limit=1, + ) + .id + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..6e417c5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/CONTRIBUTORS.rst @@ -0,0 +1,5 @@ +* Maxime Chambreuil +* Pimolnat Suntian +* Raphael Lee +* [APSL-Nagarro](https://apsl.tech): + * Antoni Marroig diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/DESCRIPTION.rst new file mode 100644 index 0000000..0173f58 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module adds stock request orders within the Inventory app with a new operation type. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/USAGE.rst new file mode 100644 index 0000000..a280711 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/readme/USAGE.rst @@ -0,0 +1,3 @@ +* Go to Inventory +* Click on the Stock Request Orders tile to process stock requests +* You can also go to Inventory > Operations > Stock Request Orders diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f6a65aca34c7c1a714b1f88277d7295a992a72 GIT binary patch literal 15218 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 Dg&Jzd literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/index.html new file mode 100644 index 0000000..fbfb45e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/static/description/index.html @@ -0,0 +1,436 @@ + + + + + + +Stock Request Picking Type + + + +
    +

    Stock Request Picking Type

    + + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module adds stock request orders within the Inventory app with a new operation type.

    +

    Table of contents

    + +
    +

    Usage

    +
      +
    • Go to Inventory
    • +
    • Click on the Stock Request Orders tile to process stock requests
    • +
    • You can also go to Inventory > Operations > Stock Request Orders
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Open Source Integrators
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    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.

    +

    Current maintainer:

    +

    max3903

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/__init__.py new file mode 100644 index 0000000..c6e97bd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/__init__.py @@ -0,0 +1,2 @@ +from . import test_stock_request +from . import test_stock_picking_type diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_picking_type.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_picking_type.py new file mode 100644 index 0000000..0f6db80 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_picking_type.py @@ -0,0 +1,158 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from dateutil.relativedelta import relativedelta + +from odoo import fields +from odoo.tests import common + + +class TestStockRequest(common.TransactionCase): + @classmethod + def _create_user(cls, name, group_ids, company_ids): + return ( + cls.env["res.users"] + .with_context(**{"no_reset_password": True}) + .create( + { + "name": name, + "password": "demo", + "login": name, + "email": "@".join([name, "test.com"]), + "groups_id": [(6, 0, group_ids)], + "company_ids": [(6, 0, company_ids)], + } + ) + ) + + @classmethod + def _create_product(cls, default_code, name, company_id, **vals): + return cls.env["product.product"].create( + dict( + name=name, + default_code=default_code, + uom_id=cls.env.ref("uom.product_uom_unit").id, + company_id=company_id, + type="product", + **vals + ) + ) + + @classmethod + def setUpClass(cls): + super().setUpClass() + + # common models + cls.stock_request = cls.env["stock.request"] + cls.request_order = cls.env["stock.request.order"] + + # refs + cls.stock_request_user_group = cls.env.ref( + "stock_request.group_stock_request_user" + ) + cls.stock_request_manager_group = cls.env.ref( + "stock_request.group_stock_request_manager" + ) + cls.main_company = cls.env.ref("base.main_company") + cls.warehouse = cls.env.ref("stock.warehouse0") + cls.categ_unit = cls.env.ref("uom.product_uom_categ_unit") + cls.default_picking_type = cls.env.ref( + "stock_request_picking_type.stock_request_order" + ) + + cls.product = cls._create_product("Shoes", "SH", False) + cls.stock_request_manager = cls._create_user( + "stock_request_manager", + [cls.stock_request_manager_group.id], + [cls.main_company.id], + ) + + cls.ressuply_loc = cls.env["stock.location"].create( + { + "name": "Ressuply", + "location_id": cls.warehouse.view_location_id.id, + "usage": "internal", + "company_id": cls.main_company.id, + } + ) + + cls.route = cls.env["stock.route"].create( + { + "name": "Transfer", + "product_categ_selectable": False, + "product_selectable": True, + "company_id": cls.main_company.id, + "sequence": 10, + } + ) + + cls.rule = cls.env["stock.rule"].create( + { + "name": "Transfer", + "route_id": cls.route.id, + "location_src_id": cls.ressuply_loc.id, + "location_dest_id": cls.warehouse.lot_stock_id.id, + "action": "pull", + "picking_type_id": cls.warehouse.int_type_id.id, + "procure_method": "make_to_stock", + "warehouse_id": cls.warehouse.id, + "company_id": cls.main_company.id, + } + ) + + cls.env["ir.config_parameter"].sudo().set_param( + "stock.no_auto_scheduler", "True" + ) + + +class TestStockPickingType(TestStockRequest): + @classmethod + def setUpClass(cls): + super().setUpClass() + + def test_compute_sr_count(self): + expected_date = fields.Datetime.now() + late_expected_date = fields.Datetime.now() - relativedelta(days=1) + order_vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = self.request_order.with_user(self.stock_request_manager).create( + order_vals + ) + self.product.route_ids = [(6, 0, self.route.ids)] + self.assertEqual(order.picking_type_id.count_sr_todo, 0) + self.assertEqual(order.picking_type_id.count_sr_open, 0) + self.assertEqual(order.picking_type_id.count_sr_late, 0) + + order.with_user(self.stock_request_manager).action_confirm() + order.picking_type_id.sudo()._compute_sr_count() + + # check count_sr_open + self.assertEqual(order.picking_type_id.count_sr_todo, 0) + self.assertEqual(order.picking_type_id.count_sr_open, 1) + self.assertEqual(order.picking_type_id.count_sr_late, 0) + + order.expected_date = late_expected_date + order.picking_type_id.sudo()._compute_sr_count() + self.assertEqual(order.picking_type_id.count_sr_todo, 0) + self.assertEqual(order.picking_type_id.count_sr_open, 1) + self.assertEqual(order.picking_type_id.count_sr_late, 1) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_request.py new file mode 100644 index 0000000..bf0a495 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/tests/test_stock_request.py @@ -0,0 +1,145 @@ +# Copyright 2019 Open Source Integrators +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + + +from odoo import fields +from odoo.tests import Form, common + + +class TestStockRequest(common.TransactionCase): + @classmethod + def _create_user(cls, name, group_ids, company_ids): + return ( + cls.env["res.users"] + .with_context(no_reset_password=True) + .create( + { + "name": name, + "password": "demo", + "login": name, + "email": "@".join([name, "test.com"]), + "groups_id": [(6, 0, group_ids)], + "company_ids": [(6, 0, company_ids)], + } + ) + ) + + @classmethod + def _create_product(cls, default_code, name, company_id, **vals): + return cls.env["product.product"].create( + dict( + name=name, + default_code=default_code, + uom_id=cls.env.ref("uom.product_uom_unit").id, + company_id=company_id, + type="product", + **vals + ) + ) + + @classmethod + def setUpClass(cls): + super().setUpClass() + + # common models + cls.stock_request = cls.env["stock.request"] + cls.request_order = cls.env["stock.request.order"] + + # refs + cls.stock_request_user_group = cls.env.ref( + "stock_request.group_stock_request_user" + ) + cls.main_company = cls.env.ref("base.main_company") + cls.warehouse = cls.env.ref("stock.warehouse0") + cls.default_picking_type = cls.env.ref( + "stock_request_picking_type.stock_request_order" + ) + + # common data + cls.company_2 = cls.env["res.company"].create( + {"name": "Comp2", "parent_id": cls.main_company.id} + ) + cls.company_2_address = ( + cls.env["res.partner"] + .with_context(company_id=cls.company_2.id) + .create({"name": "Peñiscola"}) + ) + + cls.product = cls._create_product("SH", "Shoes", False) + cls.product_company_2 = cls._create_product("SH_2", "Shoes", cls.company_2.id) + cls.stock_request_user = cls._create_user( + "stock_request_user", + [cls.stock_request_user_group.id], + [cls.main_company.id, cls.company_2.id], + ) + + +class TestStockRequestOrder(TestStockRequest): + @classmethod + def setUpClass(cls): + super().setUpClass() + + def test_onchanges_order(self): + expected_date = fields.Datetime.now() + + wh = ( + self.env["stock.warehouse"] + .with_context(company_id=self.main_company.id) + .create( + { + "name": "Warehouse", + "code": "Warehouse", + "company_id": self.main_company.id, + "partner_id": self.main_company.id, + } + ) + ) + + new_pick_type = ( + self.env["stock.picking.type"] + .with_context(company_id=self.main_company.id) + .create( + { + "name": "Stock Request wh", + "sequence_id": self.env.ref( + "stock_request.seq_stock_request_order" + ).id, + "code": "stock_request_order", + "sequence_code": "SRO", + "warehouse_id": wh.id, + } + ) + ) + + stock_request_order_obj = self.env["stock.request.order"] + vals = { + "company_id": self.main_company.id, + "expected_date": expected_date, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + stock_request_order_new = stock_request_order_obj.new(vals) + + # Test setting warehouse + vals.update( + stock_request_order_new.sudo()._convert_to_write( + { + name: stock_request_order_new[name] + for name in stock_request_order_new._cache + } + ) + ) + vals.update({"warehouse_id": wh.id}) + stock_request_order = stock_request_order_obj.create(vals) + + self.assertEqual(stock_request_order.picking_type_id, new_pick_type) + + def test_create(self): + expected_date = fields.Datetime.now() + form = Form( + self.request_order.with_context(allowed_company_ids=[self.main_company.id]) + ) + form.expected_date = expected_date + + # # test _getdefault_picking_type() + self.assertEqual(form.picking_type_id, self.default_picking_type) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_picking_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_picking_views.xml new file mode 100644 index 0000000..98d4ce1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_picking_views.xml @@ -0,0 +1,198 @@ + + + + stock.picking.type.kanban + stock.picking.type + + + + + + + + +
    +
    +
    +
    + + + +
    + +
    +
    +
    + + + +
    +
    +
    +
    +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + Operation Types + stock.picking.type + + + + {"invisible": [("code", "=", "stock_request_order")]} + + + {"invisible": [("code", "=", "stock_request_order")]} + + + + +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_request_order_views.xml new file mode 100644 index 0000000..73b653c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_picking_type/stock_request_picking_type/views/stock_request_order_views.xml @@ -0,0 +1,60 @@ + + + + stock.request.order.search + stock.request.order + + + + + + + + + + stock.request.order.form.picking.type + stock.request.order + + + + + + + + + + Stock Request Orders + ir.actions.act_window + stock.request.order + tree,form + + + [('picking_type_id', '=', active_id)] + + + + Stock Request Orders + ir.actions.act_window + stock.request.order + form + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/README.md new file mode 100644 index 0000000..bebfb22 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/README.md @@ -0,0 +1,47 @@ +# Stock Request Purchase + +Odoo addon: stock_request_purchase + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_purchase +``` + +## Dependencies + +This addon depends on: +- stock_request +- purchase_stock + +## Manifest Information + +- **Name**: Stock Request Purchase +- **Version**: 16.0.1.0.3 +- **Category**: Warehouse Management +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_purchase`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/ARCHITECTURE.md new file mode 100644 index 0000000..dae60df --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_purchase Module - stock_request_purchase + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONFIGURATION.md new file mode 100644 index 0000000..e6612a2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_purchase. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/DEPENDENCIES.md new file mode 100644 index 0000000..b302d53 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) +- [purchase_stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-purchase_stock) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/FAQ.md new file mode 100644 index 0000000..62a6cb9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_purchase or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/INSTALL.md new file mode 100644 index 0000000..94f06f4 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_purchase" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_purchase" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/MODELS.md new file mode 100644 index 0000000..85aa787 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/MODELS.md @@ -0,0 +1,16 @@ +# Models + +Detected core models and extensions in stock_request_purchase. + +```mermaid +classDiagram + class purchase_order + class purchase_order_line + class stock_request + class stock_request_order + class stock_rule +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/OVERVIEW.md new file mode 100644 index 0000000..23e0003 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_purchase. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_purchase +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/SECURITY.md new file mode 100644 index 0000000..c5252ca --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in stock_request_purchase. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../stock_request_purchase/security/ir.model.access.csv)** + - 2 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../stock_request_purchase/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/USAGE.md new file mode 100644 index 0000000..d5e0124 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_purchase +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/pyproject.toml new file mode 100644 index 0000000..7f83447 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_purchase" +version = "16.0.0" +description = "Stock Request Purchase - Internal request for stock" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "odoo-bringout-oca-stock-logistics-request-purchase_stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_purchase"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/README.rst new file mode 100644 index 0000000..33cef1e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/README.rst @@ -0,0 +1,106 @@ +====================== +Stock Request Purchase +====================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:41147d788269a0cfeb9176b1f6ab78abdce2448ba3c781171c4876be6289086c + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_purchase + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_purchase + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows for users to be able to display purchase orders that have +been created as a consequence of Stock Requests. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +In case that the confirmation of the Stock Request results in an immediate +Purchase Order, the user will be able to display the PO's from the Stock +Request form view. + +Known issues / Roadmap +====================== + +* When a Stock Request is cancelled, it does not cancel the quantity included + in the Purchase Order. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Jordi Ballester . +* Enric Tobella +* Kitti Upariphutthiphong +* Alan Ramos +* Urvisha Desai +* Bruno Zanotti + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow +.. |maintainer-etobella| image:: https://github.com/etobella.png?size=40px + :target: https://github.com/etobella + :alt: etobella + +Current `maintainers `__: + +|maintainer-LoisRForgeFlow| |maintainer-etobella| + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__manifest__.py new file mode 100644 index 0000000..99ced51 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/__manifest__.py @@ -0,0 +1,22 @@ +# Copyright 2017-20 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +{ + "name": "Stock Request Purchase", + "summary": "Internal request for stock", + "version": "16.0.1.0.3", + "license": "LGPL-3", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["LoisRForgeFlow", "etobella"], + "category": "Warehouse Management", + "depends": ["stock_request", "purchase_stock"], + "data": [ + "security/ir.model.access.csv", + "views/stock_request_views.xml", + "views/stock_request_order_views.xml", + "views/purchase_order_views.xml", + ], + "installable": True, + "auto_install": True, +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/bs.po new file mode 100644 index 0000000..74c64de --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/bs.po @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "Nabavke" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "Broj nabavki" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "Nalog za nabavu" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Stavka naloga za nabavu" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "Stavke narudžbenice" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +msgid "Purchase Orders" +msgstr "Nalozi u nabavi" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "Zahtjev zaliha br." + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "Zahtjevi zaliha" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +msgid "Stock Rule" +msgstr "Skladišno pravilo" + +#. module: stock_request_purchase +#. odoo-python +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "" + +#. module: stock_request_purchase +#. odoo-python +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/de.po b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/de.po new file mode 100644 index 0000000..dac5f4a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/de.po @@ -0,0 +1,99 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +# Translators: +# Rudolf Schnapka , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2018-03-02 03:44+0000\n" +"Last-Translator: Rudolf Schnapka , 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_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "Einkauf" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Bestellposition" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "Bestellpositionen" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +#, fuzzy +msgid "Purchase Orders" +msgstr "Bestellpositionen" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "Bestandsanforderung" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +#, fuzzy +msgid "Stock Request Order" +msgstr "Bestandsanforderung" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "Bestandsanforderungen" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +#, fuzzy +msgid "Stock Rule" +msgstr "Bestandsanforderung" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/es.po new file mode 100644 index 0000000..c11fb95 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/es.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +# Translators: +# enjolras , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-02 03:44+0000\n" +"PO-Revision-Date: 2023-10-15 20:36+0000\n" +"Last-Translator: Ivorra78 \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" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "Compra" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "Conteo de compras" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "Pedido de compra" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Línea de pedido de compra" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "Líneas de pedido de compra" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +msgid "Purchase Orders" +msgstr "Pedidos de compras" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "Solicitud de existencias" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "Solicitud de existencias #" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +msgid "Stock Request Order" +msgstr "Pedido de existencias" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "Solicitudes de existencias" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +msgid "Stock Rule" +msgstr "Regla de Abastecimiento" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "" +"No puede unir una línea de un pedido de compras a una solicitud de " +"existencias que pertenece a otra compañía." + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "" +"Ha seleccionada una línea de pedido de compras que pertenece a otra compañía." diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/it.po new file mode 100644 index 0000000..424f4c8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/it.po @@ -0,0 +1,98 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-18 09:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "Acquisto" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "Conteggio acquisti" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "Ordine di acquisto" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "Riga ordine di acquisto" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "Righe ordine di acquisto" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +msgid "Purchase Orders" +msgstr "Ordini di acquisto" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "Richiesta di magazzino" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "N° richieste di magazzino" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "Richieste di magazzino" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +msgid "Stock Rule" +msgstr "Regola di giacenza" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "" +"Non puoi collegare un ordine di acquisto ad una richiesta di magazzino che " +"appartiene ad un'altra azienda." + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "" +"È stata collegata una riga ordine di acquisto che appartiene ad un'altra " +"azienda." diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/stock_request_purchase.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/stock_request_purchase.pot new file mode 100644 index 0000000..1236660 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/stock_request_purchase.pot @@ -0,0 +1,93 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +msgid "Purchase Orders" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +msgid "Stock Rule" +msgstr "" + +#. module: stock_request_purchase +#. odoo-python +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "" + +#. module: stock_request_purchase +#. odoo-python +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/zh_CN.po new file mode 100644 index 0000000..e408bae --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/i18n/zh_CN.po @@ -0,0 +1,94 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_purchase +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request_purchase +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.view_stock_request_form +msgid "Purchase" +msgstr "采购" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_count +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_count +msgid "Purchase Count" +msgstr "" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order +msgid "Purchase Order" +msgstr "采购订单" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_purchase_order_line +msgid "Purchase Order Line" +msgstr "采购订单行" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_line_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_line_ids +msgid "Purchase Order Lines" +msgstr "采购订单行" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request__purchase_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_stock_request_order__purchase_ids +msgid "Purchase Orders" +msgstr "采购订单" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_count +msgid "Stock Request #" +msgstr "库存请求 #" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_request_order +msgid "Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request_purchase +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order__stock_request_ids +#: model:ir.model.fields,field_description:stock_request_purchase.field_purchase_order_line__stock_request_ids +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_purchase.purchase_order_line_form2 +msgid "Stock Requests" +msgstr "库存请求" + +#. module: stock_request_purchase +#: model:ir.model,name:stock_request_purchase.model_stock_rule +msgid "Stock Rule" +msgstr "库存规则" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/purchase_order_line.py:0 +#, python-format +msgid "" +"You cannot link a purchase order line to a stock request that belongs to " +"another company." +msgstr "您无法将采购订单行链接到属于另一家公司的库存请求。" + +#. module: stock_request_purchase +#: code:addons/stock_request_purchase/models/stock_request.py:0 +#, python-format +msgid "" +"You have linked to a purchase order line that belongs to another company." +msgstr "您已链接到属于另一家公司的采购订单行。" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/__init__.py new file mode 100644 index 0000000..8e8f649 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/__init__.py @@ -0,0 +1,5 @@ +from . import purchase_order +from . import purchase_order_line +from . import stock_rule +from . import stock_request +from . import stock_request_order diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order.py new file mode 100644 index 0000000..9c42c2d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order.py @@ -0,0 +1,45 @@ +# Copyright 2017-20 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class PurchaseOrder(models.Model): + _inherit = "purchase.order" + + stock_request_ids = fields.Many2many( + comodel_name="stock.request", + string="Stock Requests", + compute="_compute_stock_request_ids", + ) + stock_request_count = fields.Integer( + "Stock Request #", compute="_compute_stock_request_ids" + ) + + @api.depends("order_line") + def _compute_stock_request_ids(self): + for rec in self: + rec.stock_request_ids = rec.order_line.mapped("stock_request_ids") + rec.stock_request_count = len(rec.stock_request_ids) + + def _get_stock_requests(self): + """Get all stock requests from action (allows inheritance by other modules).""" + return self.mapped("stock_request_ids") + + def action_view_stock_request(self): + """ + :return dict: dictionary value for created view + """ + action = self.env["ir.actions.act_window"]._for_xml_id( + "stock_request.action_stock_request_form" + ) + + requests = self._get_stock_requests() + if len(requests) > 1: + action["domain"] = [("id", "in", requests.ids)] + elif requests: + action["views"] = [ + (self.env.ref("stock_request.view_stock_request_form").id, "form") + ] + action["res_id"] = requests.id + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order_line.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order_line.py new file mode 100644 index 0000000..ace34fd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/purchase_order_line.py @@ -0,0 +1,69 @@ +# Copyright 2017-20 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class PurchaseOrderLine(models.Model): + _inherit = "purchase.order.line" + + stock_request_ids = fields.Many2many( + comodel_name="stock.request", string="Stock Requests", copy=False + ) + + def unlink(self): + """ + Cancel the stock.request + related to the purchase order line + because it does not occur automatically + and causes inconsistency by keeping the SR state as 'In Progress' (open). + """ + stock_request_to_cancel = self.env["stock.request"] + for purchase_line in self: + stock_request_to_cancel |= purchase_line.stock_request_ids + res = super().unlink() + if stock_request_to_cancel: + stock_request_to_cancel.action_cancel() + return res + + def _prepare_stock_moves(self, picking): + res = super()._prepare_stock_moves(picking) + for re in res: + re["allocation_ids"] = [ + ( + 0, + 0, + { + "stock_request_id": request.id, + "requested_product_uom_qty": request.product_qty, + }, + ) + for request in self.stock_request_ids + ] + return res + + @api.model + def _prepare_purchase_order_line_from_procurement( + self, product_id, product_qty, product_uom, company_id, values, po + ): + vals = super()._prepare_purchase_order_line_from_procurement( + product_id, product_qty, product_uom, company_id, values, po + ) + if "stock_request_id" in values: + vals["stock_request_ids"] = [(4, values["stock_request_id"])] + return vals + + @api.constrains("stock_request_ids") + def _check_purchase_company_constrains(self): + if any( + any(req.company_id != pol.company_id for req in pol.stock_request_ids) + for pol in self + ): + raise ValidationError( + _( + "You cannot link a purchase order line " + "to a stock request that belongs to " + "another company." + ) + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request.py new file mode 100644 index 0000000..b2d1c36 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request.py @@ -0,0 +1,63 @@ +# Copyright 2017-20 ForgeFlow S.L. (https://www.forgeflow.com) +# Copyright 2023 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockRequest(models.Model): + _inherit = "stock.request" + + purchase_ids = fields.One2many( + "purchase.order", + compute="_compute_purchase_ids", + string="Purchase Orders", + readonly=True, + ) + purchase_count = fields.Integer(compute="_compute_purchase_ids", readonly=True) + purchase_line_ids = fields.Many2many( + "purchase.order.line", string="Purchase Order Lines", readonly=True, copy=False + ) + + @api.depends("purchase_line_ids") + def _compute_purchase_ids(self): + for request in self: + request.purchase_ids = request.purchase_line_ids.mapped("order_id") + request.purchase_count = len(request.purchase_ids) + + @api.constrains("purchase_line_ids", "company_id") + def _check_purchase_company_constrains(self): + if any( + any(line.company_id != req.company_id for line in req.purchase_line_ids) + for req in self + ): + raise ValidationError( + _( + "You have linked to a purchase order line " + "that belongs to another company." + ) + ) + + def action_cancel(self): + """Propagate the cancellation to the generated purchase orders.""" + res = super().action_cancel() + if not self.env.context.get("skip_cancel_po_from_stock_request"): + self.sudo().purchase_ids.filtered( + lambda x: x.state not in ("purchase", "done", "cancel") + and x.stock_request_ids == self + ).button_cancel() + return res + + def action_view_purchase(self): + action = self.env["ir.actions.act_window"]._for_xml_id("purchase.purchase_rfq") + + purchases = self.mapped("purchase_ids") + if len(purchases) > 1: + action["domain"] = [("id", "in", purchases.ids)] + elif purchases: + action["views"] = [ + (self.env.ref("purchase.purchase_order_form").id, "form") + ] + action["res_id"] = purchases.id + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request_order.py new file mode 100644 index 0000000..f5fad3d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_request_order.py @@ -0,0 +1,46 @@ +# Copyright 2018 Creu Blanca +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import api, fields, models + + +class StockRequestOrder(models.Model): + _inherit = "stock.request.order" + + purchase_ids = fields.One2many( + "purchase.order", + compute="_compute_purchase_ids", + string="Purchase Orders", + readonly=True, + ) + purchase_count = fields.Integer(compute="_compute_purchase_ids", readonly=True) + purchase_line_ids = fields.Many2many( + "purchase.order.line", + compute="_compute_purchase_ids", + string="Purchase Order Lines", + readonly=True, + copy=False, + ) + + @api.depends("stock_request_ids") + def _compute_purchase_ids(self): + for req in self: + req.purchase_ids = req.stock_request_ids.mapped("purchase_ids") + req.purchase_line_ids = req.stock_request_ids.mapped("purchase_line_ids") + req.purchase_count = len(req.purchase_ids) + + def action_view_purchase(self): + action = self.env["ir.actions.act_window"]._for_xml_id("purchase.purchase_rfq") + purchases = self.mapped("purchase_ids") + if len(purchases) > 1: + action["domain"] = [("id", "in", purchases.ids)] + action["views"] = [ + (self.env.ref("purchase.purchase_order_tree").id, "tree"), + (self.env.ref("purchase.purchase_order_form").id, "form"), + ] + elif purchases: + action["views"] = [ + (self.env.ref("purchase.purchase_order_form").id, "form") + ] + action["res_id"] = purchases.id + return action diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_rule.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_rule.py new file mode 100644 index 0000000..1597f3f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/models/stock_rule.py @@ -0,0 +1,18 @@ +# Copyright 2017-20 ForgeFlow S.L. (https://www.forgeflow.com). +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import models + + +class StockRule(models.Model): + _inherit = "stock.rule" + + def _update_purchase_order_line( + self, product_id, product_qty, product_uom, company_id, values, line + ): + vals = super()._update_purchase_order_line( + product_id, product_qty, product_uom, company_id, values, line + ) + if "stock_request_id" in values: + vals["stock_request_ids"] = [(4, values["stock_request_id"])] + return vals diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..c15f226 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/CONTRIBUTORS.rst @@ -0,0 +1,6 @@ +* Jordi Ballester . +* Enric Tobella +* Kitti Upariphutthiphong +* Alan Ramos +* Urvisha Desai +* Bruno Zanotti diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/DESCRIPTION.rst new file mode 100644 index 0000000..19deddb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module allows for users to be able to display purchase orders that have +been created as a consequence of Stock Requests. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/ROADMAP.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/ROADMAP.rst new file mode 100644 index 0000000..24b3106 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/ROADMAP.rst @@ -0,0 +1,2 @@ +* When a Stock Request is cancelled, it does not cancel the quantity included + in the Purchase Order. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/USAGE.rst new file mode 100644 index 0000000..290342f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/readme/USAGE.rst @@ -0,0 +1,3 @@ +In case that the confirmation of the Stock Request results in an immediate +Purchase Order, the user will be able to display the PO's from the Stock +Request form view. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/security/ir.model.access.csv b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/security/ir.model.access.csv new file mode 100644 index 0000000..4aaccb8 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_request_purchase_user,stock.request purchase user,stock_request.model_stock_request,purchase.group_purchase_user,1,0,0,0 +access_stock_request_allocation_purchase_user,stock request allocation purchase user,stock_request.model_stock_request_allocation,purchase.group_purchase_user,1,0,0,0 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f6a65aca34c7c1a714b1f88277d7295a992a72 GIT binary patch literal 15218 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 Dg&Jzd literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/index.html new file mode 100644 index 0000000..ddc2742 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/static/description/index.html @@ -0,0 +1,446 @@ + + + + + +Stock Request Purchase + + + +
    +

    Stock Request Purchase

    + + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module allows for users to be able to display purchase orders that have +been created as a consequence of Stock Requests.

    +

    Table of contents

    + +
    +

    Usage

    +

    In case that the confirmation of the Stock Request results in an immediate +Purchase Order, the user will be able to display the PO’s from the Stock +Request form view.

    +
    +
    +

    Known issues / Roadmap

    +
      +
    • When a Stock Request is cancelled, it does not cancel the quantity included +in the Purchase Order.
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • ForgeFlow
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    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.

    +

    Current maintainers:

    +

    LoisRForgeFlow etobella

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/__init__.py new file mode 100644 index 0000000..114d97f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_request_purchase diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/test_stock_request_purchase.py b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/test_stock_request_purchase.py new file mode 100644 index 0000000..f5fab80 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/tests/test_stock_request_purchase.py @@ -0,0 +1,292 @@ +# Copyright 2016-20 ForgeFlow S.L. (https://www.forgeflow.com) +# Copyright 2023 Tecnativa - Víctor Martínez +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). + +from odoo import fields + +from odoo.addons.stock_request.tests.test_stock_request import TestStockRequest + + +class TestStockRequestPurchase(TestStockRequest): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.route_buy = cls.warehouse.buy_pull_id.route_id + cls.supplier = cls.env["res.partner"].create({"name": "Supplier"}) + cls.product.write( + { + "route_ids": [(6, 0, cls.route_buy.ids)], + "seller_ids": [(0, 0, {"partner_id": cls.supplier.id, "delay": 5})], + } + ) + + def test_create_request_01(self): + """Single Stock request with buy rule""" + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = ( + self.env["stock.request.order"] + .with_user(self.stock_request_user) + .create(vals) + ) + + order.action_confirm() + self.assertEqual(order.state, "open") + self.assertEqual(order.stock_request_ids.state, "open") + + order.invalidate_recordset() + self.assertEqual(len(order.sudo().purchase_ids), 1) + self.assertEqual(len(order.picking_ids), 0) + self.assertEqual(len(order.move_ids), 0) + self.assertEqual(len(order.stock_request_ids.sudo().purchase_ids), 1) + self.assertEqual(len(order.stock_request_ids.picking_ids), 0) + self.assertEqual(len(order.stock_request_ids.move_ids), 0) + self.assertEqual(order.stock_request_ids.qty_in_progress, 0.0) + + purchase = order.sudo().purchase_ids[0] + self.assertEqual(purchase.company_id, order.stock_request_ids[0].company_id) + purchase.button_confirm() + picking = purchase.picking_ids[0] + picking.action_confirm() + + self.assertEqual(order.stock_request_ids.qty_in_progress, 5.0) + self.assertEqual(order.stock_request_ids.qty_done, 0.0) + + picking.action_assign() + packout1 = picking.move_line_ids[0] + packout1.qty_done = 5 + picking.button_validate() + + self.assertEqual(order.stock_request_ids.qty_in_progress, 0.0) + self.assertEqual( + order.stock_request_ids.qty_done, order.stock_request_ids.product_uom_qty + ) + self.assertEqual(order.stock_request_ids.state, "done") + self.assertEqual(order.state, "done") + + def test_create_request_02(self): + """Multiple Stock requests with buy rule""" + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + + stock_request_1 = self.stock_request.with_user(self.stock_request_user).create( + vals + ) + stock_request_2 = self.stock_request.with_user( + self.stock_request_manager + ).create(vals) + + stock_request_1.action_confirm() + self.assertEqual( + sum(stock_request_1.sudo().purchase_line_ids.mapped("product_qty")), 5 + ) + + stock_request_2.with_user(self.stock_request_manager).sudo().action_confirm() + + self.assertEqual( + sum(stock_request_2.sudo().purchase_line_ids.mapped("product_qty")), 10 + ) + + stock_request_1.invalidate_recordset() + stock_request_2.invalidate_recordset() + + self.assertEqual(len(stock_request_1.sudo().purchase_ids), 1) + self.assertEqual(len(stock_request_2.sudo().purchase_ids), 1) + self.assertEqual(len(stock_request_1.sudo().purchase_ids), 1) + self.assertEqual(len(stock_request_2.sudo().purchase_line_ids), 1) + self.assertEqual( + stock_request_1.sudo().purchase_ids, stock_request_2.sudo().purchase_ids + ) + self.assertEqual( + stock_request_1.sudo().purchase_line_ids, + stock_request_2.sudo().purchase_line_ids, + ) + + purchase = stock_request_1.sudo().purchase_ids[0] + + purchase.button_confirm() + picking = purchase.picking_ids[0] + picking.action_confirm() + + self.assertEqual(stock_request_1.qty_in_progress, 5.0) + self.assertEqual(stock_request_1.qty_done, 0.0) + self.assertEqual(stock_request_2.qty_in_progress, 5.0) + self.assertEqual(stock_request_2.qty_done, 0.0) + + picking.action_assign() + packout1 = picking.move_line_ids[0] + packout1.qty_done = 10 + picking.button_validate() + + self.assertEqual(stock_request_1.qty_in_progress, 0.0) + self.assertEqual(stock_request_1.qty_done, stock_request_1.product_uom_qty) + + self.assertEqual(stock_request_2.qty_in_progress, 0.0) + self.assertEqual(stock_request_2.qty_done, stock_request_2.product_uom_qty) + + def test_create_request_cancel_purchase(self): + vals = { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + } + stock_request = self.stock_request.with_user(self.stock_request_user).create( + vals + ) + stock_request.action_confirm() + self.assertEqual(stock_request.purchase_ids.state, "draft") + stock_request.action_cancel() + self.assertEqual(stock_request.purchase_ids.state, "cancel") + + def test_unlink_purchase_order_line(self): + """ + Test that when a purchase order line is unlinked, + the related stock requests are cancelled + """ + expected_date = fields.Datetime.now() + product2 = self._create_product( + "P2", + "product2", + False, + route_ids=[(6, 0, self.route_buy.ids)], + seller_ids=[(0, 0, {"partner_id": self.supplier.id, "delay": 5})], + ) + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 10.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ), + ( + 0, + 0, + { + "product_id": product2.id, + "product_uom_id": product2.uom_id.id, + "product_uom_qty": 20.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ), + ], + } + + order = ( + self.env["stock.request.order"] + .with_user(self.stock_request_user) + .create(vals) + ) + + order.action_confirm() + self.assertEqual(order.state, "open") + self.assertEqual(len(order.purchase_ids), 1) + purchase = order.purchase_ids[0] + purchase_line1 = purchase.order_line.filtered( + lambda x: x.product_id == self.product + ) + purchase_line2 = purchase.order_line.filtered( + lambda x: x.product_id == product2 + ) + stock_request1 = order.stock_request_ids.filtered( + lambda x: x.product_id == self.product + ) + stock_request2 = order.stock_request_ids.filtered( + lambda x: x.product_id == product2 + ) + purchase_line1.sudo().unlink() + self.assertEqual(stock_request1.state, "cancel") + self.assertEqual(order.state, "open") + purchase_line2.sudo().unlink() + self.assertEqual(stock_request2.state, "cancel") + self.assertEqual(order.state, "cancel") + + def test_view_actions(self): + expected_date = fields.Datetime.now() + vals = { + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": self.product.id, + "product_uom_id": self.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": self.main_company.id, + "warehouse_id": self.warehouse.id, + "location_id": self.warehouse.lot_stock_id.id, + "expected_date": expected_date, + }, + ) + ], + } + + order = self.env["stock.request.order"].sudo().create(vals) + + order.action_confirm() + + stock_request = order.stock_request_ids + + action = stock_request.action_view_purchase() + + self.assertEqual(action["domain"], "[]") + self.assertEqual("views" in action.keys(), True) + self.assertEqual(action["res_id"], stock_request.purchase_ids[0].id) + + action = stock_request.purchase_ids[0].action_view_stock_request() + self.assertEqual(action["type"], "ir.actions.act_window") + self.assertEqual(action["res_id"], stock_request.id) + + action = order.action_view_purchase() + + self.assertEqual(action["domain"], "[]") + self.assertEqual("views" in action.keys(), True) + self.assertEqual(action["res_id"], order.purchase_ids[0].id) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/purchase_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/purchase_order_views.xml new file mode 100644 index 0000000..f8e6da3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/purchase_order_views.xml @@ -0,0 +1,52 @@ + + + + + purchase.order.form + purchase.order + + + + + + + + + + + + + + purchase.order.line.form2 + purchase.order.line + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_order_views.xml new file mode 100644 index 0000000..49130cf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_order_views.xml @@ -0,0 +1,29 @@ + + + + + stock.request.order.form + stock.request.order + + +
    + + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_views.xml new file mode 100644 index 0000000..02083ea --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_purchase/stock_request_purchase/views/stock_request_views.xml @@ -0,0 +1,29 @@ + + + + + stock.request.form + stock.request + + +
    + + +
    +
    +
    +
    diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/README.md new file mode 100644 index 0000000..9a9f7c3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/README.md @@ -0,0 +1,46 @@ +# Stock Request Submit + +Odoo addon: stock_request_submit + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_submit +``` + +## Dependencies + +This addon depends on: +- stock_request + +## Manifest Information + +- **Name**: Stock Request Submit +- **Version**: 16.0.1.0.0 +- **Category**: Warehouse Management +- **License**: LGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_submit`. + +## License + +This package maintains the original LGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/ARCHITECTURE.md new file mode 100644 index 0000000..84da1ad --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_submit Module - stock_request_submit + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONFIGURATION.md new file mode 100644 index 0000000..f4970f5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_submit. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/DEPENDENCIES.md new file mode 100644 index 0000000..8b8e658 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/FAQ.md new file mode 100644 index 0000000..e6eddcc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_submit or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/INSTALL.md new file mode 100644 index 0000000..0af81dc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_submit" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_submit" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/MODELS.md new file mode 100644 index 0000000..4dfe21e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_request_submit. + +```mermaid +classDiagram + class stock_request + class stock_request_order +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/OVERVIEW.md new file mode 100644 index 0000000..21c8e57 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_submit. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_submit +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/USAGE.md new file mode 100644 index 0000000..0b8a83b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_submit +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/pyproject.toml new file mode 100644 index 0000000..cbe83fd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_submit" +version = "16.0.0" +description = "Stock Request Submit - Add submit state on Stock Requests" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_submit"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/README.rst new file mode 100644 index 0000000..beaa110 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/README.rst @@ -0,0 +1,86 @@ +==================== +Stock Request Submit +==================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:58b1fc8b1d2fe13baff1e03ec80605137809dde2e27289418415b3b0f8a0d308 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png + :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html + :alt: License: LGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_submit + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_submit + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module adds a new state 'Submitted' to Stock Request. + +The porpose of this state is to allow Supervisors to validate the submitted +request enabling them to correct Routes if required. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Open Source Integrators + +Contributors +~~~~~~~~~~~~ + +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + * Urvisha Desai + +* Héctor Villarreal Ortega +* Pimolnat Suntian + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__init__.py new file mode 100644 index 0000000..071962a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__init__.py @@ -0,0 +1,2 @@ +from . import models +from .hooks import uninstall_hook diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__manifest__.py new file mode 100644 index 0000000..7dc7d9a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/__manifest__.py @@ -0,0 +1,17 @@ +# Copyright 2019 Open Source Integrators +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Stock Request Submit", + "summary": "Add submit state on Stock Requests", + "version": "16.0.1.0.0", + "license": "LGPL-3", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "Open Source Integrators, Odoo Community Association (OCA)", + "category": "Warehouse Management", + "depends": ["stock_request"], + "data": ["views/stock_request_order_views.xml", "views/stock_request_views.xml"], + "installable": True, + "uninstall_hook": "uninstall_hook", +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/hooks.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/hooks.py new file mode 100644 index 0000000..1cbb1e0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/hooks.py @@ -0,0 +1,11 @@ +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo import SUPERUSER_ID, api + + +def uninstall_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + sr = env["stock.request"].search([("state", "=", "submitted")]) + sr.write({"state": "draft"}) + sro = env["stock.request.order"].search([("state", "=", "submitted")]) + sro.write({"state": "draft"}) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/bs.po new file mode 100644 index 0000000..1eeea64 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/bs.po @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_submit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__route_id +msgid "Route" +msgstr "Smjer" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__state +msgid "Status" +msgstr "Status" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request_order +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request_submit +#: model_terms:ir.ui.view,arch_db:stock_request_submit.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_submit.view_stock_request_form +msgid "Submit" +msgstr "Podnesi" + +#. module: stock_request_submit +#: model:ir.model.fields.selection,name:stock_request_submit.selection__stock_request__state__submitted +msgid "Submitted" +msgstr "Podneseno" + +#. module: stock_request_submit +#. odoo-python +#: code:addons/stock_request_submit/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for submiting the order." +msgstr "Treba biti najmanje jedna stavka zahtjeva za podnošenje narudžbe." diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/es.po new file mode 100644 index 0000000..ad71108 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/es.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_submit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-01-26 16:20+0000\n" +"PO-Revision-Date: 2023-01-26 17:20+0100\n" +"Last-Translator: Víctor Martínez \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 3.0.1\n" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__route_id +msgid "Route" +msgstr "Ruta" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__state +msgid "Status" +msgstr "Estado" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request +msgid "Stock Request" +msgstr "Solicitud de existencias" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request_order +msgid "Stock Request Order" +msgstr "Pedido de existencias" + +#. module: stock_request_submit +#: model_terms:ir.ui.view,arch_db:stock_request_submit.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_submit.view_stock_request_form +msgid "Submit" +msgstr "Enviar" + +#. module: stock_request_submit +#: model:ir.model.fields.selection,name:stock_request_submit.selection__stock_request__state__submitted +msgid "Submitted" +msgstr "Enviado" + +#. module: stock_request_submit +#. odoo-python +#: code:addons/stock_request_submit/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for submiting the order." +msgstr "Debe haber al menos un elemento de solicitud para enviar el pedido." diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/it.po new file mode 100644 index 0000000..a9a83a6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/it.po @@ -0,0 +1,56 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_submit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-12-18 09:34+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__route_id +msgid "Route" +msgstr "Percorso" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__state +msgid "Status" +msgstr "Stato" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request +msgid "Stock Request" +msgstr "Richiesta di magazzino" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request_order +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request_submit +#: model_terms:ir.ui.view,arch_db:stock_request_submit.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_submit.view_stock_request_form +msgid "Submit" +msgstr "Invia" + +#. module: stock_request_submit +#: model:ir.model.fields.selection,name:stock_request_submit.selection__stock_request__state__submitted +msgid "Submitted" +msgstr "Inviata" + +#. module: stock_request_submit +#. odoo-python +#: code:addons/stock_request_submit/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for submiting the order." +msgstr "" +"Deve essere presente almeno un elemento richiesta per inviare l'ordine." diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/stock_request_submit.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/stock_request_submit.pot new file mode 100644 index 0000000..460ba52 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/stock_request_submit.pot @@ -0,0 +1,52 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_submit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__route_id +msgid "Route" +msgstr "" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__state +msgid "Status" +msgstr "" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request +msgid "Stock Request" +msgstr "" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request_submit +#: model_terms:ir.ui.view,arch_db:stock_request_submit.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_submit.view_stock_request_form +msgid "Submit" +msgstr "" + +#. module: stock_request_submit +#: model:ir.model.fields.selection,name:stock_request_submit.selection__stock_request__state__submitted +msgid "Submitted" +msgstr "" + +#. module: stock_request_submit +#. odoo-python +#: code:addons/stock_request_submit/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for submiting the order." +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/zh_CN.po new file mode 100644 index 0000000..250115d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/i18n/zh_CN.po @@ -0,0 +1,55 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_submit +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2019-10-16 15:58+0000\n" +"Last-Translator: 黎伟杰 <674416404@qq.com>\n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.8\n" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__route_id +msgid "Route" +msgstr "路线" + +#. module: stock_request_submit +#: model:ir.model.fields,field_description:stock_request_submit.field_stock_request__state +msgid "Status" +msgstr "" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request_submit +#: model:ir.model,name:stock_request_submit.model_stock_request_order +msgid "Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request_submit +#: model_terms:ir.ui.view,arch_db:stock_request_submit.stock_request_order_form +#: model_terms:ir.ui.view,arch_db:stock_request_submit.view_stock_request_form +msgid "Submit" +msgstr "提交" + +#. module: stock_request_submit +#: model:ir.model.fields.selection,name:stock_request_submit.selection__stock_request__state__submitted +msgid "Submitted" +msgstr "已提交" + +#. module: stock_request_submit +#. odoo-python +#: code:addons/stock_request_submit/models/stock_request_order.py:0 +#, python-format +msgid "There should be at least one request item for submiting the order." +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/__init__.py new file mode 100644 index 0000000..3255e7e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/__init__.py @@ -0,0 +1,2 @@ +from . import stock_request +from . import stock_request_order diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request.py new file mode 100644 index 0000000..cf8fd23 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request.py @@ -0,0 +1,28 @@ +# Copyright 2019 Open Source Integrators +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import fields, models + + +class StockRequest(models.Model): + _inherit = "stock.request" + + state = fields.Selection(selection_add=[("submitted", "Submitted"), ("open",)]) + + route_id = fields.Many2one( + states={"draft": [("readonly", False)], "submitted": [("readonly", False)]} + ) + + def action_submit(self): + self._action_submit() + + def _action_submit(self): + self.state = "submitted" + + def _skip_procurement(self): + return ( + super()._skip_procurement() + and self.state != "submitted" + or self.product_id.type not in ("consu", "product") + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request_order.py new file mode 100644 index 0000000..985d9f7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/models/stock_request_order.py @@ -0,0 +1,20 @@ +# Copyright 2019 Open Source Integrators +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html). + +from odoo import _, models +from odoo.exceptions import UserError + + +class StockRequestOrder(models.Model): + _inherit = "stock.request.order" + + def action_submit(self): + if not self.stock_request_ids: + raise UserError( + _("There should be at least one request item for submiting the order.") + ) + for line in self.stock_request_ids: + line.action_submit() + self.state = "submitted" + return True diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..89679cf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/CONTRIBUTORS.rst @@ -0,0 +1,8 @@ +* `Open Source Integrators `_ + + * Maxime Chambreuil + * Steve Campbell + * Urvisha Desai + +* Héctor Villarreal Ortega +* Pimolnat Suntian diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/DESCRIPTION.rst new file mode 100644 index 0000000..b7de78a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/readme/DESCRIPTION.rst @@ -0,0 +1,4 @@ +This module adds a new state 'Submitted' to Stock Request. + +The porpose of this state is to allow Supervisors to validate the submitted +request enabling them to correct Routes if required. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/index.html new file mode 100644 index 0000000..601b39e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/static/description/index.html @@ -0,0 +1,430 @@ + + + + + + +Stock Request Submit + + + +
    +

    Stock Request Submit

    + + +

    Beta License: LGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module adds a new state ‘Submitted’ to Stock Request.

    +

    The porpose of this state is to allow Supervisors to validate the submitted +request enabling them to correct Routes if required.

    +

    Table of contents

    + +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Open Source Integrators
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    +Odoo Community Association +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/__init__.py new file mode 100644 index 0000000..a5ec52c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_request_submit diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/test_stock_request_submit.py b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/test_stock_request_submit.py new file mode 100644 index 0000000..90704dd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/tests/test_stock_request_submit.py @@ -0,0 +1,59 @@ +# Copyright 2017-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). + +from odoo import fields + +from odoo.addons.stock_request.tests.test_stock_request import TestStockRequest + +from ..hooks import uninstall_hook + + +class TestStockRequestSubmit(TestStockRequest): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.product.route_ids = [(6, 0, cls.route.ids)] + vals = { + "company_id": cls.main_company.id, + "warehouse_id": cls.warehouse.id, + "location_id": cls.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + "stock_request_ids": [ + ( + 0, + 0, + { + "product_id": cls.product.id, + "product_uom_id": cls.product.uom_id.id, + "product_uom_qty": 5.0, + "company_id": cls.main_company.id, + "warehouse_id": cls.warehouse.id, + "location_id": cls.warehouse.lot_stock_id.id, + "expected_date": fields.Datetime.now(), + }, + ) + ], + } + cls.order = cls.request_order.with_user(cls.stock_request_user).create(vals) + cls.stock_request = cls.order.stock_request_ids + + def test_stock_request_submit(self): + self.order.action_submit() + self.assertEqual(self.order.state, "submitted") + self.assertEqual(self.stock_request.state, "submitted") + self.order.with_user(self.stock_request_manager).action_confirm() + self.assertEqual(self.order.state, "open") + self.assertEqual(self.stock_request.state, "open") + + def test_uninstall_hook(self): + # Check state before uninstall + self.order.action_submit() + self.assertEqual(self.order.state, "submitted") + self.assertEqual(self.stock_request.state, "submitted") + + # Uninstall this module + uninstall_hook(self.cr, self.registry) + + # Check state after uninstall + self.assertEqual(self.order.state, "draft") + self.assertEqual(self.stock_request.state, "draft") diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_order_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_order_views.xml new file mode 100644 index 0000000..d870f7b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_order_views.xml @@ -0,0 +1,41 @@ + + + + stock.request.order.form + stock.request.order + + + + + + + + {'readonly': [('state', 'not in', ['draft', 'submitted'])]} + + + {'readonly': [('state', 'not in', ['draft', 'submitted'])]} + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_views.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_views.xml new file mode 100644 index 0000000..4fc7ded --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_submit/stock_request_submit/views/stock_request_views.xml @@ -0,0 +1,31 @@ + + + + stock.request.form + stock.request + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/README.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/README.md new file mode 100644 index 0000000..5c85612 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/README.md @@ -0,0 +1,47 @@ +# Stock Request Tier Validation + +Odoo addon: stock_request_tier_validation + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation +``` + +## Dependencies + +This addon depends on: +- stock_request +- base_tier_validation + +## Manifest Information + +- **Name**: Stock Request Tier Validation +- **Version**: 16.0.2.0.0 +- **Category**: Warehouse +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-request](https://github.com/OCA/stock-logistics-request) branch 16.0, addon `stock_request_tier_validation`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/ARCHITECTURE.md new file mode 100644 index 0000000..27a59be --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_request_tier_validation Module - stock_request_tier_validation + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONFIGURATION.md new file mode 100644 index 0000000..1633b72 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_request_tier_validation. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7ab9602 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock_request](https://github.com/bringout/oca-technical) +- [base_tier_validation](https://github.com/bringout/oca-technical) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/FAQ.md new file mode 100644 index 0000000..528d8d0 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_request_tier_validation or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/INSTALL.md new file mode 100644 index 0000000..da6bb48 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation" +# or +uv pip install odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation" +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/MODELS.md new file mode 100644 index 0000000..333dd79 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/MODELS.md @@ -0,0 +1,14 @@ +# Models + +Detected core models and extensions in stock_request_tier_validation. + +```mermaid +classDiagram + class stock_request + class stock_request_order + class tier_definition +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/OVERVIEW.md new file mode 100644 index 0000000..23252ac --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_request_tier_validation. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_request_tier_validation +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/SECURITY.md new file mode 100644 index 0000000..e07da9d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/SECURITY.md @@ -0,0 +1,8 @@ +# Security + +This module does not define custom security rules or access controls beyond Odoo defaults. + +Default Odoo security applies: +- Base user access through standard groups +- Model access inherited from dependencies +- No custom row-level security rules diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/USAGE.md new file mode 100644 index 0000000..50095f6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_request_tier_validation +``` diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/pyproject.toml b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/pyproject.toml new file mode 100644 index 0000000..c3ef209 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation" +version = "16.0.0" +description = "Stock Request Tier Validation - Extends the functionality of Stock Requests to support a tier validation process." +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-stock-logistics-request-stock_request>=16.0.0", + "odoo-bringout-oca-stock-logistics-request-base_tier_validation>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_request_tier_validation"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/README.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/README.rst new file mode 100644 index 0000000..0e972ee --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/README.rst @@ -0,0 +1,137 @@ +.. image:: https://odoo-community.org/readme-banner-image + :target: https://odoo-community.org/get-involved?utm_source=readme + :alt: Odoo Community Association + +============================= +Stock Request Tier Validation +============================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:6f509ec814907d8af0cca167ad7d4b2f554d9f4007bf4c46bb9206321f4b8b49 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--request-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-request/tree/16.0/stock_request_tier_validation + :alt: OCA/stock-logistics-request +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-request-16-0/stock-logistics-request-16-0-stock_request_tier_validation + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-request&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of Stock Requests and Stock Request +Orders to support a tier validation process. + +**Table of contents** + +.. contents:: + :local: + +Installation +============ + +This module depends on ``base_tier_validation``. You can find it at +`OCA/server-ux `_ + +Configuration +============= + +A default tier is created allowing Stock Request Manager to approve Stock +Request and Stock Request Orders. + +In addition, you may want to add more tiers, so: + +#. Go to *Settings > Technical > Tier Validations > Tier Definition*. +#. Create as many tiers as you want for Stock Request model. + +Usage +===== + +To use this module, you need to: + +#. Create a Stock Request triggering at least one "Tier Definition". +#. Click on *Request Validation* button. +#. Under the tab *Reviews* have a look to pending reviews and their statuses. +#. Once all reviews are validated button to *Confirm* will be shown. + +Additional features: + +* You can filter the Stock Request requesting your review through the filter *Needs my + Review*. +* User with rights to confirm the Stock Request (validate all tiers that would + be generated) can directly do the operation, this is, there is no need for + her/him to request a validation. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ForgeFlow + +Contributors +~~~~~~~~~~~~ + +* Lois Rilo +* Héctor Villarreal +* Pimolnat Suntian + +Other credits +~~~~~~~~~~~~~ + +Images +------ + +* Enric Tobella (logo) + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-LoisRForgeFlow| image:: https://github.com/LoisRForgeFlow.png?size=40px + :target: https://github.com/LoisRForgeFlow + :alt: LoisRForgeFlow +.. |maintainer-etobella| image:: https://github.com/etobella.png?size=40px + :target: https://github.com/etobella + :alt: etobella + +Current `maintainers `__: + +|maintainer-LoisRForgeFlow| |maintainer-etobella| + +This module is part of the `OCA/stock-logistics-request `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__manifest__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__manifest__.py new file mode 100644 index 0000000..94b1048 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/__manifest__.py @@ -0,0 +1,21 @@ +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +{ + "name": "Stock Request Tier Validation", + "summary": "Extends the functionality of Stock Requests to " + "support a tier validation process.", + "version": "16.0.2.0.0", + "category": "Warehouse", + "website": "https://github.com/OCA/stock-logistics-request", + "author": "ForgeFlow, Odoo Community Association (OCA)", + "maintainers": ["LoisRForgeFlow", "etobella"], + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": ["stock_request", "base_tier_validation"], + "data": [ + "data/stock_request_tier_definition.xml", + "views/stock_request_order_view.xml", + "views/stock_request_view.xml", + ], +} diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/data/stock_request_tier_definition.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/data/stock_request_tier_definition.xml new file mode 100644 index 0000000..4029840 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/data/stock_request_tier_definition.xml @@ -0,0 +1,29 @@ + + + + + Manager review + + domain + + group + + False + + + Manager review + + domain + + group + + False + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/bs.po b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/bs.po new file mode 100644 index 0000000..116e99f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/bs.po @@ -0,0 +1,134 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_tier_validation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__can_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__can_review +msgid "Can Review" +msgstr "Može Ovjeriti" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__has_comment +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__has_comment +msgid "Has Comment" +msgstr "Ima komentar" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__is_reevaluation_required +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__is_reevaluation_required +msgid "Is Reevaluation Required" +msgstr "Je li potrebna ponovna procjena" + +#. module: stock_request_tier_validation +#: model:tier.definition,name:stock_request_tier_validation.stock_request_default_tier_definition +#: model:tier.definition,name:stock_request_tier_validation.stock_request_order_default_tier_definition +msgid "Manager review" +msgstr "Pregled menadžera" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "My Stock Request Orders to review" +msgstr "Moje narudžbe zahtjeva zaliha za pregled" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "My Stock Requests to review" +msgstr "Moji zahtjevi zaliha za pregled" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__need_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__need_validation +msgid "Need Validation" +msgstr "Potrebna ovjera" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "Need actions" +msgstr "Potrebne akcije" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Needs my Review" +msgstr "Potrebna moja ovjera" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__next_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__next_review +msgid "Next Review" +msgstr "Sljedeća ovjera" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__rejected_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__rejected_message +msgid "Rejected Message" +msgstr "Poruka uz odbijanje" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__reviewer_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__reviewer_ids +msgid "Reviewers" +msgstr "Ovejritelji" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request +msgid "Stock Request" +msgstr "Zahtjev zaliha" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request_order +msgid "Stock Request Order" +msgstr "Narudžba zahtjeva zaliha" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Stock Requests validated and ready to be confirmed" +msgstr "Zahtjevi zaliha ovjereni i spremni za potvrdu" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_tier_definition +msgid "Tier Definition" +msgstr "Definicija granice" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__to_validate_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__to_validate_message +msgid "To Validate Message" +msgstr "Poruka za ovjeru" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Validated" +msgstr "Odobreno" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validated_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validated_message +msgid "Validated Message" +msgstr "Poruka za ovjereno" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validation_status +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validation_status +msgid "Validation Status" +msgstr "Status ovjeravanja" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__review_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__review_ids +msgid "Validations" +msgstr "Ovjeravanja" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/es.po b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/es.po new file mode 100644 index 0000000..fc8d39f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/es.po @@ -0,0 +1,172 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_tier_validation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-11 15:37+0000\n" +"Last-Translator: Ivorra78 \n" +"Language-Team: none\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__can_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__can_review +msgid "Can Review" +msgstr "Puede Revisar" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__has_comment +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__has_comment +msgid "Has Comment" +msgstr "Tiene Comentario" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__is_reevaluation_required +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__is_reevaluation_required +msgid "Is Reevaluation Required" +msgstr "" + +#. module: stock_request_tier_validation +#: model:tier.definition,name:stock_request_tier_validation.stock_request_default_tier_definition +#: model:tier.definition,name:stock_request_tier_validation.stock_request_order_default_tier_definition +msgid "Manager review" +msgstr "Revisión del gestor" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "My Stock Request Orders to review" +msgstr "Mis Pedidos de Stock para revisar" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "My Stock Requests to review" +msgstr "Mis solicitudes de existencias para revisar" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__need_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__need_validation +msgid "Need Validation" +msgstr "Necesita Validación" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "Need actions" +msgstr "Acción necesaria" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Needs my Review" +msgstr "Necesita mi revisión" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__next_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__next_review +msgid "Next Review" +msgstr "Siguiente Revisión" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__rejected_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__rejected_message +msgid "Rejected Message" +msgstr "Mensaje Rechazado" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__reviewer_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__reviewer_ids +msgid "Reviewers" +msgstr "Revisores" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request +msgid "Stock Request" +msgstr "Solicitud de existencias" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request_order +msgid "Stock Request Order" +msgstr "Pedido de existencias" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Stock Requests validated and ready to be confirmed" +msgstr "Pedido de existencias validadas y preparadas para ser confirmadas" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_tier_definition +msgid "Tier Definition" +msgstr "Definición del nivel" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__to_validate_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__to_validate_message +msgid "To Validate Message" +msgstr "Para validar el mensaje" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Validated" +msgstr "Validada" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validated_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validated_message +msgid "Validated Message" +msgstr "Mensaje Validado" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validation_status +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validation_status +msgid "Validation Status" +msgstr "Estado de la Validación" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__review_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__review_ids +msgid "Validations" +msgstr "Validaciones" + +#~ msgid "Rejected" +#~ msgstr "Rechazado" + +#~ msgid "" +#~ "This Stock Request needs to be\n" +#~ " validated." +#~ msgstr "" +#~ "Esta Solicitud de existencias debe ser\n" +#~ " validada." + +#~ msgid " Operation has been rejected." +#~ msgstr "" +#~ "La operación ha sido rechazada." + +#~ msgid " Operation has been validated!" +#~ msgstr "La operación ha sido validada!" + +#~ msgid "Reject" +#~ msgstr "Rechazar" + +#~ msgid "Request Validation" +#~ msgstr "Solicitar Validación" + +#~ msgid "Restart Validation" +#~ msgstr "Reiniciar Validación" + +#~ msgid "Validate" +#~ msgstr "Validar" + +#~ msgid "Dismiss" +#~ msgstr "Descartar" + +#~ msgid "Tier Review" +#~ msgstr "Revisión de nivel" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/it.po b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/it.po new file mode 100644 index 0000000..3440baf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/it.po @@ -0,0 +1,140 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_tier_validation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-02-18 11:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__can_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__can_review +msgid "Can Review" +msgstr "Può revisionare" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__has_comment +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__has_comment +msgid "Has Comment" +msgstr "Ha commenti" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__is_reevaluation_required +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__is_reevaluation_required +msgid "Is Reevaluation Required" +msgstr "È richiesta la rivalutazione" + +#. module: stock_request_tier_validation +#: model:tier.definition,name:stock_request_tier_validation.stock_request_default_tier_definition +#: model:tier.definition,name:stock_request_tier_validation.stock_request_order_default_tier_definition +msgid "Manager review" +msgstr "Revisione del responsabile" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "My Stock Request Orders to review" +msgstr "I miei ordini richiesta di magazzino da revisionare" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "My Stock Requests to review" +msgstr "Le mie richieste di magazzino da revisionare" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__need_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__need_validation +msgid "Need Validation" +msgstr "Richiede conferma" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "Need actions" +msgstr "Richiedono attività" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Needs my Review" +msgstr "Richiede la mia revisione" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__next_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__next_review +msgid "Next Review" +msgstr "Prossima revisione" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__rejected_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__rejected_message +msgid "Rejected Message" +msgstr "Messaggio di rifiuto" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__reviewer_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__reviewer_ids +msgid "Reviewers" +msgstr "Revisori" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request +msgid "Stock Request" +msgstr "Richiesta di magazzino" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request_order +msgid "Stock Request Order" +msgstr "Ordine richiesta di magazzino" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Stock Requests validated and ready to be confirmed" +msgstr "Richieste di magazzino validate e pronte per essere confermate" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_tier_definition +msgid "Tier Definition" +msgstr "Definizione livello" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__to_validate_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__to_validate_message +msgid "To Validate Message" +msgstr "Messaggio per 'Da validare'" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Validated" +msgstr "Approvata" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validated_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validated_message +msgid "Validated Message" +msgstr "Messaggio per 'Validata'" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validation_status +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validation_status +msgid "Validation Status" +msgstr "Stato validazione" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__review_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__review_ids +msgid "Validations" +msgstr "Validazioni" + +#~ msgid "Rejected" +#~ msgstr "Respinto" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/stock_request_tier_validation.pot b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/stock_request_tier_validation.pot new file mode 100644 index 0000000..646c789 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/stock_request_tier_validation.pot @@ -0,0 +1,134 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_tier_validation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__can_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__can_review +msgid "Can Review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__has_comment +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__has_comment +msgid "Has Comment" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__is_reevaluation_required +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__is_reevaluation_required +msgid "Is Reevaluation Required" +msgstr "" + +#. module: stock_request_tier_validation +#: model:tier.definition,name:stock_request_tier_validation.stock_request_default_tier_definition +#: model:tier.definition,name:stock_request_tier_validation.stock_request_order_default_tier_definition +msgid "Manager review" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "My Stock Request Orders to review" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "My Stock Requests to review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__need_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__need_validation +msgid "Need Validation" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "Need actions" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Needs my Review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__next_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__next_review +msgid "Next Review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__rejected_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__rejected_message +msgid "Rejected Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__reviewer_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__reviewer_ids +msgid "Reviewers" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request +msgid "Stock Request" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request_order +msgid "Stock Request Order" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Stock Requests validated and ready to be confirmed" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_tier_definition +msgid "Tier Definition" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__to_validate_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__to_validate_message +msgid "To Validate Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Validated" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validated_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validated_message +msgid "Validated Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validation_status +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validation_status +msgid "Validation Status" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__review_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__review_ids +msgid "Validations" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/zh_CN.po b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/zh_CN.po new file mode 100644 index 0000000..c4fca58 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/i18n/zh_CN.po @@ -0,0 +1,166 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_request_tier_validation +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2020-04-02 14:19+0000\n" +"Last-Translator: Dong \n" +"Language-Team: none\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 3.10\n" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__can_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__can_review +msgid "Can Review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__has_comment +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__has_comment +msgid "Has Comment" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__is_reevaluation_required +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__is_reevaluation_required +msgid "Is Reevaluation Required" +msgstr "" + +#. module: stock_request_tier_validation +#: model:tier.definition,name:stock_request_tier_validation.stock_request_default_tier_definition +#: model:tier.definition,name:stock_request_tier_validation.stock_request_order_default_tier_definition +msgid "Manager review" +msgstr "管理员审批" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "My Stock Request Orders to review" +msgstr "等待我审核的库存请求单" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "My Stock Requests to review" +msgstr "等待我审核的库存请求" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__need_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__need_validation +msgid "Need Validation" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +msgid "Need actions" +msgstr "需要操作" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Needs my Review" +msgstr "需要我审核" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__next_review +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__next_review +msgid "Next Review" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__rejected_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__rejected_message +msgid "Rejected Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__reviewer_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__reviewer_ids +msgid "Reviewers" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request +msgid "Stock Request" +msgstr "库存请求" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_stock_request_order +msgid "Stock Request Order" +msgstr "库存请求单" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Stock Requests validated and ready to be confirmed" +msgstr "库存请求已批准并等待确认" + +#. module: stock_request_tier_validation +#: model:ir.model,name:stock_request_tier_validation.model_tier_definition +msgid "Tier Definition" +msgstr "层级定义" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__to_validate_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__to_validate_message +msgid "To Validate Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_filter +#: model_terms:ir.ui.view,arch_db:stock_request_tier_validation.view_stock_request_order_filter +msgid "Validated" +msgstr "已批准" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validated_message +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validated_message +msgid "Validated Message" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__validation_status +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__validation_status +msgid "Validation Status" +msgstr "" + +#. module: stock_request_tier_validation +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request__review_ids +#: model:ir.model.fields,field_description:stock_request_tier_validation.field_stock_request_order__review_ids +msgid "Validations" +msgstr "" + +#~ msgid "" +#~ "This Stock Request needs to be\n" +#~ " validated." +#~ msgstr "此库存请求需要审批。" + +#~ msgid " Operation has been rejected." +#~ msgstr " 操作已被 驳回." + +#~ msgid " Operation has been validated!" +#~ msgstr " 操作已 批准!" + +#~ msgid "Reject" +#~ msgstr "驳回" + +#~ msgid "Request Validation" +#~ msgstr "请求审批" + +#~ msgid "Restart Validation" +#~ msgstr "撤回审批" + +#~ msgid "Validate" +#~ msgstr "批准" + +#~ msgid "Dismiss" +#~ msgstr "作废" + +#~ msgid "Tier Review" +#~ msgstr "多层级审批" diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/__init__.py new file mode 100644 index 0000000..91fd0df --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/__init__.py @@ -0,0 +1,3 @@ +from . import stock_request +from . import stock_request_order +from . import tier_definition diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request.py new file mode 100644 index 0000000..c66e21b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request.py @@ -0,0 +1,18 @@ +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import api, models + + +class StockRequest(models.Model): + _name = "stock.request" + _inherit = ["stock.request", "tier.validation"] + _state_from = ["draft"] + _state_to = ["open"] + + _tier_validation_manual_config = False + + @api.model + def _get_under_validation_exceptions(self): + res = super()._get_under_validation_exceptions() + res.append("route_id") + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request_order.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request_order.py new file mode 100644 index 0000000..53c0e2e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/stock_request_order.py @@ -0,0 +1,18 @@ +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import api, models + + +class StockRequestOrder(models.Model): + _name = "stock.request.order" + _inherit = ["stock.request.order", "tier.validation"] + _state_from = ["draft"] + _state_to = ["open"] + + _tier_validation_manual_config = False + + @api.model + def _get_under_validation_exceptions(self): + res = super()._get_under_validation_exceptions() + res.append("route_id") + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/tier_definition.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/tier_definition.py new file mode 100644 index 0000000..4016a66 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/models/tier_definition.py @@ -0,0 +1,13 @@ +# Copyright 2019-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import api, models + + +class TierDefinition(models.Model): + _inherit = "tier.definition" + + @api.model + def _get_tier_validation_model_names(self): + res = super()._get_tier_validation_model_names() + res.extend(("stock.request", "stock.request.order")) + return res diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONFIGURE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONFIGURE.rst new file mode 100644 index 0000000..9af3159 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONFIGURE.rst @@ -0,0 +1,7 @@ +A default tier is created allowing Stock Request Manager to approve Stock +Request and Stock Request Orders. + +In addition, you may want to add more tiers, so: + +#. Go to *Settings > Technical > Tier Validations > Tier Definition*. +#. Create as many tiers as you want for Stock Request model. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..9af8645 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* Lois Rilo +* Héctor Villarreal +* Pimolnat Suntian diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CREDITS.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CREDITS.rst new file mode 100644 index 0000000..81aa6f7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/CREDITS.rst @@ -0,0 +1,4 @@ +Images +------ + +* Enric Tobella (logo) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/DESCRIPTION.rst new file mode 100644 index 0000000..feb8834 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/DESCRIPTION.rst @@ -0,0 +1,2 @@ +This module extends the functionality of Stock Requests and Stock Request +Orders to support a tier validation process. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/INSTALL.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/INSTALL.rst new file mode 100644 index 0000000..638fbd2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/INSTALL.rst @@ -0,0 +1,2 @@ +This module depends on ``base_tier_validation``. You can find it at +`OCA/server-ux `_ diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/USAGE.rst new file mode 100644 index 0000000..c47071d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/readme/USAGE.rst @@ -0,0 +1,14 @@ +To use this module, you need to: + +#. Create a Stock Request triggering at least one "Tier Definition". +#. Click on *Request Validation* button. +#. Under the tab *Reviews* have a look to pending reviews and their statuses. +#. Once all reviews are validated button to *Confirm* will be shown. + +Additional features: + +* You can filter the Stock Request requesting your review through the filter *Needs my + Review*. +* User with rights to confirm the Stock Request (validate all tiers that would + be generated) can directly do the operation, this is, there is no need for + her/him to request a validation. diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/icon.png b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d4f6a65aca34c7c1a714b1f88277d7295a992a72 GIT binary patch literal 15218 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 Dg&Jzd literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/index.html b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/index.html new file mode 100644 index 0000000..8339f3a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/static/description/index.html @@ -0,0 +1,483 @@ + + + + + +README.rst + + + +
    + + + +Odoo Community Association + +
    +

    Stock Request Tier Validation

    + +

    Beta License: AGPL-3 OCA/stock-logistics-request Translate me on Weblate Try me on Runboat

    +

    This module extends the functionality of Stock Requests and Stock Request +Orders to support a tier validation process.

    +

    Table of contents

    + +
    +

    Installation

    +

    This module depends on base_tier_validation. You can find it at +OCA/server-ux

    +
    +
    +

    Configuration

    +

    A default tier is created allowing Stock Request Manager to approve Stock +Request and Stock Request Orders.

    +

    In addition, you may want to add more tiers, so:

    +
      +
    1. Go to Settings > Technical > Tier Validations > Tier Definition.
    2. +
    3. Create as many tiers as you want for Stock Request model.
    4. +
    +
    +
    +

    Usage

    +

    To use this module, you need to:

    +
      +
    1. Create a Stock Request triggering at least one “Tier Definition”.
    2. +
    3. Click on Request Validation button.
    4. +
    5. Under the tab Reviews have a look to pending reviews and their statuses.
    6. +
    7. Once all reviews are validated button to Confirm will be shown.
    8. +
    +

    Additional features:

    +
      +
    • You can filter the Stock Request requesting your review through the filter Needs my +Review.
    • +
    • User with rights to confirm the Stock Request (validate all tiers that would +be generated) can directly do the operation, this is, there is no need for +her/him to request a validation.
    • +
    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • ForgeFlow
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Other credits

    +
    +

    Images

    +
      +
    • Enric Tobella (logo)
    • +
    +
    +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    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.

    +

    Current maintainers:

    +

    LoisRForgeFlow etobella

    +

    This module is part of the OCA/stock-logistics-request project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/__init__.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/__init__.py new file mode 100644 index 0000000..b411f6a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/__init__.py @@ -0,0 +1 @@ +from . import test_stock_request_tier_validation diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/test_stock_request_tier_validation.py b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/test_stock_request_tier_validation.py new file mode 100644 index 0000000..8143153 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/tests/test_stock_request_tier_validation.py @@ -0,0 +1,28 @@ +# Copyright 2017-2020 ForgeFlow S.L. (https://www.forgeflow.com) +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0). + +from odoo.tests import common + + +class TestStockRequest(common.TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + + # common models + cls.stock_request = cls.env["stock.request"] + cls.request_order = cls.env["stock.request.order"] + cls.tier_definition = cls.env["tier.definition"] + + def test_get_under_validation_exceptions(self): + self.assertIn("route_id", self.stock_request._get_under_validation_exceptions()) + self.assertIn("route_id", self.request_order._get_under_validation_exceptions()) + + def test_get_tier_validation_model_names(self): + self.assertIn( + "stock.request", self.tier_definition._get_tier_validation_model_names() + ) + self.assertIn( + "stock.request.order", + self.tier_definition._get_tier_validation_model_names(), + ) diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_order_view.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_order_view.xml new file mode 100644 index 0000000..cc2646a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_order_view.xml @@ -0,0 +1,26 @@ + + + + + stock.request.select - stock_request_tier_validation + stock.request.order + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_view.xml b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_view.xml new file mode 100644 index 0000000..814be1f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-request-stock_request_tier_validation/stock_request_tier_validation/views/stock_request_view.xml @@ -0,0 +1,28 @@ + + + + + stock.request.select - stock_request_tier_validation + stock.request + + + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/README.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/README.md new file mode 100644 index 0000000..a0c325e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/README.md @@ -0,0 +1,47 @@ +# Internal Stock Quant Package + +Odoo addon: internal_stock_quant_package + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package +``` + +## Dependencies + +This addon depends on: +- stock +- delivery_procurement_group_carrier + +## Manifest Information + +- **Name**: Internal Stock Quant Package +- **Version**: 16.0.1.0.0 +- **Category**: N/A +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-tracking](https://github.com/OCA/stock-logistics-tracking) branch 16.0, addon `internal_stock_quant_package`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/ARCHITECTURE.md new file mode 100644 index 0000000..d9adb61 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Internal_stock_quant_package Module - internal_stock_quant_package + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONFIGURATION.md new file mode 100644 index 0000000..431d300 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for internal_stock_quant_package. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/DEPENDENCIES.md new file mode 100644 index 0000000..27c1415 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/DEPENDENCIES.md @@ -0,0 +1,6 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) +- [delivery_procurement_group_carrier](https://github.com/bringout/oca-workflow-process) diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/FAQ.md new file mode 100644 index 0000000..ea1925b --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon internal_stock_quant_package or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/INSTALL.md new file mode 100644 index 0000000..54fa8d7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package" +# or +uv pip install odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package" +``` diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/MODELS.md new file mode 100644 index 0000000..e8f3a25 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/MODELS.md @@ -0,0 +1,15 @@ +# Models + +Detected core models and extensions in internal_stock_quant_package. + +```mermaid +classDiagram + class stock_internal_package_config_line + class stock_picking + class stock_picking_type + class stock_quant_package +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/OVERVIEW.md new file mode 100644 index 0000000..d9b9de3 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: internal_stock_quant_package. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon internal_stock_quant_package +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/SECURITY.md new file mode 100644 index 0000000..9c3d012 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in internal_stock_quant_package. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../internal_stock_quant_package/security/ir.model.access.csv)** + - 2 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../internal_stock_quant_package/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/USAGE.md new file mode 100644 index 0000000..7eb7135 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon internal_stock_quant_package +``` diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/README.rst b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/README.rst new file mode 100644 index 0000000..67ba754 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/README.rst @@ -0,0 +1,120 @@ +============================ +Internal Stock Quant Package +============================ + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:97cb4b5a4237186e91513bbb3398ca5f254fecd9f1b7bb5aa22f9e0c66e2c3f8 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--tracking-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-tracking/tree/16.0/internal_stock_quant_package + :alt: OCA/stock-logistics-tracking +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-tracking-16-0/stock-logistics-tracking-16-0-internal_stock_quant_package + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-tracking&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to declare internal stock quant package. + +Sometimes, when an operator is picking, he needs to put the product in +internal packages placed on his trolley that will be emptied later. + +Two kinds of operations can lead to the emptying of the internal packages: + + * when product from the internal packages will be 'put in pack' at the pack station (in a pick / pack / ship scenario) + + * when a carrier will load his truck with the products from the internal packages (in a pick / ship scenario) + +This modules extends the stock module to add the concept of internal stock +quant package and therefore allows you to manage this kind of operational need. +It ensures that the internal stock quant packages are emptied when required +depending on the picking type configuration. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +As this addon rely on the concept of "internal" packages. If you want to +use packages into your picking operations, you need first to activate the +package functionality in the stock settings (see the "Operations" section). + +Then, you need to create packages and set them as internal. This is done +by going to Inventory > Products > Packages and clicking on the "Create". +(Don't forget to tick the "Internal use" box). + +By default, when you put your products into an internal package when processing +a picking, once the picking is done, the package is automatically emptied. +You can change this behavior at 2 levels: + +1. At the picking type level: go to "Inventory > Configuration > Operation +Types" and edit the picking type you want to change. Then, untick the "Empty +Internal Package On Transfer" box. (By default internal packages are always +emptied when the picking is done). +2. At the picking type level for a specific carrier: go to "Inventory > +Configuration > Operation Types" and edit the picking type you want to change. +Then, add or remove lines in the "Stock Internal Package Config Line" table. +You can add a line for a specific carrier and tick/untick the "Empty" box. + +To know if internal packages must be emptied or not for a given picking, the +system will first check if a configuration line exists on the picking type for +the carrier of the picking. If a line exists, the system will use the value +of the "Empty" box. If no line exists, the system will use the value of the +"Empty Internal Package On Transfer" box of the picking type. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* ACSONE SA/NV + +Contributors +~~~~~~~~~~~~ + +* Hughes Damry + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-tracking `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__init__.py new file mode 100644 index 0000000..0650744 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__manifest__.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__manifest__.py new file mode 100644 index 0000000..fd1ca22 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/__manifest__.py @@ -0,0 +1,18 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +{ + "name": "Internal Stock Quant Package", + "summary": "This module allows to declare internal stock quant package", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "author": "ACSONE SA/NV, Odoo Community Association (OCA)", + "website": "https://github.com/OCA/stock-logistics-tracking", + "depends": ["stock", "delivery_procurement_group_carrier"], + "data": [ + "security/ir.model.access.csv", + "views/stock_quant_package_views.xml", + "views/stock_picking_type_views.xml", + ], + "installable": True, +} diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/bs.po b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/bs.po new file mode 100644 index 0000000..12c41ad --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/bs.po @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * internal_stock_quant_package +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__delivery_carrier_id +msgid "Delivery Carrier" +msgstr "Prevoznik za isporuku" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__empty +msgid "Empty" +msgstr "Prazno" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking__empty_internal_package_on_transfer +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "Empty Internal Package On Transfer" +msgstr "Isprazni interni paket na transferu" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__id +msgid "ID" +msgstr "ID" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,help:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "" +"If set internal packages are emptied after the transfer or when products are" +" put in pack." +msgstr "" + +#. module: internal_stock_quant_package +#: model_terms:ir.ui.view,arch_db:internal_stock_quant_package.stock_quant_package_search_view +msgid "Internal" +msgstr "Interni" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_internal_package_config_line +msgid "Internal Package Configuration Line" +msgstr "Linija konfiguracije internog paketa" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_quant_package__is_internal +msgid "Internal use?" +msgstr "Interna upotreba?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_quant_package +msgid "Packages" +msgstr "Paketi" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking_type +msgid "Picking Type" +msgstr "Vrsta dokumenta" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__stock_internal_package_config_line_ids +msgid "Stock Internal Package Config Line" +msgstr "Linija konfiguracije internog paketa zaliha" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__stock_picking_type_id +msgid "Stock Picking Type" +msgstr "Tip izdavanja zaliha" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking +msgid "Transfer" +msgstr "Prijenos" diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/fr_BE.po b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/fr_BE.po new file mode 100644 index 0000000..887a383 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/fr_BE.po @@ -0,0 +1,117 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * internal_stock_quant_package +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-09 12:56+0000\n" +"PO-Revision-Date: 2023-02-09 12:56+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_uid +msgid "Created by" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_date +msgid "Created on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__delivery_carrier_id +msgid "Delivery Carrier" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__display_name +msgid "Display Name" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__empty +msgid "Empty" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking__empty_internal_package_on_transfer +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "Empty Internal Package On Transfer" +msgstr "Vider les colis internes lors du transfert?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__id +msgid "ID" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,help:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "" +"If set internal packages are emptied after the transfer or when products are " +"put in pack." +msgstr "" +"Si coché, les colis internes sont vidés une fois la préparation terminée ou " +"lorsqu'on fait la mise en colis." + +#. module: internal_stock_quant_package +#: model_terms:ir.ui.view,arch_db:internal_stock_quant_package.stock_quant_package_search_view +msgid "Internal" +msgstr "Interne" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_internal_package_config_line +msgid "Internal Package Configuration Line" +msgstr "Vider les colis internes lors du transfert?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_quant_package__is_internal +msgid "Internal use?" +msgstr "Usage interne?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_quant_package +msgid "Packages" +msgstr "Colis" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking_type +msgid "Picking Type" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__stock_internal_package_config_line_ids +msgid "Stock Internal Package Config Line" +msgstr "Vider les colis internes lors du transfert?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__stock_picking_type_id +msgid "Stock Picking Type" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking +msgid "Transfer" +msgstr "Transfert" diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/internal_stock_quant_package.pot b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/internal_stock_quant_package.pot new file mode 100644 index 0000000..d757e73 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/internal_stock_quant_package.pot @@ -0,0 +1,112 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * internal_stock_quant_package +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_uid +msgid "Created by" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_date +msgid "Created on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__delivery_carrier_id +msgid "Delivery Carrier" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__display_name +msgid "Display Name" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__empty +msgid "Empty" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking__empty_internal_package_on_transfer +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "Empty Internal Package On Transfer" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__id +msgid "ID" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,help:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "" +"If set internal packages are emptied after the transfer or when products are" +" put in pack." +msgstr "" + +#. module: internal_stock_quant_package +#: model_terms:ir.ui.view,arch_db:internal_stock_quant_package.stock_quant_package_search_view +msgid "Internal" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_internal_package_config_line +msgid "Internal Package Configuration Line" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_quant_package__is_internal +msgid "Internal use?" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line____last_update +msgid "Last Modified on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_date +msgid "Last Updated on" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_quant_package +msgid "Packages" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking_type +msgid "Picking Type" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__stock_internal_package_config_line_ids +msgid "Stock Internal Package Config Line" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__stock_picking_type_id +msgid "Stock Picking Type" +msgstr "" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking +msgid "Transfer" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/it.po b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/it.po new file mode 100644 index 0000000..1860eea --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/i18n/it.po @@ -0,0 +1,117 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * internal_stock_quant_package +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2025-01-22 12:06+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6.2\n" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__delivery_carrier_id +msgid "Delivery Carrier" +msgstr "Vettore consegna" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__empty +msgid "Empty" +msgstr "Vuoto" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking__empty_internal_package_on_transfer +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "Empty Internal Package On Transfer" +msgstr "Collo interno vuoto nel trasferimento" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__id +msgid "ID" +msgstr "ID" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,help:internal_stock_quant_package.field_stock_picking_type__empty_internal_package_on_transfer +msgid "" +"If set internal packages are emptied after the transfer or when products are" +" put in pack." +msgstr "" +"Se impostata, i colli interni sono svuotati dopo il trasferimento o quando i " +"prodotti sono inseriti in un pacco." + +#. module: internal_stock_quant_package +#: model_terms:ir.ui.view,arch_db:internal_stock_quant_package.stock_quant_package_search_view +msgid "Internal" +msgstr "Interno" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_internal_package_config_line +msgid "Internal Package Configuration Line" +msgstr "Riga configurazione collo interno" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_quant_package__is_internal +msgid "Internal use?" +msgstr "Uso interno?" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_quant_package +msgid "Packages" +msgstr "Colli" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking_type +msgid "Picking Type" +msgstr "Tipo prelievo" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_picking_type__stock_internal_package_config_line_ids +msgid "Stock Internal Package Config Line" +msgstr "Riga configurazione collo interno magazzino" + +#. module: internal_stock_quant_package +#: model:ir.model.fields,field_description:internal_stock_quant_package.field_stock_internal_package_config_line__stock_picking_type_id +msgid "Stock Picking Type" +msgstr "Tipo prelievo di magazzino" + +#. module: internal_stock_quant_package +#: model:ir.model,name:internal_stock_quant_package.model_stock_picking +msgid "Transfer" +msgstr "Trasferimento" diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/__init__.py new file mode 100644 index 0000000..e39e3bd --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/__init__.py @@ -0,0 +1,4 @@ +from . import stock_internal_package_config_line +from . import stock_picking_type +from . import stock_picking +from . import stock_quant_package diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_internal_package_config_line.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_internal_package_config_line.py new file mode 100644 index 0000000..017c1c7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_internal_package_config_line.py @@ -0,0 +1,33 @@ +# Copyright 2022 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class StockInternalPackageConfigLine(models.Model): + _name = "stock.internal.package.config.line" + _description = "Internal Package Configuration Line" + + empty = fields.Boolean() + delivery_carrier_id = fields.Many2one( + "delivery.carrier", + required=True, + ondelete="cascade", + ) + stock_picking_type_id = fields.Many2one( + "stock.picking.type", + required=True, + readonly=True, + ondelete="cascade", + ) + + def write(self, vals): + res = super().write(vals) + self._invalidate_empty_internal_package_on_transfer_cache() + return res + + def _invalidate_empty_internal_package_on_transfer_cache(self): + domain = [("stock_internal_package_config_line_ids", "in", self.ids)] + picking_types = self.env["stock.picking.type"].search(domain) + picking_types.clear_caches() + self.env["stock.picking"].invalidate_model() diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking.py new file mode 100644 index 0000000..f97d1dc --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking.py @@ -0,0 +1,61 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models + + +class StockPicking(models.Model): + + _inherit = "stock.picking" + + empty_internal_package_on_transfer = fields.Boolean( + compute="_compute_empty_internal_package_on_transfer", + ) + + @api.depends("picking_type_id.empty_internal_package_on_transfer", "carrier_id") + def _compute_empty_internal_package_on_transfer(self): + for record in self: + carrier = record.carrier_id or record.group_id.carrier_id + carrier_id = carrier.id + picking_type_id = record.picking_type_id.id + value = self.env["stock.picking.type"]._empty_internal_package_on_transfer( + picking_type_id, + carrier_id, + ) + record.empty_internal_package_on_transfer = value + + def action_put_in_pack(self): + self._move_lines_clear_internal_result_packages() + return super().action_put_in_pack() + + def button_validate(self): + self._move_lines_clear_internal_result_packages() + res = super().button_validate() + self._empty_transferred_internal_packages() + return res + + def _empty_transferred_internal_packages(self): + """ + Remove products from internal quant packages on picking done + """ + pickings = self.filtered( + lambda p: p.empty_internal_package_on_transfer and p.state == "done" + ) + packages = pickings.mapped("move_line_ids.package_id") + internal_packages = packages.filtered("is_internal") + if internal_packages: + internal_packages.unpack() + + def _move_lines_clear_internal_result_packages(self): + """ + Remove links between move lines and stock quant package to ensure + that move lines are put into a non internal stock.quant.package + """ + move_lines = self._get_move_lines_internal_package_used_to_empty() + move_lines.write({"result_package_id": False}) + + def _get_move_lines_internal_package_used_to_empty(self): + pickings = self.filtered("empty_internal_package_on_transfer") + return pickings.mapped("move_line_ids").filtered( + lambda line: line.result_package_id.is_internal + ) diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking_type.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking_type.py new file mode 100644 index 0000000..ebd6a96 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_picking_type.py @@ -0,0 +1,39 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import api, fields, models, tools + + +class StockPickingType(models.Model): + + _inherit = "stock.picking.type" + + empty_internal_package_on_transfer = fields.Boolean( + help="If set internal packages are emptied after the transfer or " + "when products are put in pack.", + default=True, + ) + stock_internal_package_config_line_ids = fields.One2many( + comodel_name="stock.internal.package.config.line", + inverse_name="stock_picking_type_id", + ) + + @api.model + @tools.ormcache("picking_type_id", "carrier_id") + def _empty_internal_package_on_transfer(self, picking_type_id, carrier_id): + """ + To know if internal packages must be emptied: + 1. We check if the flag is set on the picking type + 2. We lookup if a specific configuration exists for the given partner + 3. If a specific configuration exists we return the value of this configuration + 4. Otherwise we return the value on the picking type. + """ + picking_type = self.browse(picking_type_id) + result = picking_type.empty_internal_package_on_transfer + lines = picking_type.stock_internal_package_config_line_ids + carrier_line = lines.filtered( + lambda cl: cl.delivery_carrier_id.id == carrier_id + ) + if carrier_line: + result = carrier_line.empty + return result diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_quant_package.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_quant_package.py new file mode 100644 index 0000000..d79d476 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/models/stock_quant_package.py @@ -0,0 +1,11 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class StockQuantPackage(models.Model): + + _inherit = "stock.quant.package" + + is_internal = fields.Boolean("Internal use?") diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..abe377c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Hughes Damry diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/DESCRIPTION.rst new file mode 100644 index 0000000..a6b951e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/DESCRIPTION.rst @@ -0,0 +1,15 @@ +This module allows to declare internal stock quant package. + +Sometimes, when an operator is picking, he needs to put the product in +internal packages placed on his trolley that will be emptied later. + +Two kinds of operations can lead to the emptying of the internal packages: + + * when product from the internal packages will be 'put in pack' at the pack station (in a pick / pack / ship scenario) + + * when a carrier will load his truck with the products from the internal packages (in a pick / ship scenario) + +This modules extends the stock module to add the concept of internal stock +quant package and therefore allows you to manage this kind of operational need. +It ensures that the internal stock quant packages are emptied when required +depending on the picking type configuration. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/USAGE.rst new file mode 100644 index 0000000..0dae52d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/readme/USAGE.rst @@ -0,0 +1,26 @@ +As this addon rely on the concept of "internal" packages. If you want to +use packages into your picking operations, you need first to activate the +package functionality in the stock settings (see the "Operations" section). + +Then, you need to create packages and set them as internal. This is done +by going to Inventory > Products > Packages and clicking on the "Create". +(Don't forget to tick the "Internal use" box). + +By default, when you put your products into an internal package when processing +a picking, once the picking is done, the package is automatically emptied. +You can change this behavior at 2 levels: + +1. At the picking type level: go to "Inventory > Configuration > Operation +Types" and edit the picking type you want to change. Then, untick the "Empty +Internal Package On Transfer" box. (By default internal packages are always +emptied when the picking is done). +2. At the picking type level for a specific carrier: go to "Inventory > +Configuration > Operation Types" and edit the picking type you want to change. +Then, add or remove lines in the "Stock Internal Package Config Line" table. +You can add a line for a specific carrier and tick/untick the "Empty" box. + +To know if internal packages must be emptied or not for a given picking, the +system will first check if a configuration line exists on the picking type for +the carrier of the picking. If a line exists, the system will use the value +of the "Empty" box. If no line exists, the system will use the value of the +"Empty Internal Package On Transfer" box of the picking type. diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/security/ir.model.access.csv b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/security/ir.model.access.csv new file mode 100644 index 0000000..45187ff --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +stock_internal_config_line_user_access,stock_internal_config_line_user_access,model_stock_internal_package_config_line,base.group_user,1,0,0,0 +stock_internal_config_line_manager_access,stock_internal_config_line_manager_access,model_stock_internal_package_config_line,stock.group_stock_manager,1,1,1,1 diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/icon.png b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/index.html b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/index.html new file mode 100644 index 0000000..580b331 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/static/description/index.html @@ -0,0 +1,462 @@ + + + + + +Internal Stock Quant Package + + + +
    +

    Internal Stock Quant Package

    + + +

    Beta License: AGPL-3 OCA/stock-logistics-tracking Translate me on Weblate Try me on Runboat

    +

    This module allows to declare internal stock quant package.

    +

    Sometimes, when an operator is picking, he needs to put the product in +internal packages placed on his trolley that will be emptied later.

    +

    Two kinds of operations can lead to the emptying of the internal packages:

    +
    +
      +
    • when product from the internal packages will be ‘put in pack’ at the pack station (in a pick / pack / ship scenario)
    • +
    • when a carrier will load his truck with the products from the internal packages (in a pick / ship scenario)
    • +
    +
    +

    This modules extends the stock module to add the concept of internal stock +quant package and therefore allows you to manage this kind of operational need. +It ensures that the internal stock quant packages are emptied when required +depending on the picking type configuration.

    +

    Table of contents

    + +
    +

    Usage

    +

    As this addon rely on the concept of “internal” packages. If you want to +use packages into your picking operations, you need first to activate the +package functionality in the stock settings (see the “Operations” section).

    +

    Then, you need to create packages and set them as internal. This is done +by going to Inventory > Products > Packages and clicking on the “Create”. +(Don’t forget to tick the “Internal use” box).

    +

    By default, when you put your products into an internal package when processing +a picking, once the picking is done, the package is automatically emptied. +You can change this behavior at 2 levels:

    +

    1. At the picking type level: go to “Inventory > Configuration > Operation +Types” and edit the picking type you want to change. Then, untick the “Empty +Internal Package On Transfer” box. (By default internal packages are always +emptied when the picking is done). +2. At the picking type level for a specific carrier: go to “Inventory > +Configuration > Operation Types” and edit the picking type you want to change. +Then, add or remove lines in the “Stock Internal Package Config Line” table. +You can add a line for a specific carrier and tick/untick the “Empty” box.

    +

    To know if internal packages must be emptied or not for a given picking, the +system will first check if a configuration line exists on the picking type for +the carrier of the picking. If a line exists, the system will use the value +of the “Empty” box. If no line exists, the system will use the value of the +“Empty Internal Package On Transfer” box of the picking type.

    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • ACSONE SA/NV
    • +
    +
    +
    +

    Contributors

    + +
    +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/stock-logistics-tracking project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/__init__.py new file mode 100644 index 0000000..77a4423 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/__init__.py @@ -0,0 +1,2 @@ +from . import common +from . import test_stock_picking diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/common.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/common.py new file mode 100644 index 0000000..d3e4362 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/common.py @@ -0,0 +1,56 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + + +from odoo.tests.common import TransactionCase + + +class TestStockPickingInternal(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + cls.env = cls.env( + context=dict( + cls.env.context, tracking_disable=True, test_queue_job_no_delay=True + ) + ) + + cls.picking_type_out = cls.env.ref("stock.picking_type_out") + cls.picking_type_out.empty_internal_package_on_transfer = True + cls.internal_package = cls.env["stock.quant.package"].create( + {"is_internal": True} + ) + cls.external_package = cls.env["stock.quant.package"].create({}) + cls.product_a = cls.env["product.product"].create( + {"name": "Product A", "type": "product"} + ) + cls.customer_location = cls.env.ref("stock.stock_location_customers") + cls.stock_location = cls.env.ref("stock.stock_location_stock") + cls.picking = cls.env["stock.picking"].create( + { + "picking_type_id": cls.picking_type_out.id, + "location_dest_id": cls.customer_location.id, + "location_id": cls.stock_location.id, + } + ) + cls.env["stock.move"].create( + { + "name": cls.product_a.name, + "product_id": cls.product_a.id, + "product_uom_qty": 1, + "product_uom": cls.product_a.uom_id.id, + "picking_id": cls.picking.id, + "location_dest_id": cls.customer_location.id, + "location_id": cls.stock_location.id, + } + ) + wiz = cls.env["stock.change.product.qty"].create( + { + "product_id": cls.product_a.id, + "product_tmpl_id": cls.product_a.product_tmpl_id.id, + "new_quantity": 1, + } + ) + wiz.change_product_qty() + + cls.picking.action_assign() diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/test_stock_picking.py b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/test_stock_picking.py new file mode 100644 index 0000000..e13dfba --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/tests/test_stock_picking.py @@ -0,0 +1,104 @@ +# Copyright 2021 ACSONE SA/NV +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.exceptions import UserError +from odoo.fields import Command + +from .common import TestStockPickingInternal + + +class TestStockPickingInternalFlow(TestStockPickingInternal): + def test_internal_result_package_emptied_on_transfer(self): + self.assertEqual(self.picking.state, "assigned") + packop = self.picking.move_line_ids + packop.write( + dict( + result_package_id=self.internal_package.id, + qty_done=packop.reserved_qty, + ) + ) + self.picking.button_validate() + self.assertEqual(self.picking.state, "done") + self.assertFalse(self.internal_package.quant_ids) + + def test_internal_result_package_not_emptied_on_transfer(self): + self.picking_type_out.empty_internal_package_on_transfer = False + self.assertEqual(self.picking.state, "assigned") + packop = self.picking.move_line_ids + packop.write( + dict( + result_package_id=self.internal_package.id, + qty_done=packop.reserved_qty, + ) + ) + self.picking.button_validate() + self.assertEqual(self.picking.state, "done") + self.assertTrue(self.internal_package.quant_ids) + + def test_external_package_not_emptied_on_transfer(self): + self.assertEqual(self.picking.state, "assigned") + packop = self.picking.move_line_ids + packop.write( + dict( + result_package_id=self.external_package.id, + qty_done=packop.reserved_qty, + ) + ) + self.picking.button_validate() + self.assertEqual(self.picking.state, "done") + self.assertTrue(self.external_package.quant_ids) + + def test_internal_package_emptied_on_put_in_pack(self): + self.assertEqual(self.picking.state, "assigned") + packop = self.picking.move_line_ids + packop.write( + dict( + result_package_id=self.internal_package.id, + qty_done=packop.reserved_qty, + ) + ) + self.picking.action_put_in_pack() + self.assertNotEqual(packop.result_package_id, self.internal_package) + self.picking.button_validate() + self.assertEqual(self.picking.state, "done") + self.assertFalse(self.internal_package.quant_ids) + + def test_internal_package_not_emptied_on_put_in_pack(self): + self.picking_type_out.empty_internal_package_on_transfer = False + self.assertEqual(self.picking.state, "assigned") + packop = self.picking.move_line_ids + packop.write( + dict( + result_package_id=self.internal_package.id, + qty_done=packop.reserved_qty, + ) + ) + msg = "Please add 'Done' quantities to the picking to create a new pack." + with self.assertRaises(UserError, msg=msg): + self.picking.action_put_in_pack() + self.equal = self.assertEqual(packop.result_package_id, self.internal_package) + self.picking.button_validate() + self.assertEqual(self.picking.state, "done") + self.assertTrue(self.internal_package.quant_ids) + + def test_internal_package_emptied_on_transfer_depend_on_carrier(self): + carrier_product = self.env["product.product"].create( + {"name": "Product Carrier", "sale_ok": False, "type": "service"} + ) + carrier_1 = self.env["delivery.carrier"].create( + { + "name": "Carrier1", + "product_id": carrier_product.id, + } + ) + self.picking.carrier_id = carrier_1 + vals_line = {"empty": False, "delivery_carrier_id": carrier_1.id} + vals = {"stock_internal_package_config_line_ids": [Command.create(vals_line)]} + self.picking_type_out.write(vals) + + self.assertFalse(self.picking.empty_internal_package_on_transfer) + + line = self.picking_type_out.stock_internal_package_config_line_ids + line.empty = True + + self.assertTrue(self.picking.empty_internal_package_on_transfer) diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_picking_type_views.xml b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_picking_type_views.xml new file mode 100644 index 0000000..8193c92 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_picking_type_views.xml @@ -0,0 +1,64 @@ + + + + + + stock.internal.package.config.line.form + stock.internal.package.config.line + +
    +
    +
    + + + + + + + + +
    +
    +
    + + + stock.picking.type.form (in internal_stock_quant_package) + stock.picking.type + + + + + + + + + + + + + + + + + stock.picking.type.tree (in internal_stock_quant_package) + stock.picking.type + + + + + + + + + + + + + + +
    diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_quant_package_views.xml b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_quant_package_views.xml new file mode 100644 index 0000000..d5cedcf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/internal_stock_quant_package/views/stock_quant_package_views.xml @@ -0,0 +1,49 @@ + + + + + + stock.quant.package.form (in internal_stock_quant_package) + stock.quant.package + + + + + + + + + + stock.quant.package.search (in internal_stock_quant_package) + stock.quant.package + + + + + + + + + + stock.quant.package.tree (in internal_stock_quant_package) + stock.quant.package + + + + + + + + + diff --git a/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/pyproject.toml b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/pyproject.toml new file mode 100644 index 0000000..5a66d9c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package/pyproject.toml @@ -0,0 +1,43 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-tracking-internal_stock_quant_package" +version = "16.0.0" +description = "Internal Stock Quant Package - This module allows to declare internal stock quant package" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "odoo-bringout-oca-stock-logistics-tracking-delivery_procurement_group_carrier>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["internal_stock_quant_package"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/README.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/README.md new file mode 100644 index 0000000..6ffc0d6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/README.md @@ -0,0 +1,46 @@ +# Package multi reference + +Odoo addon: stock_quant_package_multi_reference + +## Installation + +```bash +pip install odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference +``` + +## Dependencies + +This addon depends on: +- stock + +## Manifest Information + +- **Name**: Package multi reference +- **Version**: 16.0.1.0.1 +- **Category**: Inventory/Inventory +- **License**: AGPL-3 +- **Installable**: True + +## Source + +Based on [OCA/stock-logistics-tracking](https://github.com/OCA/stock-logistics-tracking) branch 16.0, addon `stock_quant_package_multi_reference`. + +## License + +This package maintains the original AGPL-3 license from the upstream Odoo project. + +## Documentation + +- Overview: doc/OVERVIEW.md +- Architecture: doc/ARCHITECTURE.md +- Models: doc/MODELS.md +- Controllers: doc/CONTROLLERS.md +- Wizards: doc/WIZARDS.md +- Reports: doc/REPORTS.md +- Security: doc/SECURITY.md +- Install: doc/INSTALL.md +- Usage: doc/USAGE.md +- Configuration: doc/CONFIGURATION.md +- Dependencies: doc/DEPENDENCIES.md +- Troubleshooting: doc/TROUBLESHOOTING.md +- FAQ: doc/FAQ.md diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/ARCHITECTURE.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/ARCHITECTURE.md new file mode 100644 index 0000000..d758e59 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/ARCHITECTURE.md @@ -0,0 +1,32 @@ +# Architecture + +```mermaid +flowchart TD + U[Users] -->|HTTP| V[Views and QWeb Templates] + V --> C[Controllers] + V --> W[Wizards – Transient Models] + C --> M[Models and ORM] + W --> M + M --> R[Reports] + DX[Data XML] --> M + S[Security – ACLs and Groups] -. enforces .-> M + + subgraph Stock_quant_package_multi_reference Module - stock_quant_package_multi_reference + direction LR + M:::layer + W:::layer + C:::layer + V:::layer + R:::layer + S:::layer + DX:::layer + end + + classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px +``` + +Notes +- Views include tree/form/kanban templates and report templates. +- Controllers provide website/portal routes when present. +- Wizards are UI flows implemented with `models.TransientModel`. +- Data XML loads data/demo records; Security defines groups and access. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONFIGURATION.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONFIGURATION.md new file mode 100644 index 0000000..805ad52 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONFIGURATION.md @@ -0,0 +1,3 @@ +# Configuration + +Refer to Odoo settings for stock_quant_package_multi_reference. Configure related models, access rights, and options as needed. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONTROLLERS.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONTROLLERS.md new file mode 100644 index 0000000..f628e77 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/CONTROLLERS.md @@ -0,0 +1,3 @@ +# Controllers + +This module does not define custom HTTP controllers. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/DEPENDENCIES.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/DEPENDENCIES.md new file mode 100644 index 0000000..7184134 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/DEPENDENCIES.md @@ -0,0 +1,5 @@ +# Dependencies + +This addon depends on: + +- [stock](https://github.com/bringout/oca-ocb-warehouse/tree/0ee5ffef60413a71dceb350918ad3fb572ec1875/odoo-bringout-oca-ocb-stock) diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/FAQ.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/FAQ.md new file mode 100644 index 0000000..7fae004 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/FAQ.md @@ -0,0 +1,4 @@ +# FAQ + +- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged). +- Q: How to enable? A: Start server with --addon stock_quant_package_multi_reference or install in UI. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/INSTALL.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/INSTALL.md new file mode 100644 index 0000000..f8e7541 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/INSTALL.md @@ -0,0 +1,7 @@ +# Install + +```bash +pip install odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference" +# or +uv pip install odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference" +``` diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/MODELS.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/MODELS.md new file mode 100644 index 0000000..2afb5da --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/MODELS.md @@ -0,0 +1,13 @@ +# Models + +Detected core models and extensions in stock_quant_package_multi_reference. + +```mermaid +classDiagram + class stock_quant_package_reference + class stock_quant_package +``` + +Notes +- Classes show model technical names; fields omitted for brevity. +- Items listed under _inherit are extensions of existing models. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/OVERVIEW.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/OVERVIEW.md new file mode 100644 index 0000000..b1d4be6 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/OVERVIEW.md @@ -0,0 +1,6 @@ +# Overview + +Packaged Odoo addon: stock_quant_package_multi_reference. Provides features documented in upstream Odoo 16 under this addon. + +- Source: OCA/OCB 16.0, addon stock_quant_package_multi_reference +- License: LGPL-3 diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/REPORTS.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/REPORTS.md new file mode 100644 index 0000000..e0ea35f --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/REPORTS.md @@ -0,0 +1,3 @@ +# Reports + +This module does not define custom reports. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/SECURITY.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/SECURITY.md new file mode 100644 index 0000000..02f41ab --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/SECURITY.md @@ -0,0 +1,34 @@ +# Security + +Access control and security definitions in stock_quant_package_multi_reference. + +## Access Control Lists (ACLs) + +Model access permissions defined in: +- **[ir.model.access.csv](../stock_quant_package_multi_reference/security/ir.model.access.csv)** + - 1 model access rules + +## Record Rules + +Row-level security rules defined in: + +```mermaid +graph TB + subgraph "Security Layers" + A[Users] --> B[Groups] + B --> C[Access Control Lists] + C --> D[Models] + B --> E[Record Rules] + E --> F[Individual Records] + end +``` + +Security files overview: +- **[ir.model.access.csv](../stock_quant_package_multi_reference/security/ir.model.access.csv)** + - Model access permissions (CRUD rights) + +Notes +- Access Control Lists define which groups can access which models +- Record Rules provide row-level security (filter records by user/group) +- Security groups organize users and define permission sets +- All security is enforced at the ORM level by Odoo diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/TROUBLESHOOTING.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/TROUBLESHOOTING.md new file mode 100644 index 0000000..56853cb --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/TROUBLESHOOTING.md @@ -0,0 +1,5 @@ +# Troubleshooting + +- Ensure Python and Odoo environment matches repo guidance. +- Check database connectivity and logs if startup fails. +- Validate that dependent addons listed in DEPENDENCIES.md are installed. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/USAGE.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/USAGE.md new file mode 100644 index 0000000..707d216 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/USAGE.md @@ -0,0 +1,7 @@ +# Usage + +Start Odoo including this addon (from repo root): + +```bash +python3 scripts/nix_odoo_web_server.py --db-name mydb --addon stock_quant_package_multi_reference +``` diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/WIZARDS.md b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/WIZARDS.md new file mode 100644 index 0000000..48e790d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/doc/WIZARDS.md @@ -0,0 +1,3 @@ +# Wizards + +This module does not include UI wizards. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/pyproject.toml b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/pyproject.toml new file mode 100644 index 0000000..08009ea --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/pyproject.toml @@ -0,0 +1,42 @@ +[project] +name = "odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference" +version = "16.0.0" +description = "Package multi reference - Odoo addon" +authors = [ + { name = "Ernad Husremovic", email = "hernad@bring.out.ba" } +] +dependencies = [ + "odoo-bringout-oca-ocb-stock>=16.0.0", + "requests>=2.25.1" +] +readme = "README.md" +requires-python = ">= 3.11" +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Topic :: Office/Business", +] + +[project.urls] +homepage = "https://github.com/bringout/0" +repository = "https://github.com/bringout/0" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.hatch.build.targets.wheel] +packages = ["stock_quant_package_multi_reference"] + +[tool.rye] +managed = true +dev-dependencies = [ + "pytest>=8.4.1", +] diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/README.rst b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/README.rst new file mode 100644 index 0000000..b5382c1 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/README.rst @@ -0,0 +1,82 @@ +======================= +Package multi reference +======================= + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:c134b9ab45266a7f6d34ccbc08a121190e2c90f41cda7e7d5f915fc6e43e8c3f + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--tracking-lightgray.png?logo=github + :target: https://github.com/OCA/stock-logistics-tracking/tree/16.0/stock_quant_package_multi_reference + :alt: OCA/stock-logistics-tracking +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/stock-logistics-tracking-16-0/stock-logistics-tracking-16-0-stock_quant_package_multi_reference + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-tracking&target_branch=16.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module allows to define multiple references for a single package. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +A list of references is available for each package with a priority, so the package reference +is used as the main reference. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Cetmix + +Contributors +~~~~~~~~~~~~ + +* Cetmix + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +This module is part of the `OCA/stock-logistics-tracking `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__init__.py new file mode 100644 index 0000000..3559b93 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__init__.py @@ -0,0 +1,6 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import models + +from .hooks import post_init_hook diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__manifest__.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__manifest__.py new file mode 100644 index 0000000..0a36daf --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/__manifest__.py @@ -0,0 +1,17 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). +{ + "name": "Package multi reference", + "version": "16.0.1.0.1", + "license": "AGPL-3", + "author": "Cetmix, Odoo Community Association (OCA)", + "category": "Inventory/Inventory", + "depends": ["stock"], + "website": "https://github.com/OCA/stock-logistics-tracking", + "data": [ + "views/stock_quant_package_view.xml", + "security/ir.model.access.csv", + ], + "installable": True, + "post_init_hook": "post_init_hook", +} diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/hooks.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/hooks.py new file mode 100644 index 0000000..00f3473 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/hooks.py @@ -0,0 +1,13 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + + +def post_init_hook(cr, registry): + cr.execute( + """ + INSERT INTO stock_quant_package_reference + (stock_quant_package_id, name, sequence) + SELECT id, name, 0 + FROM stock_quant_package + WHERE name IS NOT NULL""" + ) diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/bs.po b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/bs.po new file mode 100644 index 0000000..1da099d --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/bs.po @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_quant_package_multi_reference +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_uid +msgid "Created by" +msgstr "Kreirao" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_date +msgid "Created on" +msgstr "Kreirano" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__display_name +msgid "Display Name" +msgstr "Prikazani naziv" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__id +msgid "ID" +msgstr "ID" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package_reference +msgid "Individual item in a package's reference list" +msgstr "Pojedinačna stavka u listi referenci pakovanja" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference____last_update +msgid "Last Modified on" +msgstr "Zadnje mijenjano" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_uid +msgid "Last Updated by" +msgstr "Zadnji ažurirao" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_date +msgid "Last Updated on" +msgstr "Zadnje ažurirano" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__stock_quant_package_id +msgid "Package" +msgstr "Paket" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__name +msgid "Package Reference" +msgstr "Referenca paketa" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package +msgid "Packages" +msgstr "Paketi" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__name +msgid "Reference" +msgstr "Referenca" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__reference_ids +msgid "References" +msgstr "Reference" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__sequence +msgid "Sequence" +msgstr "Sekvenca" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package_reference.py:0 +#, python-format +msgid "" +"The Reference \"%(reference_name)s\" already exists for package " +"\"%(package_name)s\" in the company %(company_name)s" +msgstr "" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package.py:0 +#, python-format +msgid "Unknown Pack" +msgstr "Nepoznati paket" diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/it.po b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/it.po new file mode 100644 index 0000000..8e7edd2 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/it.po @@ -0,0 +1,105 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_quant_package_multi_reference +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2023-11-24 17:36+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.17\n" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_uid +msgid "Created by" +msgstr "Creato da" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_date +msgid "Created on" +msgstr "Creato il" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__id +msgid "ID" +msgstr "ID" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package_reference +msgid "Individual item in a package's reference list" +msgstr "Singolo elemento in un elenco riferimenti del collo" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_uid +msgid "Last Updated by" +msgstr "Ultimo aggiornamento di" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_date +msgid "Last Updated on" +msgstr "Ultimo aggiornamento il" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__stock_quant_package_id +msgid "Package" +msgstr "Collo" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__name +msgid "Package Reference" +msgstr "Riferimento collo" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package +msgid "Packages" +msgstr "Colli" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__name +msgid "Reference" +msgstr "Riferimento" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__reference_ids +msgid "References" +msgstr "Riferimenti" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__sequence +msgid "Sequence" +msgstr "Sequenza" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package_reference.py:0 +#, python-format +msgid "" +"The Reference \"%(reference_name)s\" already exists for package " +"\"%(package_name)s\" in the company %(company_name)s" +msgstr "" +"Il riferimento \"%(reference_name)s\" esiste già per il collo \"" +"%(package_name)s\" nell'azienda %(company_name)s" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package.py:0 +#, python-format +msgid "Unknown Pack" +msgstr "Pacco sconosciuto" diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/stock_quant_package_multi_reference.pot b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/stock_quant_package_multi_reference.pot new file mode 100644 index 0000000..3cc619e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/i18n/stock_quant_package_multi_reference.pot @@ -0,0 +1,100 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_quant_package_multi_reference +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 16.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_uid +msgid "Created by" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__create_date +msgid "Created on" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__display_name +msgid "Display Name" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__id +msgid "ID" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package_reference +msgid "Individual item in a package's reference list" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference____last_update +msgid "Last Modified on" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_uid +msgid "Last Updated by" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__write_date +msgid "Last Updated on" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__stock_quant_package_id +msgid "Package" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__name +msgid "Package Reference" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model,name:stock_quant_package_multi_reference.model_stock_quant_package +msgid "Packages" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__name +msgid "Reference" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package__reference_ids +msgid "References" +msgstr "" + +#. module: stock_quant_package_multi_reference +#: model:ir.model.fields,field_description:stock_quant_package_multi_reference.field_stock_quant_package_reference__sequence +msgid "Sequence" +msgstr "" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package_reference.py:0 +#, python-format +msgid "" +"The Reference \"%(reference_name)s\" already exists for package " +"\"%(package_name)s\" in the company %(company_name)s" +msgstr "" + +#. module: stock_quant_package_multi_reference +#. odoo-python +#: code:addons/stock_quant_package_multi_reference/models/stock_quant_package.py:0 +#, python-format +msgid "Unknown Pack" +msgstr "" diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/__init__.py new file mode 100644 index 0000000..bfb7aa9 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/__init__.py @@ -0,0 +1,5 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import stock_quant_package_reference +from . import stock_quant_package diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package.py new file mode 100644 index 0000000..b28b849 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package.py @@ -0,0 +1,71 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models + + +class StockQuantPackage(models.Model): + _inherit = "stock.quant.package" + + reference_ids = fields.One2many( + comodel_name="stock.quant.package.reference", + inverse_name="stock_quant_package_id", + string="References", + auto_join=True, + ) + name = fields.Char( + string="Package Reference", + default=lambda self: self.env["ir.sequence"].next_by_code("stock.quant.package") + or _("Unknown Pack"), + compute="_compute_reference", + store=True, + inverse="_inverse_reference", + compute_sudo=True, + index="trigram", + copy=False, + ) + + @api.depends("reference_ids.name", "reference_ids.sequence") + def _compute_reference(self): + for package in self: + package.name = package.reference_ids[:1].name + + def _inverse_reference(self): + """Store the package's reference value in the reference model.""" + packages_to_unlink = self.env["stock.quant.package.reference"] + create_reference_vals_list = [] + for package in self: + if package.reference_ids: + package.reference_ids[0].name = package.name + elif not package.name: + packages_to_unlink |= package.reference_ids + else: + create_reference_vals_list.append(package._prepare_reference_vals()) + if packages_to_unlink: + packages_to_unlink.unlink() + if create_reference_vals_list: + self.env["stock.quant.package.reference"].create(create_reference_vals_list) + + def _prepare_reference_vals(self): + self.ensure_one() + return { + "stock_quant_package_id": self.id, + "name": self.name, + } + + @api.model + def _search(self, domain, *args, **kwargs): + for sub_domain in list(filter(lambda x: x[0] == "name", domain)): + domain = self._get_reference_domain(sub_domain, domain) + return super(StockQuantPackage, self)._search(domain, *args, **kwargs) + + def _get_reference_domain(self, sub_domain, domain): + reference_operator = sub_domain[1] + reference_value = sub_domain[2] + domain = [ + ("reference_ids.name", reference_operator, reference_value) + if x[0] == "name" and x[2] == reference_value + else x + for x in domain + ] + return domain diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package_reference.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package_reference.py new file mode 100644 index 0000000..b88262e --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/models/stock_quant_package_reference.py @@ -0,0 +1,49 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo import _, api, fields, models +from odoo.exceptions import ValidationError + + +class StockQuantPackageReference(models.Model): + _name = "stock.quant.package.reference" + _description = "Individual item in a package's reference list" + _order = "sequence, id" + + name = fields.Char( + string="Reference", + required=True, + index="trigram", + ) + sequence = fields.Integer( + default=0, + ) + stock_quant_package_id = fields.Many2one( + string="Package", + comodel_name="stock.quant.package", + ondelete="cascade", + ) + + @api.constrains("name") + def _check_duplicates(self): + for record in self: + reference = self.search( + [("id", "!=", record.id), ("name", "=", record.name)], limit=1 + ) + if reference: + # by default reference 'shared' between all company (no ir.rule) + # so we may not have the access right on the package + # note: if you do not want to share the reference between company + # you just need to add a custom ir.rule + package = reference.sudo().stock_quant_package_id + raise ValidationError( + _( + 'The Reference "%(reference_name)s" already exists for ' + 'package "%(package_name)s" in the company %(company_name)s' + ) + % dict( + reference_name=reference.name, + package_name=package.name, + company_name=package.company_id.name, + ) + ) diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/CONTRIBUTORS.rst b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/CONTRIBUTORS.rst new file mode 100644 index 0000000..9d697ca --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/CONTRIBUTORS.rst @@ -0,0 +1 @@ +* Cetmix diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/DESCRIPTION.rst b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/DESCRIPTION.rst new file mode 100644 index 0000000..dd811a7 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module allows to define multiple references for a single package. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/USAGE.rst b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/USAGE.rst new file mode 100644 index 0000000..fd89312 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/readme/USAGE.rst @@ -0,0 +1,2 @@ +A list of references is available for each package with a priority, so the package reference +is used as the main reference. diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/security/ir.model.access.csv b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/security/ir.model.access.csv new file mode 100644 index 0000000..8a49b7c --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_stock_quant_package_multi_reference_stock_quant_package_reference_user,stock_quant_package_multi_reference_stock_quant_package_reference.user,model_stock_quant_package_reference,base.group_user,1,1,1,1 diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/icon.png b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 Q3=9kmp00i_>zopr09!l7U;qFB literal 0 HcmV?d00001 diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/index.html b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/index.html new file mode 100644 index 0000000..824ebc5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/static/description/index.html @@ -0,0 +1,429 @@ + + + + + +Package multi reference + + + +
    +

    Package multi reference

    + + +

    Beta License: AGPL-3 OCA/stock-logistics-tracking Translate me on Weblate Try me on Runboat

    +

    This module allows to define multiple references for a single package.

    +

    Table of contents

    + +
    +

    Usage

    +

    A list of references is available for each package with a priority, so the package reference +is used as the main reference.

    +
    +
    +

    Bug Tracker

    +

    Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

    +

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

    +
    +
    +

    Credits

    +
    +

    Authors

    +
      +
    • Cetmix
    • +
    +
    + +
    +

    Maintainers

    +

    This module is maintained by the OCA.

    + +Odoo Community Association + +

    OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

    +

    This module is part of the OCA/stock-logistics-tracking project on GitHub.

    +

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    +
    +
    +
    + + diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/__init__.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/__init__.py new file mode 100644 index 0000000..3cb3cd5 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/__init__.py @@ -0,0 +1,4 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_stock_quant_package_multi_reference diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/test_stock_quant_package_multi_reference.py b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/test_stock_quant_package_multi_reference.py new file mode 100644 index 0000000..a4d569a --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/tests/test_stock_quant_package_multi_reference.py @@ -0,0 +1,77 @@ +# © 2023 Cetmix OÜ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from odoo.exceptions import ValidationError +from odoo.tests import TransactionCase, tagged + +from ..hooks import post_init_hook + + +@tagged("post_install", "-at_install") +class StockQuantPackageReference(TransactionCase): + @classmethod + def setUpClass(cls): + super().setUpClass() + # Package 1 + cls.package = cls.env["stock.quant.package"] + cls.package_1 = cls.package.create({"name": "PACK0000001"}) + cls.valid_reference_1 = "PACK0000001-1" + cls.valid_reference2_1 = "PACK0000001-2" + # Package 2 + cls.package_2 = cls.package.create({"name": "PACK0000002"}) + cls.valid_reference_2 = "PACK0000002-1" + cls.valid_reference2_2 = "PACK0000002-2" + + def test_set_main_package(self): + self.package_1.name = self.valid_reference_1 + self.assertEqual(len(self.package_1.reference_ids), 1) + self.assertEqual(self.package_1.reference_ids.name, self.package_1.name) + + def test_set_incorrect_package(self): + self.package_1.name = self.valid_reference_1 + # Insert duplicated EAN13 + with self.assertRaisesRegex( + ValidationError, + 'The Reference "%(reference)s" already exists for package "%(package)s"' + % {"reference": self.valid_reference_1, "package": self.package_1.name}, + ): + self.package_1.reference_ids = [(0, 0, {"name": self.valid_reference_1})] + + def test_post_init_hook(self): + # The delete SQL statement is necessary to remove the reference + # that was created during the test setup for the stock.quant.package (PACK0000001). + # This reference will not exist when the module is initialized for real usage. + self.env.cr.execute( + """ + DELETE FROM stock_quant_package_reference + WHERE stock_quant_package_id = %s""", + [(self.package_1.id)], + ) + post_init_hook(self.env.cr, self.registry) + self.package_1.invalidate_recordset() + self.assertEqual(len(self.package_1.reference_ids), 1) + self.assertEqual(self.package_1.reference_ids.name, self.package_1.name) + + def test_search(self): + self.package_1.reference_ids = [ + (0, 0, {"name": self.valid_reference_1}), + (0, 0, {"name": self.valid_reference2_1}), + ] + self.package_2.reference_ids = [ + (0, 0, {"name": self.valid_reference_2}), + (0, 0, {"name": self.valid_reference2_2}), + ] + packages = self.package.search([("name", "=", self.valid_reference_1)]) + self.assertEqual(len(packages), 1) + self.assertEqual(packages, self.package_1) + packages = self.package.search([("name", "=", self.valid_reference2_1)]) + self.assertEqual(len(packages), 1) + self.assertEqual(packages, self.package_1) + packages = self.package.search( + [ + "|", + ("name", "=", self.valid_reference2_1), + ("name", "=", self.valid_reference2_2), + ] + ) + self.assertEqual(len(packages), 2) diff --git a/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/views/stock_quant_package_view.xml b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/views/stock_quant_package_view.xml new file mode 100644 index 0000000..7eccf07 --- /dev/null +++ b/odoo-bringout-oca-stock-logistics-tracking-stock_quant_package_multi_reference/stock_quant_package_multi_reference/views/stock_quant_package_view.xml @@ -0,0 +1,24 @@ + + + + stock.quant.package + + + + True + 1 + + + + + + + + + + + +