fix: se limpia código para migración 6.8
This commit is contained in:
parent
84cf02962a
commit
cc8f90a9d7
@ -1,7 +1,7 @@
|
|||||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||||
# this repository contains the full copyright notices and license terms.
|
# this repository contains the full copyright notices and license terms.
|
||||||
from trytond.model import (
|
from trytond.model import (
|
||||||
Workflow, ModelSQL, ModelView,fields, sequence_ordered)
|
Workflow, ModelSQL, ModelView, fields, sequence_ordered)
|
||||||
from trytond.pyson import Bool, Eval, If, Id, Equal
|
from trytond.pyson import Bool, Eval, If, Id, Equal
|
||||||
from trytond.pool import Pool
|
from trytond.pool import Pool
|
||||||
from trytond.modules.company import CompanyReport
|
from trytond.modules.company import CompanyReport
|
||||||
@ -10,21 +10,22 @@ 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'
|
||||||
|
|
||||||
_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)
|
||||||
dev_std = fields.Float("Standart Desviation", states=_states)
|
dev_std = fields.Float("Standart Desviation", states=_states)
|
||||||
uncertain_type_A = fields.Float("Uncertain Type A", states=_states)
|
uncertain_type_A = fields.Float("Uncertain Type A", states=_states)
|
||||||
uncertain_pattern = fields.Float("Uncertain Pattern", states=_states)
|
uncertain_pattern = fields.Float("Uncertain Pattern", states=_states)
|
||||||
k_c_calibration = fields.Float("K Crt Calibration",states=_states)
|
k_c_calibration = fields.Float("K Crt Calibration", states=_states)
|
||||||
uncertain_U_b1 = fields.Float("U_b1", states=_states)
|
uncertain_U_b1 = fields.Float("U_b1", states=_states)
|
||||||
d_resolution = fields.Float("d_resolution", states=_states)
|
d_resolution = fields.Float("d_resolution", states=_states)
|
||||||
uncertain_U_b2_dig = fields.Float("U_b2", states=_states)
|
uncertain_U_b2_dig = fields.Float("U_b2", 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},
|
||||||
|
59
contract.py
59
contract.py
@ -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={
|
||||||
@ -52,7 +52,7 @@ class Contract(Workflow, ModelSQL, ModelView):
|
|||||||
'party.party', "Party", required=True,
|
'party.party', "Party", required=True,
|
||||||
states={
|
states={
|
||||||
'readonly': (Eval('state') != 'draft') | Eval('party', True),
|
'readonly': (Eval('state') != 'draft') | Eval('party', True),
|
||||||
},help="The party who subscribes.")
|
}, help="The party who subscribes.")
|
||||||
equipment = fields.Many2One('optical_equipment.equipment', "Equipment")
|
equipment = fields.Many2One('optical_equipment.equipment', "Equipment")
|
||||||
contact = fields.Many2One('party.contact_mechanism', "Contact", required=True)
|
contact = fields.Many2One('party.contact_mechanism', "Contact", required=True)
|
||||||
invoice_address = fields.Many2One('party.address', 'Invoice Address',
|
invoice_address = fields.Many2One('party.address', 'Invoice Address',
|
||||||
@ -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__()
|
||||||
@ -109,13 +107,12 @@ class Contract(Workflow, ModelSQL, ModelView):
|
|||||||
('cancelled', 'draft')
|
('cancelled', 'draft')
|
||||||
})
|
})
|
||||||
cls._buttons.update({
|
cls._buttons.update({
|
||||||
'draft': {'invisible': Eval('state').in_(['draft','closed'])},
|
'draft': {'invisible': Eval('state').in_(['draft', 'closed'])},
|
||||||
'running': {'invisible': Eval('state').in_(['cancelled', 'running'])},
|
'running': {'invisible': Eval('state').in_(['cancelled', 'running'])},
|
||||||
'closed': {'invisible': Eval('state').in_(['draft','cancelled'])},
|
'closed': {'invisible': Eval('state').in_(['draft', 'cancelled'])},
|
||||||
'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')
|
||||||
@ -184,7 +180,7 @@ class Contract(Workflow, ModelSQL, ModelView):
|
|||||||
equipment.save()
|
equipment.save()
|
||||||
|
|
||||||
cls.set_number(contracts)
|
cls.set_number(contracts)
|
||||||
contract.state='running'
|
contract.state = 'running'
|
||||||
contract.save()
|
contract.save()
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -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,10 +234,10 @@ 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.")
|
||||||
party = fields.Many2One(
|
party = fields.Many2One(
|
||||||
'party.party', "Party", required=True,
|
'party.party', "Party", required=True,
|
||||||
help="The party who subscribes.")
|
help="The party who subscribes.")
|
||||||
@ -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()
|
||||||
@ -299,13 +295,12 @@ class CreateContract(Wizard):
|
|||||||
__name__ = 'optical_equipment.maintenance.contract'
|
__name__ = 'optical_equipment.maintenance.contract'
|
||||||
|
|
||||||
start = StateView('optical_equipment_create.contract',
|
start = StateView('optical_equipment_create.contract',
|
||||||
'optical_equipment.create_contract_view_form',[
|
'optical_equipment.create_contract_view_form', [
|
||||||
Button('Cancel', 'end', 'tryton-cancel'),
|
Button('Cancel', 'end', 'tryton-cancel'),
|
||||||
Button('Create', 'create_contract', 'tryton-ok', default=True),
|
Button('Create', 'create_contract', 'tryton-ok', default=True),
|
||||||
])
|
])
|
||||||
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,
|
||||||
@ -340,16 +335,16 @@ class CreateContract(Wizard):
|
|||||||
equipments.append(line.equipment.id)
|
equipments.append(line.equipment.id)
|
||||||
|
|
||||||
if maintenance_service.contract_origin:
|
if maintenance_service.contract_origin:
|
||||||
contract=maintenance_service.contract_origin
|
contract = maintenance_service.contract_origin
|
||||||
contract.history_equipments+=tuple(equipments)
|
contract.history_equipments += tuple(equipments)
|
||||||
contract.current_equipments=equipments
|
contract.current_equipments = equipments
|
||||||
contract.invoice_address=dates['invoice_address']
|
contract.invoice_address = dates['invoice_address']
|
||||||
contract.contact=dates['contact']
|
contract.contact = dates['contact']
|
||||||
contract.start_date=dates['start_date']
|
contract.start_date = dates['start_date']
|
||||||
contract.end_date=dates['end_date']
|
contract.end_date = dates['end_date']
|
||||||
contract.maintenance_services+=prorogues
|
contract.maintenance_services += prorogues
|
||||||
contract.state='draft'
|
contract.state = 'draft'
|
||||||
contract.price_contract=dates['unit_price']
|
contract.price_contract = dates['unit_price']
|
||||||
else:
|
else:
|
||||||
contract = Contract(party=dates['party'],
|
contract = Contract(party=dates['party'],
|
||||||
invoice_address=dates['invoice_address'],
|
invoice_address=dates['invoice_address'],
|
||||||
|
2
diary.py
2
diary.py
@ -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")
|
||||||
|
20
equipment.py
20
equipment.py
@ -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):
|
||||||
|
@ -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)),
|
||||||
|
86
product.py
86
product.py
@ -1,5 +1,5 @@
|
|||||||
#This file is part of Tryton. The COPYRIGHT file at the top level of
|
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||||
#this repository contains the full copyright notices and license terms
|
# this repository contains the full copyright notices and license terms
|
||||||
from trytond.pool import Pool, PoolMeta
|
from trytond.pool import Pool, PoolMeta
|
||||||
from trytond.model import (
|
from trytond.model import (
|
||||||
ModelView, ModelSQL, fields, Exclude)
|
ModelView, ModelSQL, fields, Exclude)
|
||||||
@ -38,24 +38,25 @@ _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',
|
||||||
})
|
})
|
||||||
maintenance_activity = fields.Boolean('Maintenance Activity',
|
maintenance_activity = fields.Boolean('Maintenance Activity',
|
||||||
states={'invisible': Eval('type', 'service') != 'service',
|
states={'invisible': Eval('type', 'service') != 'service',
|
||||||
'readonly': If(Eval('equipment',True), True)
|
'readonly': If(Eval('equipment', True), True)
|
||||||
| If(Eval('replacement',True), True)
|
| If(Eval('replacement', True), True)
|
||||||
})
|
})
|
||||||
replacement = fields.Boolean('Replacement',
|
replacement = fields.Boolean('Replacement',
|
||||||
states={'invisible': Eval('type', 'goods') != 'goods',
|
states={'invisible': Eval('type', 'goods') != 'goods',
|
||||||
'readonly': If(Eval('equipment',True), True)
|
'readonly': If(Eval('equipment', True), True)
|
||||||
| If(Eval('maintenance_activity',True), True)
|
| If(Eval('maintenance_activity', True), True)
|
||||||
})
|
})
|
||||||
|
|
||||||
maintenance_required = fields.Boolean('Miantenance Required',
|
maintenance_required = fields.Boolean('Miantenance Required',
|
||||||
@ -66,9 +67,9 @@ class Template(metaclass=PoolMeta):
|
|||||||
use = fields.Selection(_USE, 'Use',
|
use = fields.Selection(_USE, 'Use',
|
||||||
states={'required': Eval('equipment', False)},
|
states={'required': Eval('equipment', False)},
|
||||||
depends={'equipment'})
|
depends={'equipment'})
|
||||||
biomedical_class = fields.Selection(_BIOMEDICAL_CLASS,'Biomedical Class',
|
biomedical_class = fields.Selection(_BIOMEDICAL_CLASS, 'Biomedical Class',
|
||||||
states={'required': Eval('equipment', False)})
|
states={'required': Eval('equipment', False)})
|
||||||
main_tecnology = fields.Selection(_MAIN_TECNOLOGY,'Main tecnology',
|
main_tecnology = fields.Selection(_MAIN_TECNOLOGY, 'Main tecnology',
|
||||||
states={'required': Eval('equipment', False)})
|
states={'required': Eval('equipment', False)})
|
||||||
calibration = fields.Boolean("Apply calibration")
|
calibration = fields.Boolean("Apply calibration")
|
||||||
observation = fields.Text('Observation')
|
observation = fields.Text('Observation')
|
||||||
@ -86,58 +87,70 @@ class Template(metaclass=PoolMeta):
|
|||||||
domain=[('parent', '=', Eval('model_category'))],)
|
domain=[('parent', '=', Eval('model_category'))],)
|
||||||
|
|
||||||
# Iformation Equipment
|
# Iformation Equipment
|
||||||
origin_country = fields.Many2One('country.country',"Origin Country")
|
origin_country = fields.Many2One('country.country', "Origin Country")
|
||||||
refurbish = fields.Boolean('Refurbish')
|
refurbish = fields.Boolean('Refurbish')
|
||||||
software_required = fields.Boolean("Software Required")
|
software_required = fields.Boolean("Software Required")
|
||||||
software_version = fields.Char("Software version",
|
software_version = fields.Char("Software version",
|
||||||
states={'invisible': If(~Eval('software_required'), True)},
|
states={'invisible': If(~Eval('software_required'), True)},
|
||||||
depends={'software_required'})
|
depends={'software_required'})
|
||||||
|
|
||||||
#These are measurements required for the equipments, are in this place
|
# These are measurements required for the equipments, are in this place
|
||||||
# for manage of class 'product.template'
|
# for manage of class 'product.template'
|
||||||
|
|
||||||
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([
|
||||||
@ -146,23 +159,23 @@ class Template(metaclass=PoolMeta):
|
|||||||
MEP = fields.Float("MEP", states={'required': Eval('calibration', False)},)
|
MEP = fields.Float("MEP", states={'required': Eval('calibration', False)},)
|
||||||
uncertainy_pattern = fields.Float("Uncertainy Pattern", states={'required': Eval('calibration', True)},
|
uncertainy_pattern = fields.Float("Uncertainy Pattern", states={'required': Eval('calibration', True)},
|
||||||
help="Agregar valores separados por ',' Ej:-5,+5,-10,+10")
|
help="Agregar valores separados por ',' Ej:-5,+5,-10,+10")
|
||||||
k_pattern = fields.Char("K Pattern",states={'required': Eval('calibration', False)},
|
k_pattern = fields.Char("K Pattern", states={'required': Eval('calibration', False)},
|
||||||
help="Agregar valores separados por ',' Ej:-5,+5,-10,+10")
|
help="Agregar valores separados por ',' Ej:-5,+5,-10,+10")
|
||||||
k_pattern_list = fields.One2Many('optical_equipment.product_pattern', 'product', "List of patterns K",
|
k_pattern_list = fields.One2Many('optical_equipment.product_pattern', 'product', "List of patterns K",
|
||||||
states={'required': Eval('calibration', False)},)
|
states={'required': Eval('calibration', False)},)
|
||||||
resolution_type = fields.Selection([('',""),
|
resolution_type = fields.Selection([('', ""),
|
||||||
('analoga', "Analoga"),
|
('analoga', "Analoga"),
|
||||||
('digital', "Digital")], "Resolution Type",
|
('digital', "Digital")], "Resolution Type",
|
||||||
states={'required': Eval('calibration', False)},)
|
states={'required': Eval('calibration', False)},)
|
||||||
d_resolution = fields.Float("Resolution d",
|
d_resolution = fields.Float("Resolution d",
|
||||||
states={'invisible': If(Eval('resolution_type') != 'digital', True)},)
|
states={'invisible': If(Eval('resolution_type') != 'digital', True)},)
|
||||||
analog_resolution = fields.Float("Analog resolution",
|
analog_resolution = fields.Float("Analog resolution",
|
||||||
states={'invisible': If(Eval('resolution_type') != 'analoga', True),},)
|
states={'invisible': If(Eval('resolution_type') != 'analoga', True), },)
|
||||||
a_factor_resolution = fields.Float("(a) Resolution",
|
a_factor_resolution = fields.Float("(a) Resolution",
|
||||||
states={'invisible': If(Eval('resolution_type') != 'analoga', True)},)
|
states={'invisible': If(Eval('resolution_type') != 'analoga', True)},)
|
||||||
Usubi = fields.Integer("Usub i",states={'required': Eval('calibration', False)},)
|
Usubi = fields.Integer("Usub i", states={'required': Eval('calibration', False)},)
|
||||||
|
|
||||||
#maintenance activities
|
# maintenance activities
|
||||||
initial_operation = fields.Boolean("Verificación inicial de funcionamiento")
|
initial_operation = fields.Boolean("Verificación inicial de funcionamiento")
|
||||||
check_equipment = fields.Boolean("Revisión del Equipo")
|
check_equipment = fields.Boolean("Revisión del Equipo")
|
||||||
check_electric_system = fields.Boolean("Revisión del sistema electríco")
|
check_electric_system = fields.Boolean("Revisión del sistema electríco")
|
||||||
@ -175,7 +188,7 @@ class Template(metaclass=PoolMeta):
|
|||||||
def view_attributes(cls):
|
def view_attributes(cls):
|
||||||
return super(Template, cls).view_attributes() + [
|
return super(Template, cls).view_attributes() + [
|
||||||
('//page[@id="features"]', 'states', {
|
('//page[@id="features"]', 'states', {
|
||||||
'invisible': ~Eval('equipment'),}),
|
'invisible': ~Eval('equipment'), }),
|
||||||
('//page[@id="calibration"]', 'states', {
|
('//page[@id="calibration"]', 'states', {
|
||||||
'invisible': ~Eval('calibration')},),
|
'invisible': ~Eval('calibration')},),
|
||||||
('//page[@id="maintenance_activities"]', 'states', {
|
('//page[@id="maintenance_activities"]', 'states', {
|
||||||
@ -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
|
||||||
|
|
||||||
@ -304,9 +313,9 @@ class Template(metaclass=PoolMeta):
|
|||||||
@fields.depends('equipment', 'replacement')
|
@fields.depends('equipment', 'replacement')
|
||||||
def on_change_equipment(self):
|
def on_change_equipment(self):
|
||||||
if self.equipment:
|
if self.equipment:
|
||||||
self.replacement=False
|
self.replacement = False
|
||||||
self.maintenance_activity=False
|
self.maintenance_activity = False
|
||||||
self.calibration=False
|
self.calibration = False
|
||||||
self.mark_category = None
|
self.mark_category = None
|
||||||
self.model_category = None
|
self.model_category = None
|
||||||
self.reference_category = None
|
self.reference_category = None
|
||||||
@ -381,13 +390,14 @@ class Image(metaclass=PoolMeta):
|
|||||||
return super().copy(images, default=default)
|
return super().copy(images, default=default)
|
||||||
|
|
||||||
|
|
||||||
class UsePattern(ModelSQL,ModelView):
|
class UsePattern(ModelSQL, ModelView):
|
||||||
"Use Pattern"
|
"Use Pattern"
|
||||||
__name__ = 'optical_equipment.use_pattern'
|
__name__ = 'optical_equipment.use_pattern'
|
||||||
_rec_name = 'name_pattern'
|
_rec_name = 'name_pattern'
|
||||||
|
|
||||||
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'
|
||||||
|
Loading…
Reference in New Issue
Block a user