From d7ff8ac2685129973040c7b049c1629dba172d34 Mon Sep 17 00:00:00 2001 From: cosmos Date: Mon, 12 Dec 2022 11:53:38 -0500 Subject: [PATCH] Add button Generate Samples --- locale/es.po | 6 +++++- maintenance.py | 21 +++++++++++++++++++++ maintenance.xml | 5 +++++ view/maintenance_form.xml | 1 + 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/locale/es.po b/locale/es.po index 8705102..1d0bc4a 100644 --- a/locale/es.po +++ b/locale/es.po @@ -1304,4 +1304,8 @@ msgstr "Mantenimiento Inicial" msgctxt "model:ir.model.button,string:maintenance_initial_button" msgid "Maintenance Initial" -msgstr "Mantenimiento Inicial" \ No newline at end of file +msgstr "Mantenimiento Inicial" + +msgctxt "model:ir.model.button,string:maintenance_samples_button" +msgid "Generate Samples" +msgstr "Generar Muestras" diff --git a/maintenance.py b/maintenance.py index 92fcb4c..54c7bde 100644 --- a/maintenance.py +++ b/maintenance.py @@ -293,6 +293,7 @@ class Maintenance(Workflow, ModelSQL, ModelView): 'in_progress': {'invisible': Eval('state').in_(['draft', 'in_progress', 'finished'])}, 'finished': {'invisible': (Eval('state').in_(['finished'])) | ((Eval('maintenance_type') == 'corrective') & (Eval('maintenance_lines') == ()))}, + 'samples': {'invisible': (Eval('state').in_(['finished'])) | (Eval('lines_calibration') != ())}, 'calibrate': {'invisible': (Eval('lines_calibration') == ()) | (Eval('state').in_(['finished'])), 'depends': ['state'],} }) @@ -562,6 +563,26 @@ class Maintenance(Workflow, ModelSQL, ModelView): maintenance.code = maintenance.id maintenance.save() + @classmethod + @ModelView.button + def samples(cls, maintenances): + pool = Pool() + CalibrationSample = pool.get('optical_equipment.maintenance.calibration_sample') + for maintenance in maintenances: + patterns = maintenance.equipment.product.k_pattern_list + for pattern in patterns: + samples = [] + calibrationSample = CalibrationSample( + maintenance=maintenance.id, + product=maintenance.equipment.product.template.id, + value_patterns=pattern.id, + value_equipment=pattern.pattern, + mistake=0, + mistake_rate=0) + samples = [calibrationSample]*5 + maintenance.lines_calibration+=tuple(samples) + maintenance.save() + @classmethod @ModelView.button def calibrate(cls, maintenances): diff --git a/maintenance.xml b/maintenance.xml index 466357e..087e5c1 100644 --- a/maintenance.xml +++ b/maintenance.xml @@ -102,6 +102,11 @@ finished Finished + + + samples + Generate Samples + calibrate diff --git a/view/maintenance_form.xml b/view/maintenance_form.xml index 3015151..62cbefe 100644 --- a/view/maintenance_form.xml +++ b/view/maintenance_form.xml @@ -80,6 +80,7 @@