diff --git a/openerp/addons/base/base_update.xml b/openerp/addons/base/base_update.xml index c53c681bd1d..5cd12ea486f 100644 --- a/openerp/addons/base/base_update.xml +++ b/openerp/addons/base/base_update.xml @@ -378,5 +378,59 @@ 1 skip + + + + + Define default users preferences + user.preferences.config + form + + + +
+ Define default users preferences +
+ + Define default users preferences + + + Set Timezone,Language,Interface,MenuTip as default for all users by company. + + + + 12 + + + + + + + + + + +
+
+
+ + + Define default users preferences + ir.actions.act_window + user.preferences.config + form + + form + new + + + + + + + on_trigger + + diff --git a/openerp/addons/base/res/res_user.py b/openerp/addons/base/res/res_user.py index 261ec699659..9d1dde26ea7 100644 --- a/openerp/addons/base/res/res_user.py +++ b/openerp/addons/base/res/res_user.py @@ -604,4 +604,42 @@ class res_config_view(osv.osv_memory): res_config_view() +# Define default users preferences config wiz + +class user_preferences_config(osv.osv_memory): + _name = 'user.preferences.config' + _inherit = 'res.config' + _columns = { + 'company_id': fields.many2one('res.company', 'Company', required=True, + help="Select company for configure by company ."), + 'context_tz': fields.selection(_tz_get, 'Timezone', size=64, + help="The company's timezone, used to perform timezone conversions " + "between the server and the client."), + 'context_lang': fields.selection(_lang_get, 'Language', required=True, + help="Sets the language for the company's user interface, when UI " + "translations are available"), + 'view': fields.selection([('simple','Simplified'), + ('extended','Extended')], + 'Interface', required=True ), + 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to always display tips on each menu action"), + + } + _defaults={ + 'company_id':lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, + 'view':lambda self,cr,uid,*args: self.pool.get('res.users').browse(cr, uid, uid).view or 'simple', + 'context_lang':'en_US', + } + + def execute(self, cr, uid, ids, context=None): + usr_obj = self.pool.get("res.users") + res = self.read(cr, uid, ids, ['company_id', 'context_tz', 'context_lang', 'view', 'menu_tips'], context=context)[0] + get_val = self.browse(cr, uid, ids)[0] + company_id = get_val.company_id.id + data_ids = usr_obj.search(cr,uid,[('company_id','=',get_val.company_id.id)]) + if data_ids: + for w_id in data_ids: + usr_obj.write(cr, uid, [w_id], {'context_tz': get_val.context_tz,'context_lang':get_val.context_lang,'view':get_val.view,'menu_tips':get_val.menu_tips}) + +user_preferences_config() + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: \ No newline at end of file