diff --git a/stock_picking_on_hold/__manifest__.py b/stock_picking_on_hold/__manifest__.py index 742dc6519373..2c1d3dab9613 100644 --- a/stock_picking_on_hold/__manifest__.py +++ b/stock_picking_on_hold/__manifest__.py @@ -15,6 +15,7 @@ "license": "AGPL-3", "data": [ "views/payment_method.xml", + "views/res_config_settings_view.xml", "views/sale_order_view.xml", ], "installable": True, diff --git a/stock_picking_on_hold/i18n/de.po b/stock_picking_on_hold/i18n/de.po new file mode 100644 index 000000000000..9a1da67599dc --- /dev/null +++ b/stock_picking_on_hold/i18n/de.po @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_on_hold +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-26 09:38+0000\n" +"PO-Revision-Date: 2023-09-26 09:38+0000\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_picking_on_hold +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_account_payment_method__hold_picking_until_payment +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_res_config_settings__hold_picking_until_payment +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_webkul_website_addons__hold_picking_until_payment +msgid "Hold Picking Until Payment" +msgstr "Blockiere Lieferung vor Zahlung" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,help:stock_picking_on_hold.field_account_payment_method__hold_picking_until_payment +msgid "Hold deliveries on sale orders with this payment method until invoiced" +msgstr "Blockiert Lieferungen an Verkaufsaufträgen mit dieser Zahlmethode bis der Auftrag abgerechnet ist" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,help:stock_picking_on_hold.field_res_config_settings__hold_picking_until_payment +#: model:ir.model.fields,help:stock_picking_on_hold.field_webkul_website_addons__hold_picking_until_payment +#: model_terms:ir.ui.view,arch_db:stock_picking_on_hold.res_config_settings_view_form_inherit +msgid "Hold deliveries on sale orders without a payment method until invoiced" +msgstr "Blockiert Lieferungen an Verkaufsaufträgen ohne Zahlmethode bis der Auftrag abgerechnet ist" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_sale_order__payment_method_id +msgid "Payment Method" +msgstr "Zahlungsmethode" + +#. module: stock_picking_on_hold +#: model:ir.model,name:stock_picking_on_hold.model_account_payment_method +msgid "Payment Methods" +msgstr "Zahlungsmethoden" diff --git a/stock_picking_on_hold/i18n/stock_picking_on_hold.pot b/stock_picking_on_hold/i18n/stock_picking_on_hold.pot new file mode 100644 index 000000000000..2a90f16cc244 --- /dev/null +++ b/stock_picking_on_hold/i18n/stock_picking_on_hold.pot @@ -0,0 +1,45 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * stock_picking_on_hold +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 15.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-26 10:30+0000\n" +"PO-Revision-Date: 2023-09-26 10:30+0000\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_picking_on_hold +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_account_payment_method__hold_picking_until_payment +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_res_config_settings__hold_picking_until_payment +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_webkul_website_addons__hold_picking_until_payment +msgid "Hold Picking Until Payment" +msgstr "" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,help:stock_picking_on_hold.field_account_payment_method__hold_picking_until_payment +msgid "Hold deliveries on sale orders with this payment method until invoiced" +msgstr "" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,help:stock_picking_on_hold.field_res_config_settings__hold_picking_until_payment +#: model:ir.model.fields,help:stock_picking_on_hold.field_webkul_website_addons__hold_picking_until_payment +#: model_terms:ir.ui.view,arch_db:stock_picking_on_hold.res_config_settings_view_form_inherit +msgid "Hold deliveries on sale orders without a payment method until invoiced" +msgstr "" + +#. module: stock_picking_on_hold +#: model:ir.model.fields,field_description:stock_picking_on_hold.field_sale_order__payment_method_id +msgid "Payment Method" +msgstr "" + +#. module: stock_picking_on_hold +#: model:ir.model,name:stock_picking_on_hold.model_account_payment_method +msgid "Payment Methods" +msgstr "" diff --git a/stock_picking_on_hold/models/__init__.py b/stock_picking_on_hold/models/__init__.py index 7517e58f7d3d..614580f54172 100644 --- a/stock_picking_on_hold/models/__init__.py +++ b/stock_picking_on_hold/models/__init__.py @@ -1 +1 @@ -from . import payment_method, sale_order +from . import payment_method, res_config_settings, sale_order diff --git a/stock_picking_on_hold/models/payment_method.py b/stock_picking_on_hold/models/payment_method.py index c0cb32a23a0f..284973a9c818 100644 --- a/stock_picking_on_hold/models/payment_method.py +++ b/stock_picking_on_hold/models/payment_method.py @@ -7,7 +7,6 @@ class PaymentMethod(models.Model): _inherit = "account.payment.method" hold_picking_until_payment = fields.Boolean( - help="If set to true, pickings will not be automatically confirmed when " - "the invoice has not been paid.", + help="Hold deliveries on sale orders with this payment method until invoiced", default=True, ) diff --git a/stock_picking_on_hold/models/res_config_settings.py b/stock_picking_on_hold/models/res_config_settings.py new file mode 100644 index 000000000000..bf3923ff686b --- /dev/null +++ b/stock_picking_on_hold/models/res_config_settings.py @@ -0,0 +1,13 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = "res.config.settings" + + hold_picking_until_payment = fields.Boolean( + help="Hold deliveries on sale orders without a payment method until invoiced", + config_parameter="stock_picking_on_hold.hold_picking_until_payment", + default=True, + ) diff --git a/stock_picking_on_hold/models/sale_order.py b/stock_picking_on_hold/models/sale_order.py index 1453095329eb..f2998a9837d6 100644 --- a/stock_picking_on_hold/models/sale_order.py +++ b/stock_picking_on_hold/models/sale_order.py @@ -13,9 +13,14 @@ class SaleOrder(models.Model): ) def auto_set_invoice_block(self): - recs = self.filtered_domain( - [("payment_method_id.hold_picking_until_payment", "=", True)] - ) + default_hold = self.env["ir.config_parameter"].sudo().get_param("stock_picking_on_hold.hold_picking_until_payment", False) + + domain = [("payment_method_id.hold_picking_until_payment", "=", True)] + if default_hold: + domain.insert(0, "|") + domain.append(("payment_method_id", "=", False)) + + recs = self.filtered_domain(domain) if not recs: return diff --git a/stock_picking_on_hold/views/res_config_settings_view.xml b/stock_picking_on_hold/views/res_config_settings_view.xml new file mode 100644 index 000000000000..2ae1645389ce --- /dev/null +++ b/stock_picking_on_hold/views/res_config_settings_view.xml @@ -0,0 +1,28 @@ + + + + + res.config.settings.view.form.inherit + res.config.settings + + + +
+
+ +
+
+
+
+
+
+
+ +