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 {
-
Set default partner on POS settings
+
Go to Point of Sale’s settings page and select a default customer for a
+specific PoS configuration.
+
+
+
+
Set the default customer also on the PoS UI.
-
+
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.
-
+
-
+
Akretion
@@ -415,7 +421,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
-
+
This module is maintained by the OCA.
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
+
+
+
+
+
+ Default customer to use if none is set
+
+
+
+
+
+
+
+
+
+
+
+
+
+