Help

2

Change skin of OpenERP in runtime ?

Avatar
vital_zaq6

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 ?

1 Comment
Avatar
Discard
Avatar
vital_zaq6
-

i find way to set color on load

3 Answers
2
Avatar
vital_zaq6
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
1
Avatar
martinien olinga
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
0
Avatar
IT Libertas
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