From 739032bd8eb36b23f436050e479cd8d8f0b4111f Mon Sep 17 00:00:00 2001 From: raskolnikov Date: Wed, 11 Jan 2023 15:52:08 -0500 Subject: [PATCH] change of state agended --- diary.py | 3 ++- maintenance.py | 15 ++++++++++++--- view/maintenance_service_form.xml | 5 +++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/diary.py b/diary.py index 44a7054..d8a25bd 100644 --- a/diary.py +++ b/diary.py @@ -4,7 +4,8 @@ from trytond.model import ( class Diary(ModelSQL, ModelView): 'Diary' __name__ = 'optical_equipment_maintenance.diary' - + _rec_name = 'code' + code = fields.Char("Code", select=True,states={'readonly': True }) date_expected = fields.DateTime("Expected Date", required=True) date_estimated = fields.DateTime("Estimated Date") diff --git a/maintenance.py b/maintenance.py index 0635f45..995f29d 100644 --- a/maintenance.py +++ b/maintenance.py @@ -53,6 +53,8 @@ class MaintenanceService(Workflow, ModelSQL, ModelView): lines = fields.One2Many('optical_equipment.maintenance', 'service_maintenance', "Lines", states={'readonly': If(Eval('state') != 'in_progress', True)}) estimated_agended = fields.DateTime("Date Maintenance", states=_states) + current_agended = fields.Many2One('optical_equipment_maintenance.diary', "Current Agended", + states=_states) history_agended = fields.Many2Many('optical_equipment_maintenance.service-maintenance.diary', 'maintenance_service', 'agended', "History Agended", readonly=True) state_agended = fields.Selection([('no_agenda', "No agenda"), ('agended', "Agended"), @@ -240,13 +242,19 @@ class MaintenanceService(Workflow, ModelSQL, ModelView): @ModelView.button @Workflow.transition('in_progress') def in_progress(cls, maintenances): - pass + for maintenance in maintenances: + maintenance.current_agended.state = 'in_progress' + maintenance.current_agended.save() + @classmethod @ModelView.button @Workflow.transition('finished') def finished(cls, maintenances): - pass + for maintenance in maintenances: + maintenance.current_agended.state = 'finished' + maintenance.current_agended.save() + class Maintenance(Workflow, ModelSQL, ModelView): @@ -574,7 +582,7 @@ class Maintenance(Workflow, ModelSQL, ModelView): @Workflow.transition('in_progress') def in_progress(cls, maintenances): pass - + @classmethod @ModelView.button @Workflow.transition('finished') @@ -820,6 +828,7 @@ class AssingAgended(Wizard): maintenanceService.technical = self.start.technical maintenanceService.state_agended = 'agended' maintenanceService.state = 'agended' + maintenanceService.current_agended = diary.id maintenanceService.history_agended += (diary.id,) maintenanceService.set_code(maintenanceService) maintenanceService.save() diff --git a/view/maintenance_service_form.xml b/view/maintenance_service_form.xml index ae83528..a1eeff6 100644 --- a/view/maintenance_service_form.xml +++ b/view/maintenance_service_form.xml @@ -46,6 +46,11 @@ + + +