mirror of
https://github.com/OCA/manufacture.git
synced 2025-01-28 16:37:15 +02:00
[14.0][MIG] quality_control_oca
This commit is contained in:
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
"name": "Quality Control OCA",
|
"name": "Quality Control OCA",
|
||||||
"version": "13.0.1.1.0",
|
"version": "14.0.1.1.0",
|
||||||
"category": "Quality Control",
|
"category": "Quality Control",
|
||||||
"license": "AGPL-3",
|
"license": "AGPL-3",
|
||||||
"summary": "Generic infrastructure for quality tests.",
|
"summary": "Generic infrastructure for quality tests.",
|
||||||
|
|||||||
@@ -266,41 +266,43 @@ class QcInspectionLine(models.Model):
|
|||||||
"possible_ql_values",
|
"possible_ql_values",
|
||||||
)
|
)
|
||||||
def _compute_quality_test_check(self):
|
def _compute_quality_test_check(self):
|
||||||
for l in self:
|
for insp_line in self:
|
||||||
if l.question_type == "qualitative":
|
if insp_line.question_type == "qualitative":
|
||||||
l.success = l.qualitative_value.ok
|
insp_line.success = insp_line.qualitative_value.ok
|
||||||
else:
|
else:
|
||||||
if l.uom_id.id == l.test_uom_id.id:
|
if insp_line.uom_id.id == insp_line.test_uom_id.id:
|
||||||
amount = l.quantitative_value
|
amount = insp_line.quantitative_value
|
||||||
else:
|
else:
|
||||||
amount = self.env["uom.uom"]._compute_quantity(
|
amount = self.env["uom.uom"]._compute_quantity(
|
||||||
l.quantitative_value, l.test_uom_id.id
|
insp_line.quantitative_value, insp_line.test_uom_id.id
|
||||||
)
|
)
|
||||||
l.success = l.max_value >= amount >= l.min_value
|
insp_line.success = insp_line.max_value >= amount >= insp_line.min_value
|
||||||
|
|
||||||
@api.depends(
|
@api.depends(
|
||||||
"possible_ql_values", "min_value", "max_value", "test_uom_id", "question_type"
|
"possible_ql_values", "min_value", "max_value", "test_uom_id", "question_type"
|
||||||
)
|
)
|
||||||
def _compute_valid_values(self):
|
def _compute_valid_values(self):
|
||||||
for l in self:
|
for insp_line in self:
|
||||||
if l.question_type == "qualitative":
|
if insp_line.question_type == "qualitative":
|
||||||
l.valid_values = ", ".join(
|
insp_line.valid_values = ", ".join(
|
||||||
[x.name for x in l.possible_ql_values if x.ok]
|
[x.name for x in insp_line.possible_ql_values if x.ok]
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
l.valid_values = "{} ~ {}".format(
|
insp_line.valid_values = "{} ~ {}".format(
|
||||||
formatLang(self.env, l.min_value),
|
formatLang(self.env, insp_line.min_value),
|
||||||
formatLang(self.env, l.max_value),
|
formatLang(self.env, insp_line.max_value),
|
||||||
)
|
)
|
||||||
if self.env.ref("uom.group_uom") in self.env.user.groups_id:
|
if self.env.ref("uom.group_uom") in self.env.user.groups_id:
|
||||||
l.valid_values += " %s" % l.test_uom_id.name
|
insp_line.valid_values += " %s" % insp_line.test_uom_id.name
|
||||||
|
|
||||||
inspection_id = fields.Many2one(
|
inspection_id = fields.Many2one(
|
||||||
comodel_name="qc.inspection", string="Inspection", ondelete="cascade"
|
comodel_name="qc.inspection", string="Inspection", ondelete="cascade"
|
||||||
)
|
)
|
||||||
name = fields.Char(string="Question", readonly=True)
|
name = fields.Char(string="Question", readonly=True)
|
||||||
product_id = fields.Many2one(
|
product_id = fields.Many2one(
|
||||||
comodel_name="product.product", related="inspection_id.product_id", store=True,
|
comodel_name="product.product",
|
||||||
|
related="inspection_id.product_id",
|
||||||
|
store=True,
|
||||||
)
|
)
|
||||||
test_line = fields.Many2one(
|
test_line = fields.Many2one(
|
||||||
comodel_name="qc.test.question", string="Test question", readonly=True
|
comodel_name="qc.test.question", string="Test question", readonly=True
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ class QcTest(models.Model):
|
|||||||
copy=True,
|
copy=True,
|
||||||
)
|
)
|
||||||
object_id = fields.Reference(
|
object_id = fields.Reference(
|
||||||
string="Reference object", selection="object_selection_values",
|
string="Reference object",
|
||||||
|
selection="object_selection_values",
|
||||||
)
|
)
|
||||||
fill_correct_values = fields.Boolean(string="Pre-fill with correct values")
|
fill_correct_values = fields.Boolean(string="Pre-fill with correct values")
|
||||||
type = fields.Selection(
|
type = fields.Selection(
|
||||||
|
|||||||
@@ -2,17 +2,19 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|||||||
access_user_qc_inspection,qc_inspection,model_qc_inspection,group_quality_control_user,1,1,1,1
|
access_user_qc_inspection,qc_inspection,model_qc_inspection,group_quality_control_user,1,1,1,1
|
||||||
access_user_qc_inspection_line,qc_inspection_line,model_qc_inspection_line,group_quality_control_user,1,1,1,1
|
access_user_qc_inspection_line,qc_inspection_line,model_qc_inspection_line,group_quality_control_user,1,1,1,1
|
||||||
access_user_qc_test,qc_test user,model_qc_test,group_quality_control_user,1,0,0,0
|
access_user_qc_test,qc_test user,model_qc_test,group_quality_control_user,1,0,0,0
|
||||||
access_user_qc_test_question,qc_test_question user,model_qc_test_question,group_quality_control_user,1,0,0,0
|
|
||||||
access_user_qc_test_question_value,qc_test_question_value_user,model_qc_test_question_value,group_quality_control_user,1,0,0,0
|
|
||||||
access_manager_qc_test,qc_test manager,model_qc_test,group_quality_control_manager,1,1,1,1
|
access_manager_qc_test,qc_test manager,model_qc_test,group_quality_control_manager,1,1,1,1
|
||||||
|
access_user_qc_test_question,qc_test_question user,model_qc_test_question,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_test_question,qc_test_question manager,model_qc_test_question,group_quality_control_manager,1,1,1,1
|
access_manager_qc_test_question,qc_test_question manager,model_qc_test_question,group_quality_control_manager,1,1,1,1
|
||||||
access_manager_qc_test_question_value,qc_test_question_value,model_qc_test_question_value,group_quality_control_manager,1,1,1,1
|
access_user_qc_test_question_value,qc_test_question_value user,model_qc_test_question_value,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_test_category,qc_test_category,model_qc_test_category,group_quality_control_manager,1,1,1,1
|
access_manager_qc_test_question_value,qc_test_question_value manager,model_qc_test_question_value,group_quality_control_manager,1,1,1,1
|
||||||
access_manager_qc_trigger_user,qc_trigger user,model_qc_trigger,group_quality_control_user,1,0,0,0
|
access_user_qc_test_category,qc_test_category user,model_qc_test_category,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_trigger_manager,qc_trigger manager,model_qc_trigger,group_quality_control_manager,1,1,1,1
|
access_manager_qc_test_category,qc_test_category manager,model_qc_test_category,group_quality_control_manager,1,1,1,1
|
||||||
access_manager_qc_trigger_product_category_line_user,qc_trigger product_category line user,model_qc_trigger_product_category_line,group_quality_control_user,1,0,0,0
|
access_user_qc_trigger,qc_trigger user,model_qc_trigger,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_trigger_product_category_line_manager,qc_trigger product_category line manager,model_qc_trigger_product_category_line,group_quality_control_manager,1,1,1,1
|
access_manager_qc_trigger,qc_trigger manager,model_qc_trigger,group_quality_control_manager,1,1,1,1
|
||||||
access_manager_qc_trigger_product_template_line_user,qc_trigger product_template line user,model_qc_trigger_product_template_line,,1,0,0,0
|
access_user_qc_trigger_product_category_line,qc_trigger_product_category_line user,model_qc_trigger_product_category_line,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_trigger_product_template_line_manager,qc_trigger product_template line manager,model_qc_trigger_product_template_line,group_quality_control_manager,1,1,1,1
|
access_manager_qc_trigger_product_category_line,qc_trigger_product_category_line manager,model_qc_trigger_product_category_line,group_quality_control_manager,1,1,1,1
|
||||||
access_manager_qc_trigger_product_line_user,qc_trigger product line user,model_qc_trigger_product_line,,1,0,0,0
|
access_user_qc_trigger_product_template_line,qc_trigger_product_template_line user,model_qc_trigger_product_template_line,group_quality_control_user,1,0,0,0
|
||||||
access_manager_qc_trigger_product_line_manager,qc_trigger product line manager,model_qc_trigger_product_line,group_quality_control_manager,1,1,1,1
|
access_manager_qc_trigger_product_template_line,qc_trigger_product_template_line manager,model_qc_trigger_product_template_line,group_quality_control_manager,1,1,1,1
|
||||||
|
access_user_qc_trigger_product_line,qc_trigger_product_line user,model_qc_trigger_product_line,group_quality_control_user,1,0,0,0
|
||||||
|
access_manager_qc_trigger_product_line,qc_trigger_product_line manager,model_qc_trigger_product_line,group_quality_control_manager,1,1,1,1
|
||||||
|
access_user_qc_inspection_set_test,qc_inspection_set_test user,model_qc_inspection_set_test,group_quality_control_user,1,1,1,0
|
||||||
|
|||||||
|
@@ -10,7 +10,7 @@
|
|||||||
name="Quality Control"
|
name="Quality Control"
|
||||||
id="qc_menu"
|
id="qc_menu"
|
||||||
groups="group_quality_control_user"
|
groups="group_quality_control_user"
|
||||||
web_icon="quality_control_oca/static/description/icon.png"
|
web_icon="quality_control_oca,static/description/icon.png"
|
||||||
sequence="40"
|
sequence="40"
|
||||||
/>
|
/>
|
||||||
<menuitem
|
<menuitem
|
||||||
|
|||||||
@@ -29,7 +29,19 @@
|
|||||||
<tree string="Quality control triggers" editable="bottom">
|
<tree string="Quality control triggers" editable="bottom">
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="company_id" groups="base.group_multi_company" />
|
<field name="company_id" groups="base.group_multi_company" />
|
||||||
|
<field name="partner_selectable" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
<record model="ir.actions.act_window" id="action_qc_trigger">
|
||||||
|
<field name="name">Triggers</field>
|
||||||
|
<field name="res_model">qc.trigger</field>
|
||||||
|
<field name="view_mode">tree,form</field>
|
||||||
|
</record>
|
||||||
|
<menuitem
|
||||||
|
name="Triggers"
|
||||||
|
parent="menu_qc_config"
|
||||||
|
id="qc_trigger_menu"
|
||||||
|
action="action_qc_trigger"
|
||||||
|
/>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|||||||
Reference in New Issue
Block a user