diff --git a/pos_default_partner/README.rst b/pos_default_partner/README.rst index 32e8e05c..7307b41f 100644 --- a/pos_default_partner/README.rst +++ b/pos_default_partner/README.rst @@ -35,7 +35,13 @@ Define a default partner for Point Of Sale order on each company. Configuration ============= -Set default partner on POS settings +Go to Point of Sale's settings page and select a default customer for a +specific PoS configuration. + +Known issues / Roadmap +====================== + +Set the default customer also on the PoS UI. Bug Tracker =========== diff --git a/pos_default_partner/__manifest__.py b/pos_default_partner/__manifest__.py index a6d0e071..26274209 100644 --- a/pos_default_partner/__manifest__.py +++ b/pos_default_partner/__manifest__.py @@ -14,7 +14,7 @@ "point_of_sale", ], "data": [ - "views/config_view.xml" + 'views/pos_config.xml', ], "website": "https://github.com/OCA/pos", "installable": True, diff --git a/pos_default_partner/models/__init__.py b/pos_default_partner/models/__init__.py index f8c83388..7723e42a 100644 --- a/pos_default_partner/models/__init__.py +++ b/pos_default_partner/models/__init__.py @@ -1,3 +1,2 @@ -from . import company -from . import config from . import pos_order +from . import pos_config diff --git a/pos_default_partner/models/company.py b/pos_default_partner/models/company.py deleted file mode 100644 index dca35f36..00000000 --- a/pos_default_partner/models/company.py +++ /dev/null @@ -1,11 +0,0 @@ -# copyright 2020 Akretion David BEAL -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import fields, models - - -class ResCompany(models.Model): - _inherit = "res.company" - - pos_default_partner_id = fields.Many2one( - comodel_name="res.partner", string="Default customer") diff --git a/pos_default_partner/models/config.py b/pos_default_partner/models/config.py deleted file mode 100644 index f3a8481a..00000000 --- a/pos_default_partner/models/config.py +++ /dev/null @@ -1,12 +0,0 @@ -# copyright 2020 Akretion David BEAL -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from odoo import fields, models - - -class ResConfigSettings(models.TransientModel): - _inherit = "res.config.settings" - - pos_default_partner_id = fields.Many2one( - comodel_name="res.partner", readonly=False, - related="company_id.pos_default_partner_id") diff --git a/pos_default_partner/models/pos_config.py b/pos_default_partner/models/pos_config.py new file mode 100644 index 00000000..96f2df8b --- /dev/null +++ b/pos_default_partner/models/pos_config.py @@ -0,0 +1,14 @@ +# Copyright 2020 Creu Blanca +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo import fields, models + + +class PosConfig(models.Model): + + _inherit = 'pos.config' + + default_partner_id = fields.Many2one( + comodel_name="res.partner", + string="Default Customer", + ) diff --git a/pos_default_partner/models/pos_order.py b/pos_default_partner/models/pos_order.py index 5d2eac2c..a6300bfa 100644 --- a/pos_default_partner/models/pos_order.py +++ b/pos_default_partner/models/pos_order.py @@ -9,9 +9,7 @@ class PosOrder(models.Model): @api.model def create(self, vals): - if not vals.get("partner_id"): - company_id = vals.get("company_id") or self.env.user.company_id.id - partner = self.env["res.company"].browse(company_id).pos_default_partner_id - if partner: - vals["partner_id"] = partner.id + session = self.env["pos.session"].browse(vals.get("session_id")) + if session.config_id.default_partner_id and not vals.get("partner_id"): + vals["partner_id"] = session.config_id.default_partner_id.id return super().create(vals) diff --git a/pos_default_partner/readme/CONFIGURE.rst b/pos_default_partner/readme/CONFIGURE.rst index 047aa92a..896aabcf 100644 --- a/pos_default_partner/readme/CONFIGURE.rst +++ b/pos_default_partner/readme/CONFIGURE.rst @@ -1 +1,2 @@ -Set default partner on POS settings +Go to Point of Sale's settings page and select a default customer for a +specific PoS configuration. diff --git a/pos_default_partner/readme/ROADMAP.rst b/pos_default_partner/readme/ROADMAP.rst new file mode 100644 index 00000000..44ddb1d9 --- /dev/null +++ b/pos_default_partner/readme/ROADMAP.rst @@ -0,0 +1 @@ +Set the default customer also on the PoS UI. diff --git a/pos_default_partner/static/description/index.html b/pos_default_partner/static/description/index.html index 7ef3c9e2..17522e7a 100644 --- a/pos_default_partner/static/description/index.html +++ b/pos_default_partner/static/description/index.html @@ -373,21 +373,27 @@ ul.auto-toc {

Configuration

-

Set default partner on POS settings

+

Go to Point of Sale’s settings page and select a default customer for a +specific PoS configuration.

+
+
+

Known issues / Roadmap

+

Set the default customer also on the PoS UI.

-

Bug Tracker

+

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 smashing it by providing a detailed and welcomed @@ -395,15 +401,15 @@ If you spotted it first, help us smashing it by providing a detailed and welcome

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

-

Credits

+

Credits

-

Authors

+

Authors

-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose diff --git a/pos_default_partner/views/config_view.xml b/pos_default_partner/views/config_view.xml deleted file mode 100644 index 25592613..00000000 --- a/pos_default_partner/views/config_view.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - res.config.settings - - - -

POS customer

-
-
-
-
-
-
- - - - - diff --git a/pos_default_partner/views/pos_config.xml b/pos_default_partner/views/pos_config.xml new file mode 100644 index 00000000..931ee620 --- /dev/null +++ b/pos_default_partner/views/pos_config.xml @@ -0,0 +1,33 @@ + + + + + + + pos.config.form (in pos_default_partner) + pos.config + + + +

Customers

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