3

I have multiple companies on my odoo server. I have customize a module which control products to showing on the order line. I need this to work on one company only not all. how can i do that?

Abdul
  • 57
  • 1
  • 10

2 Answers2

0

The method depend that you want to do.

Show or Hide something

You can simply create a group (In res.groups). In the res.config.settings, you added a new option will add all users of a current user company in this group. (I'm don't sure if implied_group working by company, need test).

After for each Fields / Button / Menu must be visible, added groups="module.xml_id"

For specific process

You can do something similar of before. Create a group, add option in config.

And in your python code you can do something like this.

def my_method(self):
    # Code for all cases
    if self.env.user.has_group('module.xml_id'):
        # Code for this specific group of user
    return True

Install module for a specific company

Isn't possible. When Odoo installed a new module the code will be execute in all the case. You need two instances for this two companies.

jo541
  • 1,155
  • 6
  • 10
-1

Separate the companies into databases, so that the modules in each database (now each company) can be different.

I think there's a better way of doing exactly what you are looking for, but I don't know it. So, you can just wait for more/better answers if this does not suit your case.

holydragon
  • 6,158
  • 6
  • 39
  • 62