This question has been flagged

I would like to make a simple module allowing to the customer to add his passwords in the database.

Firstly, as beginner in OpenERP programming, I would like just to do a module where I can associate to a name : an username, a password, a IP/Hostname, a comment.

I programmed like the following but it's not working, I have the error : ValidateError Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

I read and I tried lots of things about this error but I didn't fix it.

my "password.py" :

from osv import osv
from osv import fields
class password(osv.osv):
 "'password Class"'

    _name='password'
    _columns=
    {
            'name':fiels.char("Name",size=128),
            'user':fields.char("Username",size=128),
            'host':fields.char("IP/HostName",size=128),
            'pass':fields.char("Password",size=128),
            'com':fields.char("Comment",size=128),            
    }
password()

my "password_view.xml ":

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

<openerp>
    <data>
        <record id="password_tree_view" model="ir.ui.view">
           <field name="name">password.tree</field>
               <field name="model">password</field>
               <field name="arch" type="xml">
                   <tree string="Password Tree" version="1.0">
                       <field name="name"/>
               <field name="user"/>
                       <field name="host"/>
                       <field name="pass"/>
                       <field name="com"/>
                   </tree>
            </field>
        </record>
        <record id="password_action" model="ir.actions.act_window">
            <field name="name">password</field>
            <field name="res_model">password</field>
            <field name="view_type">tree</field>
        </record>
    </data>
</openerp>

my __init__.py is empty

and my __openerp__.py :

{
    'name': 'Password module',
    'version': '1.0',
    'category': 'Partner/Customer Management',
    'description': """""",
    'author': '',
    'website': '',
    'depends': ['base'],
    'data': ['password/password_view.xml'],

    'installable': True,
    'auto_install': False,
    'application': False,
}

Thanks for your help !

Avatar
Discard
Best Answer
  • Remove version="1.0" from tree view and then update your module password.

  • Replace from osv import osv and from osv import fields with from openerp.osv import osv, fields

  • Add import password in __init__.py

Now check your problem is solved or not if not then try following,

Make Form view of your object,

        <record id="password_form_view" model="ir.ui.view">
           <field name="name">password.form</field>
               <field name="model">password</field>
               <field name="arch" type="xml">
                   <form string="Password Form" version="7.0">
                       <field name="name"/>
                       <field name="user"/>
                       <field name="host"/>
                       <field name="pass"/>
                       <field name="com"/>
                   </form>
            </field>
        </record>

   <record id="password_action" model="ir.actions.act_window">
        <field name="name">password</field>
        <field name="res_model">password</field>
        <field name="view_type">tree</field>
        <field name="view_mode">tree,form</field>
    </record>

then update your module password

Hope it work for you.

Avatar
Discard
Author

Thanks Ghanshyam Prajapati, I don't have anymore error ! It's working (by adding the form view).

Author Best Answer

Ok, so it's working. During this week I was looking for a way to add a tab to the customer's notepad where he could see his username, password, etc. I didn't find. When I modify my res_partner_view.xml :

<notebook colspan="4">
    <page string="Contacts" attrs="{'invisible': [('is_company','=',False), ('child_ids', '=', [])]}" autofocus="autofocus"> 
     [..................................]                               
    </page>
    <page string="Internal Notes">
     [..................................]
    </page>
    <page string="Sales & Purchases">
     [..................................]
    </page>
    <!-- The History page becomes visible as soon as there is something to display inside -->
    <page string="History" name="page_history" invisible="True">
    [..................................]
    </page>
    <page string="Password">
    [..................................]
     </page>
</notebook>

It doesn't change anything.

And in this tab I would like have the same view that in my password_view. A line with : Name, Username, host, password and comment but one time more it's not working.

Thanks

Avatar
Discard