Skip to Content

Contributors

Problem to filter a tree inside a form [management system]

Hi,

I'm trying to change the behavior of a form (Nonconformity in Management System) replacing a m2o with a m2m field, as a review of the issue #263 (https://github.com/OCA/management-system/issues/263).

The field is the relation with immediate Actions immediate_action_id used in the Description tab.

 

Original:

immediate_action_id = fields.Many2one(

        'mgmtsystem.action',

        'Immediate action',

        domain="[('nonconformity_ids', '=', id)]",

    )

 

I did this:

immediate_action_ids = fields.Many2many(

        'mgmtsystem.action',

        'mgmtsystem_nonconformity_action_rel',

        'nonconformity_id',

        'action_id',

        'Immediate Actions',

        domain="[('nonconformity_ids', '=', id)]",

    )

 

Then in the view I replaced this:

<field name="immediate_action_id" domain="[('type_action','=','immediate')]"

                           attrs="{'readonly':[('state','not in',['draft', 'analysis'])]}"/>

with this:

<field name="immediate_action_ids" domain="[('type_action', '=', 'immediate')]"

                          attrs="{'readonly':[('state','not in',['draft', 'analysis'])]}"/>

 

Replacing the field in the form view permit to view all the Actions associated with the Nonconformity, but I want to display only immediate Actions.

I googled a lot but nothing I tryied allow me to show only Actions with type_action attribute set to 'immediate'.

 

Did I something wrong?

Some suggestion?

 

Thanks in advance.

 

Stefano

 

PS: I hope this is the right list to post similar question.




Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus .



by Stefano Consolaro - 11:45 - 1 Nov 2019

Follow-Ups

  • Re: Problem to filter a tree inside a form [management system]
    Hi,
    Just a fast answer, i didn't look to codes and i didnt ger your idea.

    Vut make in mind you can relate a Many2one() to a On2many() ( db logique only one foreign key will be stored in the many2one table )

    Dont focus too much in the "domain" first until you sortout how the DB logique you would like to change to.

    If you would like to change the data to many two one you can use m2m in both tables and reverse column1 and column2 in table1 and table2. Once you get the data well prganised in db then think about the domains.
    Ps :m2m creates a new table with 2 foreign keys. M2o is only a logical widget for Odoo and m2o is a foreign key.

    Wish it will help you, and sorry if by my missunderstanding i shared with you some basic things.

    Good luck,

    On Fri, Nov 1, 2019, 23:46 Stefano Consolaro <stefano.consolaro@mymage.it> wrote:

    Hi,

    I'm trying to change the behavior of a form (Nonconformity in Management System) replacing a m2o with a m2m field, as a review of the issue #263 (https://github.com/OCA/management-system/issues/263).

    The field is the relation with immediate Actions immediate_action_id used in the Description tab.

     

    Original:

    immediate_action_id = fields.Many2one(

            'mgmtsystem.action',

            'Immediate action',

            domain="[('nonconformity_ids', '=', id)]",

        )

     

    I did this:

    immediate_action_ids = fields.Many2many(

            'mgmtsystem.action',

            'mgmtsystem_nonconformity_action_rel',

            'nonconformity_id',

            'action_id',

            'Immediate Actions',

            domain="[('nonconformity_ids', '=', id)]",

        )

     

    Then in the view I replaced this:

    <field name="immediate_action_id" domain="[('type_action','=','immediate')]"

                               attrs="{'readonly':[('state','not in',['draft', 'analysis'])]}"/>

    with this:

    <field name="immediate_action_ids" domain="[('type_action', '=', 'immediate')]"

                              attrs="{'readonly':[('state','not in',['draft', 'analysis'])]}"/>

     

    Replacing the field in the form view permit to view all the Actions associated with the Nonconformity, but I want to display only immediate Actions.

    I googled a lot but nothing I tryied allow me to show only Actions with type_action attribute set to 'immediate'.

     

    Did I something wrong?

    Some suggestion?

     

    Thanks in advance.

     

    Stefano

     

    PS: I hope this is the right list to post similar question.




    Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus .


    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Youness Maafi - 01:26 - 2 Nov 2019