fix: se limpia código para migración 6.8

This commit is contained in:
sinergia 2023-11-07 16:20:37 -05:00
parent 224c2d65e9
commit b981dcd670
6 changed files with 201 additions and 194 deletions

View File

@ -10,6 +10,7 @@ from trytond.transaction import Transaction
_digits = (16, 2) _digits = (16, 2)
_states = {'readonly': If(Eval('state') != 'draft', True)} _states = {'readonly': If(Eval('state') != 'draft', True)}
class Calibration(ModelSQL, ModelView): class Calibration(ModelSQL, ModelView):
'Calibration of Maintenance' 'Calibration of Maintenance'
__name__ = 'optical_equipment.maintenance.calibration' __name__ = 'optical_equipment.maintenance.calibration'
@ -17,7 +18,7 @@ class Calibration(ModelSQL, ModelView):
_states = {'readonly': True} _states = {'readonly': True}
maintenance = fields.Many2One('optical_equipment.maintenance', "Maintenance", ondelete="CASCADE", maintenance = fields.Many2One('optical_equipment.maintenance', "Maintenance", ondelete="CASCADE",
select=True, required=True) required=True)
graph_dates = fields.Char("Graph Dates", readonly=True) graph_dates = fields.Char("Graph Dates", readonly=True)
diopter = fields.Float("Diopter", states=_states) diopter = fields.Float("Diopter", states=_states)
mean = fields.Float("Mean", states=_states) mean = fields.Float("Mean", states=_states)
@ -37,6 +38,7 @@ class Calibration(ModelSQL, ModelView):
state = fields.Char('State') state = fields.Char('State')
class CalibrationSample(sequence_ordered(), ModelView, ModelSQL): class CalibrationSample(sequence_ordered(), ModelView, ModelSQL):
'Samples of Calibration' 'Samples of Calibration'
__name__ = 'optical_equipment.maintenance.calibration_sample' __name__ = 'optical_equipment.maintenance.calibration_sample'
@ -48,7 +50,7 @@ class CalibrationSample(sequence_ordered(), ModelView, ModelSQL):
domain=[('product', '=', Eval('product'))], domain=[('product', '=', Eval('product'))],
depends=['product']) depends=['product'])
value_equipment = fields.Float("Value in Equipment", _digits, required=True, value_equipment = fields.Float("Value in Equipment", _digits, required=True,
states={'readonly': Eval('value_patterns') == None}) states={'readonly': Eval('value_patterns') is None})
mistake = fields.Float("Mistake", _digits) mistake = fields.Float("Mistake", _digits)
mistake_rate = fields.Float("% Mistake", _digits, mistake_rate = fields.Float("% Mistake", _digits,
states={'readonly': True}, states={'readonly': True},

View File

@ -15,6 +15,7 @@ from trytond.modules.product import price_digits
import datetime import datetime
from datetime import timedelta, date from datetime import timedelta, date
class Cron(metaclass=PoolMeta): class Cron(metaclass=PoolMeta):
__name__ = 'ir.cron' __name__ = 'ir.cron'
@ -32,17 +33,16 @@ class Contract(Workflow, ModelSQL, ModelView):
_rec_name = 'number' _rec_name = 'number'
_order_name = 'number' _order_name = 'number'
company = fields.Many2One( company = fields.Many2One(
'company.company', "Company", required=True, select=True, 'company.company', "Company", required=True,
states={ states={
'readonly': (Eval('state') != 'draft') | Eval('party', True), 'readonly': (Eval('state') != 'draft') | Eval('party', True),
}, help="Make the subscription belong to the company.") }, help="Make the subscription belong to the company.")
number = fields.Char( number = fields.Char(
"Number", readonly=True, select=True, "Number", readonly=True,
help="The main identification of the subscription.") help="The main identification of the subscription.")
reference = fields.Char( reference = fields.Char(
"Reference", select=True, "Reference",
help="The identification of an external origin.") help="The identification of an external origin.")
description = fields.Char("Description", description = fields.Char("Description",
states={ states={
@ -73,7 +73,6 @@ class Contract(Workflow, ModelSQL, ModelView):
'readonly': Eval('state') != 'draft', 'readonly': Eval('state') != 'draft',
}) })
maintenance_services = fields.Many2Many('optical_equipment_maintenance.service-equipment.contract', maintenance_services = fields.Many2Many('optical_equipment_maintenance.service-equipment.contract',
'contract', 'maintenance_services', "Prorogues", 'contract', 'maintenance_services', "Prorogues",
states={'readonly': Eval('state') != 'draft'}) states={'readonly': Eval('state') != 'draft'})
@ -93,7 +92,6 @@ class Contract(Workflow, ModelSQL, ModelView):
], "State", readonly=True, required=False, sort=False, ], "State", readonly=True, required=False, sort=False,
help="The current state of the subscription.") help="The current state of the subscription.")
@classmethod @classmethod
def __setup__(cls): def __setup__(cls):
super(Contract, cls).__setup__() super(Contract, cls).__setup__()
@ -115,7 +113,6 @@ class Contract(Workflow, ModelSQL, ModelView):
'cancelled': {'invisible': Eval('state').in_(['draft', 'cancelled'])} 'cancelled': {'invisible': Eval('state').in_(['draft', 'cancelled'])}
}) })
@staticmethod @staticmethod
def default_company(): def default_company():
return Transaction().context.get('company') return Transaction().context.get('company')
@ -130,7 +127,7 @@ class Contract(Workflow, ModelSQL, ModelView):
Config = pool.get('optical_equipment.configuration') Config = pool.get('optical_equipment.configuration')
config = Config(4) config = Config(4)
if config.contract_sequence != None: if config.contract_sequence is not None:
if not contracts[0].number: if not contracts[0].number:
try: try:
contracts[0].number = config.contract_sequence.get() contracts[0].number = config.contract_sequence.get()
@ -172,7 +169,6 @@ class Contract(Workflow, ModelSQL, ModelView):
equipment.state = "uncontrated" equipment.state = "uncontrated"
equipment.save() equipment.save()
@classmethod @classmethod
@ModelView.button @ModelView.button
@Workflow.transition('running') @Workflow.transition('running')
@ -201,7 +197,8 @@ class ContractMaintenanceServices(ModelSQL):
'Contract - Maintenance Services' 'Contract - Maintenance Services'
__name__ = 'optical_equipment_maintenance.service-equipment.contract' __name__ = 'optical_equipment_maintenance.service-equipment.contract'
maintenance_services = fields.Many2One('optical_equipment_maintenance.service', "Maintenance Service", select=True) maintenance_services = fields.Many2One(
'optical_equipment_maintenance.service', "Maintenance Service", )
contract = fields.Many2One('optical_equipment.contract', "Contract") contract = fields.Many2One('optical_equipment.contract', "Contract")
@ -209,8 +206,8 @@ class ContractEquipment(ModelSQL):
'Optical Equipment - Contract' 'Optical Equipment - Contract'
__name__ = 'optical_equipment.contract-optical_equipment.equipment' __name__ = 'optical_equipment.contract-optical_equipment.equipment'
equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True) equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', )
contract = fields.Many2One('optical_equipment.contract', 'Contract', select=True) contract = fields.Many2One('optical_equipment.contract', 'Contract', )
class ContractReport(CompanyReport): class ContractReport(CompanyReport):
@ -237,7 +234,7 @@ class CreateContractInitial(ModelView, ModelSQL):
currency = fields.Many2One('currency.currency', 'Currency', required=True) currency = fields.Many2One('currency.currency', 'Currency', required=True)
company = fields.Many2One( company = fields.Many2One(
'company.company', "Company", readonly=True, required=True, select=True, 'company.company', "Company", readonly=True, required=True,
states={ states={
'readonly': (Eval('state') != 'draft') | Eval('party', True), 'readonly': (Eval('state') != 'draft') | Eval('party', True),
}, help="Make the subscription belong to the company.") }, help="Make the subscription belong to the company.")
@ -282,7 +279,6 @@ class CreateContractInitial(ModelView, ModelSQL):
Date = pool.get('ir.date') Date = pool.get('ir.date')
return Date.today() return Date.today()
@fields.depends('party') @fields.depends('party')
def on_change_party(self): def on_change_party(self):
pool = Pool() pool = Pool()
@ -305,7 +301,6 @@ class CreateContract(Wizard):
]) ])
create_contract = StateAction('optical_equipment.act_contract_form') create_contract = StateAction('optical_equipment.act_contract_form')
def default_start(self, fields): def default_start(self, fields):
if self.record: if self.record:
default = {'party': self.record.propietary.id, default = {'party': self.record.propietary.id,

View File

@ -7,7 +7,7 @@ class Diary(ModelSQL, ModelView):
__name__ = 'optical_equipment_maintenance.diary' __name__ = 'optical_equipment_maintenance.diary'
_rec_name = 'code' _rec_name = 'code'
code = fields.Char("Code", select=True, states={'readonly': True}) code = fields.Char("Code", states={'readonly': True})
date_expected = fields.DateTime("Expected Date", required=True) date_expected = fields.DateTime("Expected Date", required=True)
date_estimated = fields.DateTime("Estimated Date") date_estimated = fields.DateTime("Estimated Date")
date_end = fields.DateTime("Date End") date_end = fields.DateTime("Date End")

View File

@ -37,7 +37,7 @@ class OpticalEquipment(DeactivableMixin, Workflow, ModelSQL, ModelView):
} }
code = fields.Char( code = fields.Char(
"Code", select=True, states={'readonly': True}) "Code", states={'readonly': True})
state = fields.Selection([('draft', "Draft"), state = fields.Selection([('draft', "Draft"),
('registred', "Registred"), ('registred', "Registred"),
@ -119,11 +119,11 @@ class OpticalEquipment(DeactivableMixin, Workflow, ModelSQL, ModelView):
maintenance_frequency = fields.Selection(_MAINTENANCE_FREQUENCY, "Maintenance Frequency", maintenance_frequency = fields.Selection(_MAINTENANCE_FREQUENCY, "Maintenance Frequency",
depends=['propietary']) depends=['propietary'])
purchase_origin = fields.Reference("Purchase Origin", selection='get_origin', select=True, purchase_origin = fields.Reference("Purchase Origin", selection='get_origin',
states={'readonly': True}) states={'readonly': True})
sale_destination = fields.Reference("Sale Destination", selection='get_destination', select=True, sale_destination = fields.Reference("Sale Destination", selection='get_destination',
states={'readonly': True}) states={'readonly': True})
shipment_destination = fields.Reference("Stock Move", selection='get_shipment', select=True, shipment_destination = fields.Reference("Stock Move", selection='get_shipment',
states={'readonly': True}) states={'readonly': True})
rec_name = fields.Function(fields.Char("rec_name"), 'get_rec_name') rec_name = fields.Function(fields.Char("rec_name"), 'get_rec_name')
@ -354,24 +354,24 @@ class EquipmentMaintenance(ModelSQL, ModelView):
'Optical Equipment - Equipment - Maintenance' 'Optical Equipment - Equipment - Maintenance'
__name__ = 'optical_equipment.maintenance-optical_equipment.equipment' __name__ = 'optical_equipment.maintenance-optical_equipment.equipment'
equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True) equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', )
maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenances', select=True) maintenance = fields.Many2One('optical_equipment.maintenance', 'Maintenances', )
class EquipmentContract(ModelSQL, ModelView): class EquipmentContract(ModelSQL, ModelView):
'Optical Equipment - Contracs Equipment' 'Optical Equipment - Contracs Equipment'
__name__ = 'optical_equipment.contract-optical_equipment.equipment' __name__ = 'optical_equipment.contract-optical_equipment.equipment'
equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', select=True) equipment = fields.Many2One('optical_equipment.equipment', 'Equipment', )
contract = fields.Many2One('optical_equipment.contract', 'Contract', select=True) contract = fields.Many2One('optical_equipment.contract', 'Contract', )
class EquipmentParty(ModelSQL, ModelView): class EquipmentParty(ModelSQL, ModelView):
'Optical Equipment - Party' 'Optical Equipment - Party'
__name__ = 'optical_equipment.equipment-party.party' __name__ = 'optical_equipment.equipment-party.party'
equipment = fields.Many2One('optical_equipment.equipment', "Equipment", select=True) equipment = fields.Many2One('optical_equipment.equipment', "Equipment", )
party = fields.Many2One('party.party', "Party", select=True) party = fields.Many2One('party.party', "Party", )
class ChangePropietary(ModelView): class ChangePropietary(ModelView):

View File

@ -14,7 +14,7 @@ from trytond.modules.product import price_digits
import datetime import datetime
from datetime import timedelta from datetime import timedelta
from scipy.stats import t # from scipy.stats import t
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
import math as mt import math as mt
@ -33,16 +33,16 @@ class MaintenanceService(Workflow, ModelSQL, ModelView):
_states = {'readonly': If(Eval('state') != 'draft', True)} _states = {'readonly': If(Eval('state') != 'draft', True)}
code = fields.Char("Code", readonly=True, select=True) code = fields.Char("Code", readonly=True, )
reference = fields.Char("Reference", select=True, reference = fields.Char("Reference",
help="The identification of an external origin.") help="The identification of an external origin.")
description = fields.Char("Description", states=_states) description = fields.Char("Description", states=_states)
sale_date = fields.Char("Sale Date") sale_date = fields.Char("Sale Date")
contract_origin = fields.Reference( contract_origin = fields.Reference(
"Contract Base", selection='get_origin_contract', select=True, "Contract Base", selection='get_origin_contract',
states={'readonly': If(Eval('state') == 'finished', True)}) states={'readonly': If(Eval('state') == 'finished', True)})
sale_origin = fields.Reference( sale_origin = fields.Reference(
"Sale Origin", selection='get_origin', select=True, "Sale Origin", selection='get_origin',
states={'readonly': True}) states={'readonly': True})
company = fields.Many2One('company.company', "Company", readonly=True) company = fields.Many2One('company.company', "Company", readonly=True)
maintenance_type = fields.Selection([('initial', 'Initial'), maintenance_type = fields.Selection([('initial', 'Initial'),
@ -285,12 +285,12 @@ class MaintenanceServiceLine(Workflow, ModelSQL, ModelView):
'readonly': Eval('state').in_(['finished'])} 'readonly': Eval('state').in_(['finished'])}
service_maintenance = fields.Many2One('optical_equipment_maintenance.service', "Maintenance Service", service_maintenance = fields.Many2One('optical_equipment_maintenance.service', "Maintenance Service",
ondelete='CASCADE', select=True, ondelete='CASCADE',
domain=[('state', 'in', ['draft', 'in_progress', 'finished']), domain=[('state', 'in', ['draft', 'in_progress', 'finished']),
('propietary', '=', Eval('propietary'))], ('propietary', '=', Eval('propietary'))],
states=_states) states=_states)
code = fields.Char( code = fields.Char(
"Code", select=True, states={'readonly': True}) "Code", states={'readonly': True})
maintenance_type = fields.Selection([('initial', 'Initial'), maintenance_type = fields.Selection([('initial', 'Initial'),
('preventive', 'Preventive'), ('preventive', 'Preventive'),
('corrective', 'Corrective')], "Maintenance Type", states=_states) ('corrective', 'Corrective')], "Maintenance Type", states=_states)
@ -782,7 +782,7 @@ class MaintenanceLine(ModelSQL, ModelView):
'optical_equipment.maintenance', 'optical_equipment.maintenance',
'Maintenance', 'Maintenance',
ondelete='CASCADE', ondelete='CASCADE',
select=True) )
replacement = fields.Many2One('product.product', 'Replacement', ondelete='RESTRICT', replacement = fields.Many2One('product.product', 'Replacement', ondelete='RESTRICT',
domain=[('replacement', '=', True)], domain=[('replacement', '=', True)],
states={'invisible': (If(Eval('line_maintenance_activity') == True, True)) | (If(Eval('line_replace') == False, True)), states={'invisible': (If(Eval('line_maintenance_activity') == True, True)) | (If(Eval('line_replace') == False, True)),

View File

@ -38,12 +38,13 @@ _EQUIPMENT_TYPE = [
NON_MEASURABLE = ['service'] NON_MEASURABLE = ['service']
class Template(metaclass=PoolMeta): class Template(metaclass=PoolMeta):
'Template' 'Template'
__name__ = 'product.template' __name__ = 'product.template'
product = fields.Many2One('optical_equipment.maintenance', "Maintenance Activity", product = fields.Many2One('optical_equipment.maintenance', "Maintenance Activity",
ondelete='CASCADE', select=True) ondelete='CASCADE', )
equipment = fields.Boolean('It is equipment', equipment = fields.Boolean('It is equipment',
states={'invisible': Eval('type', 'goods') != 'goods', states={'invisible': Eval('type', 'goods') != 'goods',
}) })
@ -99,45 +100,57 @@ class Template(metaclass=PoolMeta):
temperature_min = fields.Float("Temp Min") temperature_min = fields.Float("Temp Min")
temperature_max = fields.Float("Temp Max") temperature_max = fields.Float("Temp Max")
temperature_uom = fields.Many2One('product.uom', 'Temperature UOM', temperature_uom = fields.Many2One('product.uom', 'Temperature UOM',
domain=[('category', '=', Id('optical_equipment', "uom_cat_temperature"))], domain=[
states={'invisible' : If(Eval('temperature_min') == None, True)}) ('category', '=', Id(
'optical_equipment', "uom_cat_temperature"))],
states={'invisible': If(Eval('temperature_min') is None, True)})
frequency = fields.Float("Frequency") frequency = fields.Float("Frequency")
frequency_uom = fields.Many2One('product.uom', "Frequency UOM", frequency_uom = fields.Many2One('product.uom', "Frequency UOM",
domain=[('category', '=', Id('optical_equipment', 'uom_cat_frequency'))], domain=[
states={'invisible' : If(Eval('frequency') == None, True)} ('category', '=', Id(
'optical_equipment', 'uom_cat_frequency'))],
states={'invisible': If(Eval('frequency') is None, True)}
) )
moisture_min = fields.Float("Moisture Min") moisture_min = fields.Float("Moisture Min")
moisture_max = fields.Float("Moisture Max") moisture_max = fields.Float("Moisture Max")
moisture_uom = fields.Many2One('product.uom', "Moisture UOM", moisture_uom = fields.Many2One('product.uom', "Moisture UOM",
domain=[('category', '=', Id('optical_equipment', 'uom_cat_relative_humedity'))], domain=[
states={'invisible' : If(Eval('moisture_min') == None, True)}, ('category', '=', Id(
'optical_equipment', 'uom_cat_relative_humedity'))],
states={'invisible': If(Eval('moisture_min') is None, True)},
) )
electrical_equipment = fields.Boolean("Electrical Equipment") electrical_equipment = fields.Boolean("Electrical Equipment")
frequency = fields.Float("Frequency", frequency = fields.Float("Frequency",
states={'invisible': ~Bool(Eval('electrical_equipment'))}) states={'invisible': ~Bool(Eval('electrical_equipment'))})
frequency_uom = fields.Many2One('product.uom', "Frequency UOM", frequency_uom = fields.Many2One('product.uom', "Frequency UOM",
domain=[('category', '=', Id('optical_equipment', 'uom_cat_frequency'))], domain=[
states={'invisible' : If(Eval('frequency') == None, True) | ('category', '=', Id(
'optical_equipment', 'uom_cat_frequency'))],
states={'invisible': If(Eval('frequency') is None, True) |
~Eval('electrical_equipment', True)}, ~Eval('electrical_equipment', True)},
) )
voltageAC = fields.Float("Voltage AC", voltageAC = fields.Float("Voltage AC",
states={'invisible': ~Bool(Eval('electrical_equipment'))}) states={'invisible': ~Bool(Eval('electrical_equipment'))})
voltageAC_uom = fields.Many2One('product.uom', "Voltage AC UOM", voltageAC_uom = fields.Many2One('product.uom', "Voltage AC UOM",
domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))], domain=[
states={'invisible' : If(Eval('voltageAC') == None, True) | ('category', '=', Id(
'optical_equipment', 'uom_cat_electrical_tension'))],
states={'invisible': If(Eval('voltageAC') is None, True) |
~Eval('electrical_equipment', True)}, ~Eval('electrical_equipment', True)},
) )
voltageDC = fields.Float("Voltage DC", voltageDC = fields.Float("Voltage DC",
states={'invisible': ~Bool(Eval('electrical_equipment'))}) states={'invisible': ~Bool(Eval('electrical_equipment'))})
voltageDC_uom = fields.Many2One('product.uom', "Voltage DC UOM", voltageDC_uom = fields.Many2One('product.uom', "Voltage DC UOM",
domain=[('category', '=', Id('optical_equipment', 'uom_cat_electrical_tension'))], domain=[
states={'invisible' : If(Eval('voltageDC') == None, True) | ('category', '=', Id(
'optical_equipment', 'uom_cat_electrical_tension'))],
states={'invisible': If(Eval('voltageDC') is None, True) |
~Eval('electrical_equipment', True)},) ~Eval('electrical_equipment', True)},)
useful_life = fields.Integer("Useful life") useful_life = fields.Integer("Useful life")
warranty = fields.Integer("Warranty") warranty = fields.Integer("Warranty")
#### calibration parameters # calibration parameters
use_pattern = fields.Many2One('optical_equipment.use_pattern', "Use Pattern", ondelete='RESTRICT', use_pattern = fields.Many2One('optical_equipment.use_pattern', "Use Pattern", ondelete='RESTRICT',
states={'required': Eval('calibration', True)}) states={'required': Eval('calibration', True)})
measuring_range = fields.Selection([ measuring_range = fields.Selection([
@ -227,19 +240,15 @@ class Template(metaclass=PoolMeta):
def default_biomedical_class(): def default_biomedical_class():
return 'n/a' return 'n/a'
def default_main_tecnology(): def default_main_tecnology():
return None return None
def default_calibration(): def default_calibration():
return False return False
def default_refurbish(): def default_refurbish():
return False return False
def default_refurbish(): def default_refurbish():
return False return False
@ -388,6 +397,7 @@ class UsePattern(ModelSQL,ModelView):
name_pattern = fields.Char('Name Pattern', required=True) name_pattern = fields.Char('Name Pattern', required=True)
class Pattern(ModelSQL, ModelView): class Pattern(ModelSQL, ModelView):
"Pattern K of equipment" "Pattern K of equipment"
__name__ = 'optical_equipment.product_pattern' __name__ = 'optical_equipment.product_pattern'