this should be now fixed by making sure that --withou-demo flag (or its absence)
is taken care of, and setting the base module demo field.
Normally the demo state of a module should have a ripple
effect on all modules depending on it. This might prove
not enough in this case and require some more testing.
bzr revid: vmt@openerp.com-
20111117162824-yqswv6yk7bmiyj4s
""" Preload a registry, and start the cron."""
try:
update_module = True if config['init'] or config['update'] else False
- db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=update_module, pooljobs=False)
+ db, registry = openerp.pooler.get_db_and_pool(
+ dbname, update_module=update_module, pooljobs=False, force_demo=not config['without_demo'])
# jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services()
registry.schedule_cron_jobs()
""" Preload a registry, possibly run a test file, and start the cron."""
try:
update_module = True if config['init'] or config['update'] else False
- db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=update_module, pooljobs=False)
+ db, registry = openerp.pooler.get_db_and_pool(
+ dbname, update_module=update_module, pooljobs=False, force_demo=not config['without_demo'])
cr = db.cursor()
logger = logging.getLogger('server')
logger.info('loading test file %s', test_file)
for k, v in additional_data[package.name].items():
setattr(package, k, v)
- def add_module(self, cr, module, force=None):
- self.add_modules(cr, [module], force)
+ def add_module(self, cr, module, force_demo=False):
+ self.add_modules(cr, [module], force_demo)
- def add_modules(self, cr, module_list, force=None):
- if force is None:
- force = []
+ def add_modules(self, cr, module_list, force_demo=False):
packages = []
len_graph = len(self)
for module in module_list:
+ if force_demo:
+ cr.execute("""
+ UPDATE ir_module_module
+ SET demo='t'
+ WHERE name = %s""",
+ (module,))
# This will raise an exception if no/unreadable descriptor file.
# NOTE The call to load_information_from_description_file is already
# done by db.initialize, so it is possible to not do it again here.
# STEP 1: LOAD BASE (must be done before module dependencies can be computed for later steps)
graph = openerp.modules.graph.Graph()
- graph.add_module(cr, 'base', force)
+ graph.add_module(cr, 'base', force_demo)
if not graph:
logger.notifyChannel('init', netsvc.LOG_CRITICAL, 'module base cannot be loaded! (hint: verify addons-path)')
raise osv.osv.except_osv(_('Could not load base module'), _('module base cannot be loaded! (hint: verify addons-path)'))