[REF] base_setup: Specify the right domain for the ir.module.category, needed by the fields_get and fields_view_get methods of the super base.setup.installer2

bzr revid: stw@openerp.com-20110929123524-lsw8o8diyj4ljpku
This commit is contained in:
Stephane Wirtel
2011-09-29 14:35:24 +02:00
parent bfc823812d
commit 4380b2044a
+22 -23
View File
@@ -53,9 +53,11 @@ class base_setup_installer2(osv.osv_memory):
if fields is None:
fields = {}
fields = {} #super(base_setup_installer2, self).fields_get(cr, uid, fields, context=context)
fields = {}
category_proxy = self.pool.get('ir.module.category')
category_ids = category_proxy.search(cr, uid, [], context=context)
domain = [('parent_id', '=', False),
('name', '!=', 'Localization')]
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,)
fields[category_name] = {
@@ -102,9 +104,12 @@ class base_setup_installer2(osv.osv_memory):
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')
module_category_ids = module_category_proxy.search(cr, uid, [], context=context, order='name asc')
arch = ['<form string="Automatic Base Setup">']
arch.append('<separator string="Categories" colspan="4" />')
domain = [('parent_id', '=', False),
('name', '!=', 'Localization')]
module_category_ids = module_category_proxy.search(cr, uid, domain, context=context, order='name asc')
arch = ['<form string="%s">' % _('Automatic Base Setup')]
arch.append('<separator string="%s" colspan="4" />' % _('Categories'))
for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
readonly = False
for module in module_category.module_ids:
@@ -116,19 +121,19 @@ class base_setup_installer2(osv.osv_memory):
else:
arch.append('<field name="category_%d" />' % (module_category.id,))
# Compute the module to show
for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
if not module_category.module_ids:
continue
#for module_category in module_category_proxy.browse(cr, uid, module_category_ids, context=context):
# if not module_category.module_ids:
# continue
# modifiers = {
# 'invisible' : [('category_%d' % (module_category.id), '=', False)],
# 'readonly' : module.state == 'installed',
# }
# modifiers = simplejson.dumps(modifiers)
# arch.append("""<separator string="%s" colspan="4" modifiers='%s'/>""" % (cgi.escape(module_category.name), modifiers))
# for module in module_category.module_ids:
# arch.append("""<field name="module_%s" modifiers='%s' />""" % (module.name, modifiers))
modifiers = {
'invisible' : [('category_%d' % (module_category.id), '=', False)],
'readonly' : module.state == 'installed',
}
modifiers = simplejson.dumps(modifiers)
arch.append("""<separator string="%s" colspan="4" modifiers='%s'/>""" % (cgi.escape(module_category.name), modifiers))
for module in module_category.module_ids:
arch.append("""<field name="module_%s" modifiers='%s' />""" % (module.name, modifiers))
arch.append(
'<separator colspan="4" />'
@@ -142,14 +147,8 @@ class base_setup_installer2(osv.osv_memory):
result['arch'] = ''.join(arch)
from pprint import pprint as pp
pp(result['arch'])
return result
def write(self, cr, uid, ids, values, context=None):
return True
def create(self, cr, uid, values, context=None):
modules_to_install = [ key[len('module_'):] for key, value in values.iteritems() if value == 1 and key.startswith('module_')]
values = {