model 'maintenance'
This commit is contained in:
parent
5b652cb2ac
commit
e26d7e50d6
@ -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')
|
||||||
|
@ -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"
|
||||||
|
@ -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
98
maintenance.xml
Normal 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>
|
@ -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
23
view/maintenance_form.xml
Normal 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
11
view/maintenance_tree.xml
Normal 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>
|
Loading…
Reference in New Issue
Block a user