From 3cfe548ee03f96713c7a6d462409be9c825d22e7 Mon Sep 17 00:00:00 2001 From: Atul Patel Date: Tue, 30 Jan 2024 09:12:41 +0000 Subject: [PATCH] [FIX] point_of_sale: set archived warehouse for pos type Found error during migration in customer database. when company is archived but will get that company on `self.env.company` of pos_config table, this error is generated when it's try to create the record for pos config from pos_resturant module by data file (defined on this commit) https://github.com/odoo/odoo/commit/3236c1cb5025d2c2d446d11f67fda1ea51ceb992 as picking_type_id field in pos_config is required and we set default value by fetching warehouse for related company but here as company is archived, related warehouse is also archived and that why we didnot get picking_type_id for archived company and that will raise Error : ``` File "/home/odoo/src/odoo/17.0/odoo/models.py", line 4787, in _create cr.execute(SQL( File "/home/odoo/src/odoo/17.0/odoo/sql_db.py", line 332, in execute res = self._obj.execute(query, params) psycopg2.errors.NotNullViolation: null value in column "picking_type_id" of relation "pos_config" violates not-null constraint ``` closes odoo/odoo#162590 X-original-commit: 34b9bf83eeba55c1e05a916064dafcc7a9d7356e Signed-off-by: Joseph Caburnay (jcb) Signed-off-by: Atul Patel (atp) --- addons/point_of_sale/models/pos_config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/point_of_sale/models/pos_config.py b/addons/point_of_sale/models/pos_config.py index 38472c3b7d1..5fe4a00073c 100644 --- a/addons/point_of_sale/models/pos_config.py +++ b/addons/point_of_sale/models/pos_config.py @@ -19,7 +19,7 @@ class PosConfig(models.Model): return self.env['stock.warehouse'].search(self.env['stock.warehouse']._check_company_domain(self.env.company), limit=1).id def _default_picking_type_id(self): - return self.env['stock.warehouse'].search(self.env['stock.warehouse']._check_company_domain(self.env.company), limit=1).pos_type_id.id + return self.env['stock.warehouse'].with_context(active_test=False).search(self.env['stock.warehouse']._check_company_domain(self.env.company), limit=1).pos_type_id.id def _default_sale_journal(self): return self.env['account.journal'].search([