From 0f0508a737b0f03a0dac3eb361651484be084618 Mon Sep 17 00:00:00 2001 From: Jaime Arroyo Date: Thu, 2 Jul 2020 16:07:45 +0200 Subject: [PATCH] [IMP] pos_default_partner add continuation --- pos_default_partner/README.rst | 8 ++++- pos_default_partner/__manifest__.py | 2 +- pos_default_partner/models/__init__.py | 3 +- pos_default_partner/models/company.py | 11 ------- pos_default_partner/models/config.py | 12 ------- pos_default_partner/models/pos_config.py | 14 ++++++++ pos_default_partner/models/pos_order.py | 8 ++--- pos_default_partner/readme/CONFIGURE.rst | 3 +- pos_default_partner/readme/ROADMAP.rst | 1 + .../static/description/index.html | 28 +++++++++------- pos_default_partner/views/config_view.xml | 25 -------------- pos_default_partner/views/pos_config.xml | 33 +++++++++++++++++++ 12 files changed, 79 insertions(+), 69 deletions(-) delete mode 100644 pos_default_partner/models/company.py delete mode 100644 pos_default_partner/models/config.py create mode 100644 pos_default_partner/models/pos_config.py create mode 100644 pos_default_partner/readme/ROADMAP.rst delete mode 100644 pos_default_partner/views/config_view.xml create mode 100644 pos_default_partner/views/pos_config.xml 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

  • Akretion
-

Contributors

+

Contributors

  • Akretion

    @@ -415,7 +421,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
-

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

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