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",
|
||||
"version": "13.0.1.1.0",
|
||||
"version": "14.0.1.1.0",
|
||||
"category": "Quality Control",
|
||||
"license": "AGPL-3",
|
||||
"summary": "Generic infrastructure for quality tests.",
|
||||
|
||||
@@ -266,41 +266,43 @@ class QcInspectionLine(models.Model):
|
||||
"possible_ql_values",
|
||||
)
|
||||
def _compute_quality_test_check(self):
|
||||
for l in self:
|
||||
if l.question_type == "qualitative":
|
||||
l.success = l.qualitative_value.ok
|
||||
for insp_line in self:
|
||||
if insp_line.question_type == "qualitative":
|
||||
insp_line.success = insp_line.qualitative_value.ok
|
||||
else:
|
||||
if l.uom_id.id == l.test_uom_id.id:
|
||||
amount = l.quantitative_value
|
||||
if insp_line.uom_id.id == insp_line.test_uom_id.id:
|
||||
amount = insp_line.quantitative_value
|
||||
else:
|
||||
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(
|
||||
"possible_ql_values", "min_value", "max_value", "test_uom_id", "question_type"
|
||||
)
|
||||
def _compute_valid_values(self):
|
||||
for l in self:
|
||||
if l.question_type == "qualitative":
|
||||
l.valid_values = ", ".join(
|
||||
[x.name for x in l.possible_ql_values if x.ok]
|
||||
for insp_line in self:
|
||||
if insp_line.question_type == "qualitative":
|
||||
insp_line.valid_values = ", ".join(
|
||||
[x.name for x in insp_line.possible_ql_values if x.ok]
|
||||
)
|
||||
else:
|
||||
l.valid_values = "{} ~ {}".format(
|
||||
formatLang(self.env, l.min_value),
|
||||
formatLang(self.env, l.max_value),
|
||||
insp_line.valid_values = "{} ~ {}".format(
|
||||
formatLang(self.env, insp_line.min_value),
|
||||
formatLang(self.env, insp_line.max_value),
|
||||
)
|
||||
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(
|
||||
comodel_name="qc.inspection", string="Inspection", ondelete="cascade"
|
||||
)
|
||||
name = fields.Char(string="Question", readonly=True)
|
||||
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(
|
||||
comodel_name="qc.test.question", string="Test question", readonly=True
|
||||
|
||||
@@ -33,7 +33,8 @@ class QcTest(models.Model):
|
||||
copy=True,
|
||||
)
|
||||
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")
|
||||
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_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_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_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_value,qc_test_question_value,model_qc_test_question_value,group_quality_control_manager,1,1,1,1
|
||||
access_manager_qc_test_category,qc_test_category,model_qc_test_category,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_manager_qc_trigger_manager,qc_trigger manager,model_qc_trigger,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_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_product_template_line_user,qc_trigger product_template line user,model_qc_trigger_product_template_line,,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_line_user,qc_trigger product line user,model_qc_trigger_product_line,,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_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_question_value,qc_test_question_value manager,model_qc_test_question_value,group_quality_control_manager,1,1,1,1
|
||||
access_user_qc_test_category,qc_test_category user,model_qc_test_category,group_quality_control_user,1,0,0,0
|
||||
access_manager_qc_test_category,qc_test_category manager,model_qc_test_category,group_quality_control_manager,1,1,1,1
|
||||
access_user_qc_trigger,qc_trigger user,model_qc_trigger,group_quality_control_user,1,0,0,0
|
||||
access_manager_qc_trigger,qc_trigger manager,model_qc_trigger,group_quality_control_manager,1,1,1,1
|
||||
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_category_line,qc_trigger_product_category_line manager,model_qc_trigger_product_category_line,group_quality_control_manager,1,1,1,1
|
||||
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_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"
|
||||
id="qc_menu"
|
||||
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"
|
||||
/>
|
||||
<menuitem
|
||||
|
||||
@@ -29,7 +29,19 @@
|
||||
<tree string="Quality control triggers" editable="bottom">
|
||||
<field name="name" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
<field name="partner_selectable" />
|
||||
</tree>
|
||||
</field>
|
||||
</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>
|
||||
|
||||
Reference in New Issue
Block a user