diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py index 42fae345959..cc94e946b0c 100644 --- a/addons/base_setup/base_setup.py +++ b/addons/base_setup/base_setup.py @@ -29,13 +29,27 @@ from tools.translate import _ from lxml import etree #Application and feature chooser, this could be done by introspecting ir.modules +DEFAULT_MODULES = { + 'Customer Relationship Management' : ['crm',], + 'Sales Management' : ['sale',], + 'Project Management' : ['project',], + 'Knowledge Management' : ['document',], + 'Warehouse Management' : ['stock',], + 'Manufacturing' : ['mrp',], + 'Accounting & Finance' : ['account,'], + 'Purchase Management' : ['purchase,'], + 'Human Resources' : ['hr',], + 'Point of Sales' : ['pos',], + 'Marketing' : ['marketing',], +} + class base_setup_installer2(osv.osv_memory): _name = 'base.setup.installer2' _inherit = 'res.config.installer' _columns = { - 'modules' : fields.text('Modules'), + 'selection' : fields.text('Selection'), } def fields_get(self, cr, uid, fields=None, context=None): @@ -47,7 +61,7 @@ class base_setup_installer2(osv.osv_memory): fields = {} category_proxy = self.pool.get('ir.module.category') domain = [('parent_id', '=', False), - ('name', '!=', 'Localization')] + ('name', 'not in', ('Localization', 'Others', 'Tools'))] category_ids = category_proxy.search(cr, uid, domain, context=context) for category in category_proxy.browse(cr, uid, category_ids, context=context): category_name = 'category_%d' % (category.id,) @@ -64,7 +78,7 @@ class base_setup_installer2(osv.osv_memory): module_name = 'module_%d' % (module.id,) module_is_installed = module.state == 'installed' title = "%s (%s)" % (module.shortdesc, module.complexity,) - title = "%s (%s)" % (module.name, module.complexity,) + title = "%s %s (%s)" % (module.shortdesc, module.name, module.complexity,) fields[module_name] = { 'type' : 'boolean', @@ -94,22 +108,47 @@ class base_setup_installer2(osv.osv_memory): return result + def fields_view_get(self, cr, uid, view_id=None, view_type='from', context=None, toolbar=False, submenu=False): + + def in_extended_view_group(cr, uid, context=None): + try: + model, group_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'group_extended') + except ValueError: + return False + return group_id in self.pool.get('res.users').read(cr, uid, uid, ['groups_id'], context=context)['groups_id'] + result = super(base_setup_installer2, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu) module_category_proxy = self.pool.get('ir.module.category') domain = [('parent_id', '=', False), - ('name', '!=', 'Localization')] - module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='name asc') + ('name', 'not in', ('Localization', 'Others', 'Tools', 'Base'))] + module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='sequence asc') arch = ['