model 'maintenance'

This commit is contained in:
sinergia 2022-07-12 17:19:08 -05:00
parent 5b652cb2ac
commit e26d7e50d6
7 changed files with 195 additions and 7 deletions

View File

@ -1,6 +1,6 @@
from trytond.pool import Pool from trytond.pool import Pool
from . import (address, party, product, purchase, sale, from . import (address, party, product, purchase, sale,
equipment, configuration_equipment, subscription) equipment, configuration_equipment, maintenance, subscription)
def register(): def register():
Pool.register( Pool.register(
@ -14,6 +14,7 @@ def register():
sale.CreateSubscriptionStart, sale.CreateSubscriptionStart,
equipment.OpticalEquipment, equipment.OpticalEquipment,
configuration_equipment.Configuration, configuration_equipment.Configuration,
maintenance.Maintenance,
subscription.Subscription, subscription.Subscription,
subscription.SubscriptionEquipment, subscription.SubscriptionEquipment,
module='optical_equipment', type_='model') module='optical_equipment', type_='model')

View File

@ -15,11 +15,6 @@
name="Equipment" name="Equipment"
sequence="40" sequence="40"
id="menu_equipment"/> id="menu_equipment"/>
<!--
<record model="ir.action.act_window" id="act_optical_equipment">
<field name="name">Equipments</field>
<field name="res_model">optical_equipment.equipment</field>
</record> -->
<record model="ir.action.act_window" id="act_optical_equipment_form"> <record model="ir.action.act_window" id="act_optical_equipment_form">
<field name="name">Equipments</field> <field name="name">Equipments</field>
<field name="res_model">optical_equipment.equipment</field> <field name="res_model">optical_equipment.equipment</field>
@ -90,7 +85,7 @@
</record> </record>
<menuitem parent="menu_equipment" <menuitem parent="menu_equipment"
action="act_optical_equipment_form" action="act_optical_equipment_form"
sequence="10" sequence="20"
id="menu_optical_equipment_form"/> id="menu_optical_equipment_form"/>
<record model="ir.ui.menu-res.group" <record model="ir.ui.menu-res.group"

View File

@ -1,8 +1,67 @@
from trytond.model import ( from trytond.model import (
Workflow, ModelSQL, ModelView, Unique, fields) Workflow, ModelSQL, ModelView, Unique, fields)
from trytond.transaction import Transaction
from trytond.pyson import Eval
class Maintenance(Workflow, ModelSQL, ModelView): class Maintenance(Workflow, ModelSQL, ModelView):
'Equipment Maintenance' 'Equipment Maintenance'
__name__ = 'optical_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

98
maintenance.xml Normal file
View File

@ -0,0 +1,98 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.action.act_window" id="act_maintenance_form">
<field name="name">Maintenances</field>
<field name="res_model">optical_equipment.maintenance</field>
<field name="search_value"></field>
</record>
<record model="ir.ui.view" id= "maintenance_view_tree">
<field name="model">optical_equipment.maintenance</field>
<field name="type">tree</field>
<field name="name">maintenance_tree</field>
</record>
<record model="ir.ui.view" id= "maintenance_view_form">
<field name="model">optical_equipment.maintenance</field>
<field name="type">form</field>
<field name="name">maintenance_form</field>
</record>
<record model="ir.action.act_window.view" id="act_maintenance_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="maintenance_view_tree"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.view" id="act_maintenance_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="maintenance_view_form"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_draft">
<field name="name">Draft</field>
<field name="sequence" eval="10"/>
<field name="domain"
eval="[('state', '=', 'draft')]"
pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_agended">
<field name="name">Agended</field>
<field name="sequence" eval="20"/>
<field name="domain"
eval="[('state', '=', 'agended')]"
pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_in_progress">
<field name="name">In progress</field>
<field name="sequence" eval="30"/>
<field name="domain"
eval="[('state', '=', 'in_progress')]"
pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_finished">
<field name="name">Finished</field>
<field name="sequence" eval="30"/>
<field name="domain"
eval="[('state', '=', 'finished')]"
pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_maintenance_form_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"></field>
<field name="act_window" ref="act_maintenance_form"/>
</record>
<record model="ir.model.button" id="maintenance_draft_button">
<field name="name">draft</field>
<field name="string">Draft</field>
<field name="model" search="[('model', '=', 'optical_equipment.maintenance')]"/>
</record>
<record model="ir.model.button" id="maintenance_agended_button">
<field name="name">agended</field>
<field name="string">Agended</field>
<field name="model" search="[('model', '=', 'optical_equipment.maintenance')]"/>
</record>
<record model="ir.model.button" id="maintenance_in_progress_button">
<field name="name">in_progress</field>
<field name="string">In progress</field>
<field name="model" search="[('model', '=', 'optical_equipment.maintenance')]"/>
</record>
<record model="ir.model.button" id="maintenance_finished_button">
<field name="name">finished</field>
<field name="string">Finished</field>
<field name="model" search="[('model', '=', 'optical_equipment.maintenance')]"/>
</record>
<menuitem parent="menu_equipment"
action="act_maintenance_form"
sequence="30"
id="menu_maintenance_form"/>
</data>
</tryton>

View File

@ -20,5 +20,6 @@ xml:
sale.xml sale.xml
purchase.xml purchase.xml
uom.xml uom.xml
maintenance.xml
subscription.xml subscription.xml
message.xml message.xml

23
view/maintenance_form.xml Normal file
View File

@ -0,0 +1,23 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="code"/>
<field name="code"/>
<label name="company"/>
<field name="company"/>
<label name="propietary"/>
<field name="propietary"/>
<label name="propietary_address"/>
<field name="propietary_address"/>
<label name="equipment"/>
<field name="equipment"/>
<label name="state"/>
<field name="state"/>
<group col="2" colspan="2" id="button">
<button name="draf"/>
<button name="agended"/>
<button name="in_progress"/>
<button name="finished"/>
</group>
</form>

11
view/maintenance_tree.xml Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms.-->
<tree>
<field name="code"/>
<field name="company"/>
<field name="location"/>
<field name="propietary"/>
<field name="propietary_address"/>
<field name="equipment"/>
</tree>