Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

Error occurred while validating the field(s) arch: Invalid XML for View Architecture! while installing a module .

By
sneha antony
on 3/5/14, 1:26 AM 3,116 views

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()
0

Med Said BARA

--Med Said BARA--
2664
| 5 5 7
Algeria
--Med Said BARA--
Med Said BARA
On 3/5/14, 4:11 AM

Hi;

Look closely in your log before the line (some lines before) "Validate Error Error occurred while validating the field(s) arch: Invalid XML for View Architecture!.", you will find more info about the error (and then post your log).

look also at the end of your .py file: _columns is ordr_id or order_id

for Maniganda: line_ids is there !!!

There is nothing in the error log other than the line " Validate Error Error occurred while validating the field(s) arch: Invalid XML for View Architecture! ".The error is shown inside a box which appears when I click Install.It some error in the .py and .xml files.As I am not that well aware of python coding,if somebody suggest me the changes to be made in the code files please,it would be a great favour.

sneha antony
on 3/5/14, 5:13 AM

Look in your openerp-server.log file. Under Linux you can find it at /var/log/openerp/openerp-server.log. under Windows it's at ..Drive letter:\Program Fi...)\openerp ....\server\server\openerp-server.log

Med Said BARA
on 3/5/14, 5:47 AM

so are my .py and .xml files correct?

sneha antony
on 3/5/14, 5:52 AM

There are maybe a parsing error in your xml (malformed xml). But before any conclusion look first for the error in openerp-server.log

Med Said BARA
on 3/5/14, 6:10 AM

I tried for a long to debugg the issue but in vain.So I removed the complete module and is reworking on the code now.My requirement is I want to add a grid structire under the form with two columns date and status.What are the code changes that are to be made in my present .py and .xml files?

sneha antony
on 3/5/14, 6:37 AM

what about openerp-server.log ?

Med Said BARA
on 3/5/14, 7:49 AM

where can I find it?I am using ubuntu server.Modules are installed in opt/openerp/server/openerp/addons

sneha antony
on 3/5/14, 7:51 AM

Here: /var/log/openerp/openerp-server.log

Med Said BARA
on 3/5/14, 8:00 AM
0

Maniganda

--Maniganda--
1038
| 5 7 7
Bangalore, India
--Maniganda--
Maniganda
On 3/5/14, 1:59 AM

The Problem with these lines of code <page string="Preventive Maintenance"> <field name="line_ids"> <tree string="Pm"> <field name="date"/> <field name="pm_status"/> </tree> </field> </page>

here the field name 'line_ids' does not exist in warranty.warranty object so you are getting the error

I you want to fix the error you should remove the complete page tag i.e <page string="Preventive Maintenance"> and upgrade your module

or If you want that line_id in your form then create a one2many field line_ids in warranty.warranty object and upgrade the module the error will be rectified

So Maniganda,What should be done to rectify the error?

sneha antony
on 3/5/14, 2:19 AM

Can u please suggest the changes to be made in the code?

sneha antony
on 3/5/14, 2:19 AM

I tried as per your instructions but still the error occurs when I try to install the module

sneha antony
on 3/5/14, 3:52 AM

Have you removed the <notebook> tag from your xml

Maniganda
on 3/5/14, 9:39 AM

I tried and still the same error is being shown

sneha antony
on 3/7/14, 5:10 AM

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 3/5/14, 1:26 AM
Seen: 3116 times
Last updated: 3/16/15, 8:10 AM