trytondo-optical_equipment/maintenance.py
2022-07-12 17:19:08 -05:00

68 lines
1.9 KiB
Python

from trytond.model import (
Workflow, ModelSQL, ModelView, Unique, fields)
from trytond.transaction import Transaction
from trytond.pyson import Eval
class Maintenance(Workflow, ModelSQL, ModelView):
'Equipment Maintenance'
__name__ = 'optical_equipment.maintenance'
code = fields.Char(
"Code", select=True,states={'readonly': True })
state = fields.Selection([
('draft', "Draft"),
('agended', "Agended"),
('in_progress', "In Progress")
], "State",required=True, readonly=True, sort=False)
company = fields.Many2One('company.company', "Company", readonly=True)
propietary = fields.Many2One('party.party', "Propietary")
propietary_address = fields.Many2One('party.address', "Propietary Address", required=True,
domain=[('party', '=', Eval('propietary'))]
)
@classmethod
def __setup__(cls):
super(Maintenance, cls).__setup__()
cls._transitions.update({
('draft', 'agended'),
('agended', 'in_progress'),
('in_progress', 'finished')
})
cls._buttons.update({
'draft': {},
'agended': {},
'in_progress': {},
'finished': {},
})
@staticmethod
def default_company():
return Transaction().context.get('company')
@classmethod
@ModelView.button
@Workflow.transition('draft')
def draft(cls, maintenances):
pass
@classmethod
@ModelView.button
@Workflow.transition('agended')
def agended(cls, maintenances):
pass
@classmethod
@ModelView.button
@Workflow.transition('in_progress')
def inProgress(cls, maintenances):
pass
@classmethod
@ModelView.button
@Workflow.transition('finished')
def finished(cls, maintenances):
pass