Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
3 Risposte
28624 Visualizzazioni

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
Abbandona
Risposta migliore

    <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
Abbandona
Risposta migliore

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
Abbandona

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.

Autore Risposta migliore

Thanks a lot. 

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
2
mar 15
4538
1
giu 23
2849
3
mar 16
8598
1
mar 16
10182
2
mar 15
4083