Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
3 Antworten
28698 Ansichten

Hello, 

I want to modify the existing sale module.

I have added a field in new_sale.py and replaced the fileds in new_sale.xml as follows:

----------------------------------------------------------------------------------------------------------

new_sale.py:

from openerp.osv import fields, osv

class new_sale(osv.osv):

  _inherit = "res.partner"

  _columns = {
    'projects_id': fields.integer('Project ID', size=11)
  }

  _defaults ={
    'projects_id': 0
  }

new_sale();

----------------------------------------------------------------------------------------------------------

new_sale.xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
    <record model="ir.ui.view" id="view_new_sale_form">
        <field name="name">res.partner.form</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <field name="fax" position="replace">
                <field name="projects_id" />
            </field>
        </field>
    </record>

----------------------------------------------------------------------------------------------------------

Now, I would like to hide the original "Title" field, which is a drop-down menu.

How can I do that?

BTW, I need to press the upgrade button and restart the server,  can I do the two in the command line at the same time? For example, adding some parameters after /etc/init.d/openerp-server force-reload xxxx yyyy zzzz

Thanks.

Avatar
Verwerfen
Beste Antwort

    <record model="ir.ui.view" id="view_new_sale_form">
        <field name="name">res.partner.form</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <field name="fax" position="replace">
                <field name="projects_id" />
            </field>
            <field name="title" position="attributes">
                <attribute name="invisible">1</attribute>
            </field>
        </field>
    </record>

 

---EDIT---

wow another answer at the same minute.

it is always better to make the field invisible, instead of deleting it(with replace) as other modules may depend on it for this form.

Avatar
Verwerfen
Beste Antwort

Hi

Try below code

    <record model="ir.ui.view" id="view_new_sale_form">
        <field name="name">res.partner.form</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <field name="fax" position="replace">
                <field name="projects_id" />
            </field>
            <field name="title" position="replace">
                <field name="title" invisible="1"/>
            </field>            
        </field>
    </record>

Avatar
Verwerfen

If you only need to change/add attributes to a field, there is no need to use position="replace" and redefine the field, just use position="attributes" and define the attribute. See Felipe's answer.

Autor Beste Antwort

Thanks a lot. 

Avatar
Verwerfen
Verknüpfte Beiträge Antworten Ansichten Aktivität
2
März 15
4596
1
Juni 23
2897
3
März 16
8632
1
März 16
10242
2
März 15
4155