[IMP] quality_control_stock_oca: sudo the process of creating the test and calculated fields, so no permissions have to be assigned to the sotck user

This commit is contained in:
Jon Erik Ceberio
2022-01-18 12:48:54 +01:00
parent 8ff3402ca2
commit 9eb29d6d67
4 changed files with 27 additions and 24 deletions

View File

@@ -13,7 +13,6 @@
"website": "https://github.com/OCA/manufacture",
"depends": ["quality_control_oca", "stock"],
"data": [
"security/ir.model.access.csv",
"views/qc_inspection_view.xml",
"views/stock_picking_view.xml",
"views/stock_production_lot_view.xml",

View File

@@ -33,11 +33,15 @@ class StockPicking(models.Model):
@api.depends("qc_inspections_ids", "qc_inspections_ids.state")
def _compute_count_inspections(self):
data = self.env["qc.inspection"].read_group(
[("id", "in", self.mapped("qc_inspections_ids").ids)],
["picking_id", "state"],
["picking_id", "state"],
lazy=False,
data = (
self.env["qc.inspection"]
.sudo()
.read_group(
[("id", "in", self.mapped("qc_inspections_ids").ids)],
["picking_id", "state"],
["picking_id", "state"],
lazy=False,
)
)
picking_data = {}
for d in data:
@@ -54,9 +58,11 @@ class StockPicking(models.Model):
def _action_done(self):
res = super()._action_done()
inspection_model = self.env["qc.inspection"]
qc_trigger = self.env["qc.trigger"].search(
[("picking_type_id", "=", self.picking_type_id.id)]
inspection_model = self.env["qc.inspection"].sudo()
qc_trigger = (
self.env["qc.trigger"]
.sudo()
.search([("picking_type_id", "=", self.picking_type_id.id)])
)
for operation in self.move_lines:
trigger_lines = set()
@@ -67,8 +73,10 @@ class StockPicking(models.Model):
]:
partner = self.partner_id if qc_trigger.partner_selectable else False
trigger_lines = trigger_lines.union(
self.env[model].get_trigger_line_for_product(
qc_trigger, operation.product_id, partner=partner
self.env[model]
.sudo()
.get_trigger_line_for_product(
qc_trigger, operation.product_id.sudo(), partner=partner
)
)
for trigger_line in _filter_trigger_lines(trigger_lines):

View File

@@ -30,11 +30,15 @@ class StockProductionLot(models.Model):
@api.depends("qc_inspections_ids", "qc_inspections_ids.state")
def _compute_count_inspections(self):
data = self.env["qc.inspection"].read_group(
[("id", "in", self.mapped("qc_inspections_ids").ids)],
["lot_id", "state"],
["lot_id", "state"],
lazy=False,
data = (
self.env["qc.inspection"]
.sudo()
.read_group(
[("id", "in", self.mapped("qc_inspections_ids").ids)],
["lot_id", "state"],
["lot_id", "state"],
lazy=False,
)
)
lot_data = {}
for d in data:

View File

@@ -1,8 +0,0 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_stock_user_qc_inspection,qc_inspection stock_user,quality_control_oca.model_qc_inspection,stock.group_stock_user,1,1,1,0
access_stock_user_qc_inspection_line,qc_inspection_line stock_user,quality_control_oca.model_qc_inspection_line,stock.group_stock_user,1,1,1,0
access_stock_user_qc_test,qc_test stock_user,quality_control_oca.model_qc_test,stock.group_stock_user,1,0,0,0
access_stock_user_qc_test_question,qc_test_question stock_user,quality_control_oca.model_qc_test_question,stock.group_stock_user,1,0,0,0
access_stock_user_qc_test_question_value,qc_test_question_value stock_user,quality_control_oca.model_qc_test_question_value,stock.group_stock_user,1,0,0,0
access_stock_user_qc_trigger,qc_trigger stock user,quality_control_oca.model_qc_trigger,stock.group_stock_user,1,0,0,0
access_stock_user_qc_trigger_product_category_line,qc_trigger_product_category_line stock_user,quality_control_oca.model_qc_trigger_product_category_line,stock.group_stock_user,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_stock_user_qc_inspection qc_inspection stock_user quality_control_oca.model_qc_inspection stock.group_stock_user 1 1 1 0
3 access_stock_user_qc_inspection_line qc_inspection_line stock_user quality_control_oca.model_qc_inspection_line stock.group_stock_user 1 1 1 0
4 access_stock_user_qc_test qc_test stock_user quality_control_oca.model_qc_test stock.group_stock_user 1 0 0 0
5 access_stock_user_qc_test_question qc_test_question stock_user quality_control_oca.model_qc_test_question stock.group_stock_user 1 0 0 0
6 access_stock_user_qc_test_question_value qc_test_question_value stock_user quality_control_oca.model_qc_test_question_value stock.group_stock_user 1 0 0 0
7 access_stock_user_qc_trigger qc_trigger stock user quality_control_oca.model_qc_trigger stock.group_stock_user 1 0 0 0
8 access_stock_user_qc_trigger_product_category_line qc_trigger_product_category_line stock_user quality_control_oca.model_qc_trigger_product_category_line stock.group_stock_user 1 0 0 0