This question has been flagged
4 Replies
5829 Views

I have multi company. I want to have different color theme (different colors for some elements) for each company in my configuration (i added fields to res_company that will contain elements colors). Users can switch their companies, and then user changed company (click top right menu -> preferences -> change company -> save) i want to change color for some elements for him (top menu background color, left menu back color, menu font color....).

what is the best way to do that ?

Avatar
Discard
Author

i find way to set color on load

Author Best Answer

i find way to set color on load by extending js

is it right way ?

var apply_theme = function(instance)
{
    if(instance)
    {
        new instance.web.Model('res.users')
            .query(['name','company_id'])
            .filter([['id', '=', instance.session.user_context.uid]])
            .first()
            .then(function (user) {
                if(user)
                {
                    new instance.web.Model('res.company')
                        .query(['name','theme_color_menu_back'])
                        .filter([['id', '=', user.company_id[0]]])
                        .first()
                        .then(function (company) {
                            if(company)
                                if(company.theme_color_menu_back)
                                    $('td.oe_topbar').css('background', company.theme_color_menu_back);
                        });
                }
            });
    };
}

openerp.my_base_ext = function(instance){

    var module = instance.web; // loading the namespace

    module.UserMenu.include({

        start: function() {
            this._super();

            apply_theme(instance);
        }

    });
};
Avatar
Discard
Best Answer

I created a openerp 7 module which allows you to choose templates : www.martinienolinga.com/en/plugin-des-templates-sous-openerp, You can look at source code how to do what you want

Avatar
Discard
Best Answer

You may have different styles by different users (including users from various companies) just by installing this module: https://apps.odoo.com/apps/modules/8.0/colors_customization/

Avatar
Discard