Skip to Content
Menu
This question has been flagged
2 Replies
954 Views

    nationality = fields.Selection([

        ('pakistani', 'Pakistani'),

        ('non_pakistani', 'Non-Pakistani')

    ], string="Nationality", required=True, default='pakistani')


    show_pakistani_fields = fields.Boolean(

        string="Show Pakistani Fields",

        compute="_compute_show_fields"

    )


    show_non_pakistani_fields = fields.Boolean(

        string="Show Non-Pakistani Fields",

        compute="_compute_show_fields"

    )

    # پاکستانی فیلڈز

    cnic_or_bform = fields.Char(string="شناختی کارڈ/ب فارم نمبر")

    division_id = fields.Many2one('madrasa.divisions', string="ڈویژن")

    district_id = fields.Many2one('madrasa.districts', string="تحصیل")

    town_id = fields.Many2one('madrasa.town', string="ٹاؤن")


    # غیر پاکستانی فیلڈز

    country = fields.Many2one('madrasa.countries', string="ملک")

    passport = fields.Char(string="پاسپورٹ نمبر")

    visa_type = fields.Char(string="ویزا کی قسم")

    visa_expiry = fields.Date(string="ویزا کی میعاد")



اوڈو17 کے انٹرنل ویو میں پاکستانی اور غیر ملکی کی سلیکشن پر نیچے کی فیلڈ سب ہی نظر آرہی ہیں
نہ ہی جاوا سے مسئلہ حل ہو رہا ہے پائتھن فائل کے فنکشن سے بھی ہینڈل نہیں ہورہا اور  ویو فائل میں attr کو اوڈو قبول نہیں کررہا
کیا حل کیا جائے؟

 

Avatar
Discard
Author Best Answer

Thanks a lot, now it is working, 


Avatar
Discard
Best Answer

Hi,

To show and hide fields dynamically based on the selection of another field (e.g., nationality) in Odoo 17, you can use the invisible attribute in the XML view definition. The invisible attribute allows you to conditionally show or hide fields based on the value of another field.


Here’s how you can solve your problem step by step:

<sheet>

                <!-- Nationality Field -->

                <field name="nationality"/>

                <!-- Pakistani Fields -->

                <group invisible="nationality == 'non_pakistani'">

                    <field name="cnic_or_bform"/>

                    <field name="division_id"/>

                    <field name="district_id"/>

                    <field name="town_id"/>

                </group>

                <!-- Non-Pakistani Fields -->

                <group invisible="nationality == 'pakistan'">

                    <field name="country"/>

                    <field name="passport"/>

                    <field name="visa_type"/>

                    <field name="visa_expiry"/>

                </group>

            </sheet>


Hope it helps

Avatar
Discard
Related Posts Replies Views Activity
2
Aug 25
406
1
Sep 25
408
1
Sep 25
342
0
Aug 25
338
1
Aug 25
471