I tied to install a module which I developed including the warranty details of a customer.It was working fine until I added a grid structure under the form,so that the respective dates for the preventive maintenance can be scheduled.When I altered the code for this purpose the below error appears when I try to install the module.
Validate Error Error occurred while validating the field(s) arch: Invalid XML for View Architecture!.
I couldn't trace out the error in .xml file(perhaps in .py file also).Both the files are attached .Can anyone please help me in sorting out the error and complete my requirement of placing a grid under the form view.
warranty_info_view.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--Warranty search view-->
<record model="ir.ui.view" id="warranty_search">
<field name="name">warranty.search</field>
<field name="model">warranty.warranty</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string = "warranty information search">
<field name="name" string = "Name"/>
<field name="contract" string = "Contract"/>
</search>
</field>
</record>
<!--Warranty tree View-->
<record id="warranty_warranty_tree" model="ir.ui.view">
<field name="name">warranty.result.tree</field>
<field name="model">warranty.warranty</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="warranty_result">
<field name="name"/>
<field name="contract"/>
<field name="batch_no"/>
<field name="status"/>
<field name="serial_no"/>
</tree>
</field>
</record>
<!--Warranty Form View-->
<record id="warranty_warranty_form" model="ir.ui.view">
<field name="name">warranty.result.form</field>
<field name="model">warranty.warranty</field>
<!--<field name="type">form</field>-->
<field name="arch" type="xml">
<form string="Warranty_result" version="7.0">
<sheet>
<group>
<group>
<field name="name"/>
<field name="contract"/>
<field name="batch_no"/>
<field name="status"/>
<field name="serial_no"/>
<field name="notes" />
</group>
</group>
<notebook>
<page string="Preventive Maintenance">
<field name="line_ids">
<tree string="Pm">
<field name="date"/>
<field name="pm_status"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<!--Warranty Action-->
<record id="action_warranty_warranty" model="ir.actions.act_window">
<field name='name'>Warranty Details</field>
<field name='res_model'>warranty.warranty</field>
<field name='view_type'>form</field>
<field name='view_mode'>tree,form</field>
</record>
<!--Warranty Menu-->
<menuitem id="warranty_parent" name="Warranty"/>
<menuitem id="menu_warranty_parent" name="Warranty Management" parent="warranty_parent"></menuitem>
<menuitem action="action_warranty_warranty" id="menu_warranty_warranty" parent="menu_warranty_parent" string="Result"/>
</data>
</openerp>
warranty_info.py
from openerp.osv import osv, fields
class warranty_warranty(osv.osv):
_name = 'warranty.warranty'
_columns = {
'name':fields.many2one('res.partner','Customer Name'),
'contract':fields.many2one('account.analytic.account','Contract'),
'batch_no':fields.char('Batch No.'),
'status':fields.selection([('open','Open'),('close','Close')],'Warranty Status'),
'serial_no':fields.char('Serial No.'),
'notes':fields.text('Details'),
}
warranty_warranty()
class order(osv.osv):
_description = "Orders"
_name = "order.order"
_columns = {
'line_ids': fields.one2many('order.line','ordr_id',"Order Lines"),
'date': fields.date('Date'),
'pm_status': fields.selection([('pending','Pending'),('complete','Complete')],'Preventive Maintenance Status'),
}
order()
class order_line(osv.osv):
_description = "Order Line"
_name = "order.line"
_columns = {
'ordr_id': fields.many2one('order.order', 'Order ID'),
}
order_line()