[IMP]base_setup: Label Name Improved in terminology
[odoo/odoo.git] / addons / base_setup / installer.py
index 317102f..16bf6cf 100644 (file)
@@ -21,6 +21,8 @@
 from osv import fields, osv
 import pooler
 import pytz
+from tools.translate import _
+import tools
 
 class base_setup_installer(osv.osv_memory):
     _name = 'base.setup.installer'
@@ -51,7 +53,7 @@ class base_setup_installer(osv.osv_memory):
         'mrp':fields.boolean('Manufacturing',
             help="Helps you manage your manufacturing processes and generate "
                  "reports on those processes."),
-        'account_voucher':fields.boolean('Invoicing',
+        'account_voucher':fields.boolean('Invoicing & Payments',
             help="Allows you to create your invoices and track the payments. It is an easier version of the accounting module for managers who are not accountants."),
         'account_accountant':fields.boolean('Accounting & Finance',
             help="Helps you handle your accounting needs, if you are not an accountant, we suggest you to install only the Invoicing "),
@@ -108,8 +110,6 @@ class base_setup_installer(osv.osv_memory):
 
 
     def execute(self, cr, uid, ids, context=None):
-        if context is None:
-             context = {}
         module_pool = self.pool.get('ir.module.module')
         modules_selected = []
         datas = self.read(cr, uid, ids, context=context)[0]
@@ -120,16 +120,19 @@ class base_setup_installer(osv.osv_memory):
                 modules_selected.append(mod)
 
         module_ids = module_pool.search(cr, uid, [('name', 'in', modules_selected)], context=context)
+        need_install = False
         for module in module_pool.browse(cr, uid, module_ids, context=context):
             if module.state == 'uninstalled':
                 module_pool.state_update(cr, uid, [module.id], 'to install', ['uninstalled'], context)
+                need_install = True
                 cr.commit()
-                new_db, self.pool = pooler.restart_pool(cr.dbname, update_module=True)
             elif module.state == 'installed':
                 cr.execute("update ir_actions_todo set state='open' \
                                     from ir_model_data as data where data.res_id = ir_actions_todo.id \
                                     and ir_actions_todo.type='special'\
                                     and data.model = 'ir.actions.todo' and data.module=%s", (module.name, ))
+        if need_install:
+            self.pool = pooler.restart_pool(cr.dbname, update_module=True)[1]
         return
     
 base_setup_installer()
@@ -231,7 +234,10 @@ class user_preferences_config(osv.osv_memory):
         return res
 
     def execute(self, cr, uid, ids, context=None):
+        user_obj = self.pool.get('res.users')
+        user_ids = user_obj.search(cr, uid, [], context=context)
         for o in self.browse(cr, uid, ids, context=context):
+            user_obj.write(cr , uid, user_ids ,{'context_tz' : o.context_tz, 'context_lang' : o.context_lang, 'view' : o.view, 'menu_tips' : o.menu_tips}, context=context)
             ir_values_obj = self.pool.get('ir.values')
             ir_values_obj.set(cr, uid, 'default', False, 'context_tz', ['res.users'], o.context_tz)
             ir_values_obj.set(cr, uid, 'default', False, 'context_lang', ['res.users'], o.context_lang)
@@ -256,7 +262,7 @@ class specify_partner_terminology(osv.osv_memory):
                                   ('Guest','Guest'),
                                   ('Tenant','Tenant')
                                   ],
-                                 'Choose how to call a customer', required=True ),
+                                 'Customer / Partner / Patient ?', required=True ),
     }
     _defaults={
                'partner' :'Partner',
@@ -266,7 +272,7 @@ class specify_partner_terminology(osv.osv_memory):
         trans_obj = self.pool.get('ir.translation')
         user_obj = self.pool.get('res.users')
         context_lang = user_obj.browse(cr, uid, uid, context=context).context_lang
-        existing_trans_ids = trans_obj.search(cr, uid, [('name','=',name), ('lang','=',context_lang), ('type','=',type), ('src','=',src)])
+        existing_trans_ids = trans_obj.search(cr, uid, [('name','=',name), ('lang','=',context_lang), ('type','=',type), ('src','=',src), ('res_id','=',res_id)])
         if existing_trans_ids:
             trans_obj.write(cr, uid, existing_trans_ids, {'value': value}, context=context)
         else:
@@ -277,7 +283,7 @@ class specify_partner_terminology(osv.osv_memory):
         def _case_insensitive_replace(ref_string, src, value):
             import re
             pattern = re.compile(src, re.IGNORECASE)
-            return pattern.sub(value, ref_string)
+            return pattern.sub(_(value), _(ref_string))
         trans_obj = self.pool.get('ir.translation')
         fields_obj = self.pool.get('ir.model.fields')
         menu_obj = self.pool.get('ir.ui.menu')
@@ -314,4 +320,5 @@ class specify_partner_terminology(osv.osv_memory):
     
 specify_partner_terminology()
 
+
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: