Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions sale_require_po_doc/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,14 @@ Authors
Contributors
------------

- Daniel Reis <[email protected]>
- Chandresh Thakkar <[email protected]>
- Chau Le <[email protected]>
- Daniel Reis <[email protected]>
- Chandresh Thakkar <[email protected]>
- Chau Le <[email protected]>

Other credits
-------------

- Open Source Integrators <[email protected]>
- Open Source Integrators <[email protected]>

Maintainers
-----------
Expand Down
6 changes: 5 additions & 1 deletion sale_require_po_doc/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@
"website": "https://github.com/OCA/sale-workflow",
"category": "Sales",
"depends": ["sale_management"],
"data": ["views/res_partner_view.xml", "views/sale_order_view.xml"],
"data": [
"views/res_partner_view.xml",
"views/sale_order_view.xml",
"views/res_config_settings.xml",
],
"auto_install": False,
"application": False,
"installable": True,
Expand Down
2 changes: 2 additions & 0 deletions sale_require_po_doc/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Copyright (C) 2021 Open Source Integrators
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import res_company
from . import res_config_settings
from . import res_partner
from . import sale_order
11 changes: 11 additions & 0 deletions sale_require_po_doc/models/res_company.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from odoo import fields, models


class ResCompany(models.Model):
_inherit = "res.company"

customer_need_po_default = fields.Boolean(
string="Default: Customer Requires PO",
help="If True, new customers will have 'Customer Requires PO' "
"enabled by default.",
)
9 changes: 9 additions & 0 deletions sale_require_po_doc/models/res_config_settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
from odoo import fields, models


class ResConfigSettings(models.TransientModel):
_inherit = "res.config.settings"

customer_need_po_default = fields.Boolean(
related="company_id.customer_need_po_default", readonly=False
)
1 change: 1 addition & 0 deletions sale_require_po_doc/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class ResPartner(models.Model):
customer_need_po = fields.Boolean(
string="Customer Requires PO",
tracking=True,
default=lambda self: self.env.company.customer_need_po_default,
help="A PO number will be required on the"
" Sales Order field for Customer Reference",
)
Expand Down
17 changes: 17 additions & 0 deletions sale_require_po_doc/tests/test_sale_require_po_doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def setUpClass(cls):
],
}
)
cls.company = cls.env.company

def test_require_customer_need_po(self):
self.partner.customer_need_po = True
Expand All @@ -55,3 +56,19 @@ def test_confirm_successfully(self):

self.sale.action_confirm()
self.assertEqual(self.sale.state, "sale")

def test_customer_need_po_default(self):
self.company.customer_need_po_default = True
partner = self.env["res.partner"].create(
{
"name": "Partner With PO Required",
}
)
self.assertTrue(partner.customer_need_po)
self.company.customer_need_po_default = False
partner = self.env["res.partner"].create(
{
"name": "Partner Without PO Required",
}
)
self.assertFalse(partner.customer_need_po)
17 changes: 17 additions & 0 deletions sale_require_po_doc/views/res_config_settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="res_config_settings_view_form_sale_require_po_doc" model="ir.ui.view">
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="sale.res_config_settings_view_form" />
<field name="arch" type="xml">
<setting id="order_warnings" position="after">
<setting
id="customer_need_po_default"
help="Check this if you want the sale order type required on sale order forms."
>
<field name="customer_need_po_default" />
</setting>
</setting>
</field>
</record>
</odoo>