1
votes

I created a sample module with all the four files in the module.The module has been installed in the addons folder in opt/openerp/server/openerp/addons(i am using ubuntu).The folder is being displayed in the addons folder list and also in the installed modules list.When I try to install that module Invalid Architecture error is being shown as

                                 ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture! my codings are shown below

init.py

 import student_info

openerp.py

{
'name':'Student Information',
'version':'7.0',
'author':'Sneha Elizabeth Antony',
'depends':['base'],
'Category':'General',
'description':'This module contains the information about the students ie         name,age,gender etc',
'init_xml':[],
'update_xml':['student_info_view.xml'],
'demo_xml':[],
'active':'False',
'installable':'True',
'Certificate':''
}

student_info.py

from osv import osv,fields

class student_student(osv.osv):

_name = 'student.student'

_columns = {
'name':fields.char('Student Name',size=16,required = True,translate = True),
'age':fields.integer('Age',readonly = True),
'percent':fields.float('Percentage',help = 'This field will add average marks of students out of 100'),
'gender':fields.selection([('male','Male'),('female','Female')],'Gender'),
'active':fields.boolean('Active'),
'notes':fields.text('Details'),
}

_defaults = { 'name':'Atul',
      'active':True,
}
student_student()

student_info_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>


<!--Student search view-->
<record model="ir.ui.view" id="student_search" >
    <field name="name">student.search</field>
    <field name="model">student.student</field>
    <field name="type">search</field>
    <field name="arch" type="xml">
      <search string = "student information search">
        <field name="name" string = "Student Name" />
        <field name="gender" string = "Gender" />  
        <field name="age" string = "Age" />
       </search>
    </field>
</record>



 <!--Student tree View-->
  <record id="student_student_tree" model="ir.ui.view">
    <field name="name">student.result.tree</field>
    <field name="model">student.student</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
      <tree string="Student_result">  
        <field name="name" />  
        <field name="age" />
    <field name="percentage"/> 
        <field name="gender"/>  
        <field name="active"/>
        </tree>
    </field>
</record>


<!--Student Form View-->
<record id="student_student_form" model="ir.ui.view">
    <field name="name">student.result.form</field>
    <field name="model">student.student</field>
    <field name="type">form</field>
    <field name="arch" type="xml">
      <form string="Student_result">  
        <field name="name" />  
        <field name="age" />
    <field name="percentage"/> 
        <field name="gender"/>  
        <field name="active"/>
    <field name="notes"/>
        </form>
    </field>
</record>

<!--Student Action-->
<record id="action_student_student" model="ir.actions.act_window">
    <field name='name'>Student Information</field>
    <field name='res_model'>student.student</field>
    <field name='view_type'>form</field>
    <field name='view_mode'>tree,form</field>
</record>


<!--Student Menu-->
 <menuitem id="student_parent" name="student"/>
 <menuitem id="menu_student_parent" name="Student Management"     parent="student_parent"></menuitem>
 <menuitem action="action_student_student" id="menu_student_student" parent="menu_student_parent" string="Result"/>
     </data>
 </openerp>

What are the issues with the coding?Can anyone please give me the corrected code

1

1 Answers

3
votes

See this, id is same. In OpenERP id must be unique. So Just change id of any one and make it unique.

<menuitem id="menu_student_parent" name="Student Management"     parent="student_parent"></menuitem>

<menuitem action="action_student_student" id="menu_student_student" parent="menu_student_parent" string="Result"/>

Hope this will help you. Let you more any problem occurs.