~unifield-team/unifield-wm/us-826

« back to all changes in this revision

Viewing changes to unifield_setup/installer/lang_setup.py

UF-358 [ADD] Initial creation : backup of this day

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
##############################################################################
3
 
#
4
 
#    OpenERP, Open Source Management Solution
5
 
#    Copyright (C) 2011 TeMPO Consulting, MSF
6
 
#
7
 
#    This program is free software: you can redistribute it and/or modify
8
 
#    it under the terms of the GNU Affero General Public License as
9
 
#    published by the Free Software Foundation, either version 3 of the
10
 
#    License, or (at your option) any later version.
11
 
#
12
 
#    This program is distributed in the hope that it will be useful,
13
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
#    GNU Affero General Public License for more details.
16
 
#
17
 
#    You should have received a copy of the GNU Affero General Public License
18
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 
20
 
##############################################################################
21
 
 
22
 
from osv import osv
23
 
from osv import fields
24
 
 
25
 
from tools.translate import _
26
 
 
27
 
 
28
 
class lang_setup(osv.osv_memory):
29
 
    _name = 'lang.setup'
30
 
    _inherit = 'res.config'
31
 
    
32
 
    _columns = {
33
 
        'lang_id': fields.many2one('res.lang', string='Language', required=True),
34
 
    }
35
 
    
36
 
    def default_get(self, cr, uid, fields, context=None):
37
 
        '''
38
 
        Display the default value for system language
39
 
        '''
40
 
        setup_id = self.pool.get('unifield.setup.configuration').get_config(cr, uid)
41
 
        res = super(lang_setup, self).default_get(cr, uid, fields, context=context)
42
 
 
43
 
        lang_ids = self.pool.get('res.lang').search(cr, uid, [('code', '=', setup_id.lang_id)], context=context)
44
 
        if lang_ids:
45
 
            res['lang_id'] = lang_ids[0]
46
 
        else:
47
 
            res['lang_id'] = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'lang_en')[1]
48
 
        
49
 
        return res
50
 
        
51
 
    
52
 
    def execute(self, cr, uid, ids, context=None):
53
 
        '''
54
 
        Fill the default lang on the configuration and for the current user
55
 
        '''
56
 
        assert len(ids) == 1, "We should only get one object from the form"
57
 
        payload = self.browse(cr, uid, ids[0], context=context)
58
 
        
59
 
        setup_obj = self.pool.get('unifield.setup.configuration')
60
 
        user_obj = self.pool.get('res.users')
61
 
        
62
 
        setup_id = setup_obj.get_config(cr, uid)
63
 
            
64
 
        if payload.lang_id:
65
 
            user_obj.write(cr, uid, uid, {'context_lang': payload.lang_id.code}, context=context)
66
 
    
67
 
        setup_obj.write(cr, uid, [setup_id.id], {'lang_id': payload.lang_id.code}, context=context)
68
 
        
69
 
lang_setup()
70
 
 
71
 
 
72
 
class config_users(osv.osv):
73
 
    _name = 'res.config.users'
74
 
    _inherit = 'res.config.users'
75
 
    
76
 
    def default_get(self, cr, uid, fields, context=False):
77
 
        '''
78
 
        If no lang defined, get this of the configuration setup
79
 
        '''
80
 
        setup_id = self.pool.get('unifield.setup.configuration').get_config(cr, uid)
81
 
        
82
 
        res = super(config_users, self).default_get(cr, uid, fields, context=context)
83
 
            
84
 
        if not setup_id:
85
 
            res['context_lang'] = 'en_MF'
86
 
        else:
87
 
            res['context_lang'] = setup_id.lang_id
88
 
        
89
 
        return res
90
 
    
91
 
config_users()
 
 
b'\\ No newline at end of file'