コンテンツへスキップ
メニュー
この質問にフラグが付けられました
3 返信
8257 ビュー

how do I do to make the zip code and city mandatory on view base.view_partner_form in a personal app ? (just on view, not in database)

アバター
破棄
最善の回答

Indeed the fields_view_get_address() function in res_partner.py breaks the standard way of changing the view. This code is designed to support country related layouts.

As a quick fix the following python code will help removing this view changes making the standard view inherit works.

class crm_sale_order_line(osv.osv):
    _name = "res.partner"
    _inherit ="res.partner"

    def fields_view_get_address(self, cr, uid, arch, context={}):
         return arch
アバター
破棄
最善の回答

Inherit the original partner form and replace the original field with this:

<field name="zip" position="attributes">
    <attribute name="required">True</attribute>
</field>
<field name="city" position="attributes">
    <attribute name="required">True</attribute>
</field>
アバター
破棄
著作者

thanks.... i've tried but... see next answer

著作者 最善の回答

that's what i've tried but xml is overwritten in function fields_view_get_address() in res.partner.py.

i've tried to inherit this function and modify as well :

...
    layouts = {
        '%(city)s %(state_code)s\n%(zip)s': """
            <div class="address_format">
                <field name="city" required="1" placeholder="City mandatory" style="width: 50%%" />
                <field name="state_id" class="oe_no_button" placeholder="State" style="width: 47%%" options='{"no_open": true}'/>
                <br/>
                <field name="zip" required="1" placeholder="ZIP mandatory" />
            </div>
        """,
        '%(zip)s %(city)s': """
            <div class="address_format">
                <field name="zip" required="1" placeholder="ZIP mandatory" style="width: 40%%" />
                <field name="city" required="1" placeholder="city mandatory" style="width: 57%%" />
                <br/>
                <field name="state_id" class="oe_no_button" placeholder="State" options='{"no_open": true}'/>
            </div>
        """,
        '%(city)s\n%(state_name)s\n%(zip)s': """
            <div class="address_format">
                <field name="city" required="1" placeholder="City mandatory" />
                <field name="state_id" class="oe_no_button" placeholder="State" options='{"no_open": true}'/>
                <field name="zip" required="1" placeholder="ZIP mandatory" />
            </div>
        """
    }

...

but it seems that required="1" is unrecognized

アバター
破棄
関連投稿 返信 ビュー 活動
1
11月 24
1033
1
9月 21
8883
1
1月 24
16534
0
3月 15
2931
1
3月 15
9498