[14.0][MIG] quality_control_oca

This commit is contained in:
Enrique
2021-03-05 19:15:15 +01:00
committed by Enrique Martín
parent a7ef3e7344
commit 489e2670f5
6 changed files with 48 additions and 31 deletions

View File

@@ -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.",

View File

@@ -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

View File

@@ -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(

View File

@@ -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
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_user_qc_inspection qc_inspection model_qc_inspection group_quality_control_user 1 1 1 1
3 access_user_qc_inspection_line qc_inspection_line model_qc_inspection_line group_quality_control_user 1 1 1 1
4 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
5 access_manager_qc_test qc_test manager model_qc_test group_quality_control_manager 1 1 1 1
6 access_user_qc_test_question qc_test_question user model_qc_test_question group_quality_control_user 1 0 0 0
7 access_manager_qc_test_question qc_test_question manager model_qc_test_question group_quality_control_manager 1 1 1 1
8 access_manager_qc_test_question_value access_user_qc_test_question_value qc_test_question_value qc_test_question_value user model_qc_test_question_value group_quality_control_manager group_quality_control_user 1 1 0 1 0 1 0
9 access_manager_qc_test_category access_manager_qc_test_question_value qc_test_category qc_test_question_value manager model_qc_test_category model_qc_test_question_value group_quality_control_manager 1 1 1 1
10 access_manager_qc_trigger_user access_user_qc_test_category qc_trigger user qc_test_category user model_qc_trigger model_qc_test_category group_quality_control_user 1 0 0 0
11 access_manager_qc_trigger_manager access_manager_qc_test_category qc_trigger manager qc_test_category manager model_qc_trigger model_qc_test_category group_quality_control_manager 1 1 1 1
12 access_manager_qc_trigger_product_category_line_user access_user_qc_trigger qc_trigger product_category line user qc_trigger user model_qc_trigger_product_category_line model_qc_trigger group_quality_control_user 1 0 0 0
13 access_manager_qc_trigger_product_category_line_manager access_manager_qc_trigger qc_trigger product_category line manager qc_trigger manager model_qc_trigger_product_category_line model_qc_trigger group_quality_control_manager 1 1 1 1
14 access_manager_qc_trigger_product_template_line_user access_user_qc_trigger_product_category_line qc_trigger product_template line user qc_trigger_product_category_line user model_qc_trigger_product_template_line model_qc_trigger_product_category_line group_quality_control_user 1 0 0 0
15 access_manager_qc_trigger_product_template_line_manager access_manager_qc_trigger_product_category_line qc_trigger product_template line manager qc_trigger_product_category_line manager model_qc_trigger_product_template_line model_qc_trigger_product_category_line group_quality_control_manager 1 1 1 1
16 access_manager_qc_trigger_product_line_user access_user_qc_trigger_product_template_line qc_trigger product line user qc_trigger_product_template_line user model_qc_trigger_product_line model_qc_trigger_product_template_line group_quality_control_user 1 0 0 0
17 access_manager_qc_trigger_product_line_manager access_manager_qc_trigger_product_template_line qc_trigger product line manager qc_trigger_product_template_line manager model_qc_trigger_product_line model_qc_trigger_product_template_line group_quality_control_manager 1 1 1 1
18 access_user_qc_trigger_product_line qc_trigger_product_line user model_qc_trigger_product_line group_quality_control_user 1 0 0 0
19 access_manager_qc_trigger_product_line qc_trigger_product_line manager model_qc_trigger_product_line group_quality_control_manager 1 1 1 1
20 access_user_qc_inspection_set_test qc_inspection_set_test user model_qc_inspection_set_test group_quality_control_user 1 1 1 0

View File

@@ -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

View File

@@ -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>