summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Heinz <rhe@odoo.com>2019-12-12 10:10:35 +0000
committerRobin Heinz <rhe@odoo.com>2019-12-19 12:46:09 +0000
commitffd2502fb49a0e4910b781a126dd303665004048 (patch)
tree8c4986248cf0022a3a7cd153dd81634d9c892884
parent2312905fcf51bd294fa1bf19e740ec9eb804f8c8 (diff)
[IMP] point_of_sale: Show customer only and increase customer ranking.
Following the removing of the vendor and customer field, when we wanted to display customer in the back end, we saw all. We added a default filter when clicking on the menu button that displays only customer with a customer rank higher than 0. We also increase their customer ranks everytime they make an order in the front end. closes odoo/odoo#41769 Task-id: 2092483 Signed-off-by: pimodoo <pimodoo@users.noreply.github.com>
-rw-r--r--addons/point_of_sale/models/pos_order.py15
-rw-r--r--addons/point_of_sale/views/point_of_sale_view.xml2
2 files changed, 16 insertions, 1 deletions
diff --git a/addons/point_of_sale/models/pos_order.py b/addons/point_of_sale/models/pos_order.py
index f4f3b103609..4152d0dc333 100644
--- a/addons/point_of_sale/models/pos_order.py
+++ b/addons/point_of_sale/models/pos_order.py
@@ -366,6 +366,21 @@ class PosOrder(models.Model):
raise UserError(_("Order %s is not fully paid.") % self.name)
self.write({'state': 'paid'})
+
+ if self.partner_id:
+ try:
+ with self.env.cr.savepoint():
+ self.env.cr.execute("SELECT 'customer_rank' FROM res_partner WHERE ID=%s FOR UPDATE NOWAIT",
+ (self.partner_id.id,))
+ self.env.cr.execute("UPDATE res_partner SET customer_rank = customer_rank +1 WHERE ID=%s",
+ (self.partner_id.id,))
+ self.env.cache.remove(self.partner_id, self.partner_id._fields['customer_rank'])
+ except psycopg2.DatabaseError as e:
+ if e.pgcode == '55P03':
+ _logger.debug('Another transaction already locked partner rows. Cannot update partner ranks.')
+ else:
+ raise e
+
return True
def action_pos_order_invoice(self):
diff --git a/addons/point_of_sale/views/point_of_sale_view.xml b/addons/point_of_sale/views/point_of_sale_view.xml
index 31d9db50398..933233bc9a6 100644
--- a/addons/point_of_sale/views/point_of_sale_view.xml
+++ b/addons/point_of_sale/views/point_of_sale_view.xml
@@ -17,7 +17,7 @@
<menuitem id="menu_point_of_sale_customer"
name="Customers"
parent="menu_point_of_sale"
- action="base.action_partner_customer_form"
+ action="account.res_partner_action_customer"
sequence="100"/>
<!-- Reporting menu -->