Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] fields: inherited fields keep parent's modules #30116

Closed

Commits on Jan 10, 2019

  1. [FIX] fields: inherited fields keep parent's modules

    On a field created through a _inherits, the fields on the child model did not
    benefit from the parent _modules information.
    
    If two models are created in module base
    
    class Partner(models.Model):
        _name = 'res.partner'
    
    class User(models.Model):
        _inherits = {'res.partner': 'partner_id'}
    
       partner_id = fields.Many2one('res.partner')
    
    and a second module auth_signup adds a field on the parent model
    
    class ResPartner(models.Model):
        _inherit = 'res.partner'
    
        signup_token = fields.Char()
    
    Both res.users and res.partner should have an ir.model.data create
    
    base_setup.field_res_partner__signup_token was correctly created but
    base_setup.field_res_users__signup_token was not created
    
    The reason is was, in the call to _reflect_model, since 574f4c3, the
    creation of ir.model.data is based on the field._modules
    However, the field res.partner.signup_token did not propagate its _modules value
    to the related field res.users.signup_token
    
    With this patch, both ir.model.data are created.
    
    This allow a proper uninstallation of fields as well as translation.
    mart-e committed Jan 10, 2019
    Configuration menu
    Copy the full SHA
    60a6bed View commit details
    Browse the repository at this point in the history
  2. [ADD] test_inherits_depends: new test module

    This commit adds a test to test the scenario fixed in the parent commit.
    
    Creating a new test module is necessary as the bug is only revealed when the
    current module is different than the model._original_module (cf c9837ac)
    
    Before that commit, was failing only the second search of
    test_ir_model_data_inherits_depends.
    Add other test to avoid regression of the bugs corrected at 574f4c3 and c9837ac
    mart-e committed Jan 10, 2019
    Configuration menu
    Copy the full SHA
    1eedff4 View commit details
    Browse the repository at this point in the history