Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
8606 Lượt xem

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)

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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
Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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>
Ảnh đại diện
Huỷ bỏ
Tác giả

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

Tác giả Câu trả lời hay nhất

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

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 11 24
1631
1
thg 9 21
9400
1
thg 1 24
17012
0
thg 3 15
3295
1
thg 3 15
9908