需要在Openerp中禁用更多10个字段

时间:2014-01-31 07:39:33

标签: python-2.7 openerp openerp-7

我创建了一个新模块,并为其添加了10个字段。现在我应该只能输入5个字段,付款时我应该可以输入下5个字段。任何人都可以帮助我。

我希望我的销售人员首先输入基本详细信息(如姓名和地址以及电话号码),之后付款后我想更新家长及其联系信息的完整详细信息。 谢谢你提前

我的代码是

lead_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ===================== This is tree layout =============================-->
<record id="lead_tree" model="ir.ui.view">
        <field name="name">Lead</field>
        <field name="model">res.partner</field>
        <field name="arch" type="xml">
            <tree string="lead">
                <field name = "name"/>
            </tree>
        </field>
    </record>

<!-- ========================This is Form layout===============================-->
    <record id="view_res_partner_inherited" model="ir.ui.view">
        <field name="name">view.res.partner.inherited</field>
        <field name="model">res.partner</field>
        <field name="inherit_id" ref="base.view_partner_form" />
        <field name="arch" type="xml">
            <data>
                <field name="website" position="replace"/>
                <field name="title" position="replace"/>
                <field name="function" position="replace"/>
                <field name="category_id" position="replace"/>
                <page string="Internal Notes" position="before">
                    <page string="Contract">
                        <group>
                            <group>
                                <h3>Contract Details</h3><br/>
                                <field name="storagedetails"/>
                                <field name="insurancecompany"/>
                                <field name="insurancenumber"/>
                                <field name="healthfund_name"/>
                                <field name="healthfund_number"/>
                                <field name="service"/>
                                <field name="annualfee"/>
                                <field name="paymentplan"/>
                                <field name="transport_insurance"/>
                                <field name="sarm"/>
                                <field name="cost_free_donation"/>
                                <field name="hla_test"/>
                                <field name="twins"/>
                                <field name="repeated_customer"/>
                            </group>
                            <group>
                                <h3>Relevant Dates</h3><br/>
                                <field name="contactadded_date"/>
                                <field name="clientadded_date"/>
                                <field name="expectedbirth_date"/>
                                <field name="bloodrecieved_date"/>
                                <field name="bloodstorage_date"/>
                                <field name="cordrecieved_date"/>
                                <field name="cordstored_date"/>
                                <br/><br/>
                                <h3>End Contract</h3><br/>
                                <field name="termination_contract_date"/>
                                <field name="termination_reason"/>
                                <field name="allocation_cordblood"/>
                                <field name="endstorage_cordblood"/>
                                <field name="allocation_cord"/>
                                <field name="endstorage_cord"/>
                            </group>
                        </group>
                    </page>
                </page>
                <page string="Internal Notes" position="after">
                    <page string="Parent Details">
                        <group>
                            <group>
                                <h3><label string="Mother Details"/></h3>
                                <br/>
                                <field name="mother_lastname"/>
                                <field name="mother_firstname"/>
                                <field name="mother_dob"/>
                            </group>
                            <group>
                                <h3><label string="Father Details"/></h3>
                                <br/>
                                <field name="father_lastname"/>
                                <field name="father_firstname"/>
                                <field name="father_dob"/>
                            </group>
                            <group>
                                <h3><label string="Child Deatils"/></h3>
                                <br/>
                                <field name="child_lastname"/>
                                <field name="child_firstname"/>
                                <field name="child_dob"/>
                            </group>
                        </group>
                    </page>
                    <page string="Contact Info">
                        <notebook>
                            <page string="Parent Details">
                                <group>
                                    <group>
                                        <h3>Mother</h3><br/>
                                        <field name="mother_telephone"/>
                                        <field name="mother_mobile"/>
                                        <field name="mother_email"/>
                                        <field name="mother_fax"/>
                                        <field name="mother_fiscalcode"/>
                                        <field name="mother_iban"/>
                                        <field name="mother_bankaccountspain"/>
                                        <field name="mother_decaseddate"/>
                                    </group>
                                    <group>
                                        <h3>Father</h3><br/>
                                        <field name="father_telephone"/>
                                        <field name="father_mobile"/>
                                        <field name="father_email"/>
                                        <field name="father_fax"/>
                                        <field name="father_fiscalcode"/>
                                        <field name="father_iban"/>
                                        <field name="father_bankaccountspain"/>
                                        <field name="father_decaseddate"/>
                                    </group>
                                </group>
                            </page>
                            <page string="Child Details">
                                <group>
                                    <field name="child_telephone"/>
                                    <field name="child_mobile"/>
                                    <field name="child_email"/>
                                    <field name="child_fax"/>
                                    <field name="child_fiscalcode"/>
                                    <field name="child_iban"/>
                                    <field name="child_bankaccountspain"/>
                                    <field name="child_decaseddate"/>
                                </group>
                            </page>
                        </notebook>
                    </page> 
                    </page>
                </page>
            </data>    
        </field>
    </record>

<!-- ========================= Action Layout ============================= -->
    <record id="action_lead" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="lead_tree"/>
    </record>
    <record id="create_customer" model="ir.actions.act_window">
        <field name="name">Lead</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.partner</field>
        <field name="view_type">form</field>
        <field name="view_mode">form</field>
        <field name="view_id" ref="view_res_partner_inherited"/>
    </record>


       <!-- ===========================Menu Settings=========================== -->
    <menuitem name = "Lead" id = "menu_lis_lab" action="action_lead"/>
        <menuitem name="Lead Info" id="sublead_menu" parent="menu_lis_lab"/>
            <menuitem name="Generate Lead" id="generate_leads"  parent="sublead_menu" action="create_customer"/>     
</data>
</openerp>

lead.py

from osv import osv
from osv import fields

class res_partner(osv.osv):
 _inherit = "res.partner"
 _description = "adding fields to res.partner"
 _columns = { 
    'mothername': fields.char('Mother Name',size=64,required=True),
    'fathername': fields.char('Father Name',size=64,required=True),
    'mother_lastname': fields.char('Last name',size=64),
    'mother_firstname': fields.char('First Name',size=64),
    'mother_dob': fields.date('Date of Birth'),
    'father_lastname': fields.char('Last name',size=64),
    'father_firstname': fields.char('First Name',size=64),
    'father_dob': fields.date('Date of Birth'),
    'child_lastname': fields.char('Last name',size=64),
    'child_firstname': fields.char('First name',size=64),
    'child_dob': fields.date('Date of Birth'),
    'storagedetails': fields.selection([('A','21 years')],'Storage Details',help="Storage for no.of years"),
    'insurancecompany': fields.char('Insurance Company',size=64),
    'insurancenumber': fields.char('Insurance No:',size=20),
    'healthfund_name': fields.char('Health Fund Name',size=64),
    'healthfund_number': fields.char('Healt Fund No:',size=20),
    'service': fields.char('Service',size=20,help="Service for no.of years"),
    'annualfee': fields.char('Annual Fee',size=20,help="Annual fee for the service"),
    'paymentplan':fields.char('Payment Plan',size=20,help="Payment plans"),
    'transport_insurance': fields.boolean('Transport Insurance',help="Transport Insurance is taken"),
    'sarm': fields.boolean('Sarm',help="Sarm"),
    'cost_free_donation': fields.boolean('Cost Free Donation',help="Cost Free Donation"),
    'hla_test': fields.boolean('HLA Test',help="HLA Test"),
    'twins': fields.boolean('Twins',help="Are they twins"),
    'repeated_customer': fields.boolean('Repeated Customer',help="Is he repeated customer"),
    'contactadded_date': fields.date('Contact added Date',help="On which date contact has been added"),
    'clientadded_date': fields.date('Client added Date',help="On which day the client is added"),
    'expectedbirth_date': fields.date('Expected Birth Date',help="Expected Date of Delivery for the baby"),
    'bloodrecieved_date': fields.date('Blood Recieved on:',help="When the blood sample is recieved"),
    'bloodstorage_date': fields.date('Blood Stored on:',help="When the blood is stored in Dewar"),
    'cordrecieved_date': fields.date('Cord Recieved on:',help="When the Cord is recieved"),
    'cordstored_date': fields.date('Cord Stored on:',help="When the Cord is stored in Dewar"),
    'termination_contract_date': fields.date('termination_contract_date',help="Your contract  will be terminated on "),
    'termination_reason': fields.char('Termination Reason',size=64,help="Reason for contract Termination"),
    'allocation_cordblood': fields.date('Allocation CordBlood',help="CordBlood is allocated on"),
    'endstorage_cordblood': fields.date('End Storage CordBlood',help="End date of storing of CordBlood is"),
    'allocation_cord': fields.date('Allocation Cord',help="Cord is allocated on"),
    'endstorage_cord': fields.date('End Storage Cord',help="End date of storing of Cord is"),
    'mother_telephone':fields.char('Telephone',size=20),
    'mother_mobile':fields.char('Mobile',size=20),
    'mother_email': fields.char('Email',size=64),
    'mother_fax': fields.char('Fax',size=20),
    'mother_fiscalcode': fields.char('Fiscal Code',size=64),
    'mother_iban': fields.char('IBAN',size=64),
    'mother_bankaccountspain': fields.char('Bank accounts pain',size=64),
    'mother_decaseddate': fields.date('Decased Date'),
    'father_telephone':fields.char('Telephone',size=20),
    'father_mobile':fields.char('Mobile',size=20),
    'father_email': fields.char('Email',size=64),
    'father_fax': fields.char('Fax',size=20),
    'father_fiscalcode': fields.char('Fiscal Code',size=64),
    'father_iban': fields.char('IBAN',size=64),
    'father_bankaccountspain': fields.char('Bank accounts pain',size=64),
    'father_decaseddate': fields.date('Decased Date'),
    'child_telephone':fields.char('Telephone',size=20),
    'child_mobile':fields.char('Mobile',size=20),
    'child_email': fields.char('Email',size=64),
    'child_fax': fields.char('Fax',size=20),
    'child_fiscalcode': fields.char('Fiscal Code',size=64),
    'child_iban': fields.char('IBAN',size=64),
    'child_bankaccountspain': fields.char('Bank accounts pain',size=64),
    'child_decaseddate': fields.date('Decased Date'),
 }

2 个答案:

答案 0 :(得分:1)

如果第一个流程和事务处理有不同的表单,则为每个流程创建不同的表单并添加适当的字段。

如果单个表单具有不同的操作(如按钮单击状态更改),则可以显示/隐藏组视图。

<强> [编辑]

e.g:

为付款字段指定组。如果付款表单已打开,则显示该组。你必须采取额外的布尔字段调用“payment_active”,它必须在视图中不可见。并为付款表单指定'True'值,为其他表单指定'False'。

在Xml中:

<group string="Payment" attrs="{'invisible':[('payment_active','!=',True)]}">

答案 1 :(得分:1)

完成你的计划之后。回答你的问题是,要禁用字段,请将其放在上面。我将向您展示一个例子,即您已经说过一个布尔字段,该字段将显示支付的正常情况 - 假设字段名称为“已付款”,对于您尚未在付款尚未完成时禁用的所有字段

attrs="{'invisible': [('paid', '=', False)]}" 

要在您想要隐藏的字段上使用此功能,您可以像这样使用

<field name="paid"/> <!--here, paid is the boolean field which shows status of payment --> 
<field name="service" attrs="{'invisible': [('paid', '=', False)]}"/>

不仅在字段上,您还可以像这样给整个页面添加attrs(因此包含其中所有字段的页面将不可见)

<page string="Parent Details" attrs="{'invisible': [('paid', '=', False)]}">