[MERGE] removed LocalService("workflow"), Logger class, and TEST log level.
bzr revid: vmt@openerp.com-20130327170639-uamgg7shlmtxgpxv
This commit is contained in:
commit
4ed7ec95b7
|
@ -28,13 +28,14 @@ import time
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp import netsvc, tools
|
from openerp import tools
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
import openerp.report.interface
|
import openerp.report.interface
|
||||||
from openerp.report.report_sxw import report_sxw, report_rml
|
from openerp.report.report_sxw import report_sxw, report_rml
|
||||||
from openerp.tools.config import config
|
from openerp.tools.config import config
|
||||||
from openerp.tools.safe_eval import safe_eval as eval
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
import openerp.workflow
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -667,12 +668,11 @@ class actions_server(osv.osv):
|
||||||
_logger.warning('Failed to send email to: %s', addresses)
|
_logger.warning('Failed to send email to: %s', addresses)
|
||||||
|
|
||||||
if action.state == 'trigger':
|
if action.state == 'trigger':
|
||||||
wf_service = netsvc.LocalService("workflow")
|
|
||||||
model = action.wkf_model_id.model
|
model = action.wkf_model_id.model
|
||||||
m2o_field_name = action.trigger_obj_id.name
|
m2o_field_name = action.trigger_obj_id.name
|
||||||
target_id = obj_pool.read(cr, uid, context.get('active_id'), [m2o_field_name])[m2o_field_name]
|
target_id = obj_pool.read(cr, uid, context.get('active_id'), [m2o_field_name])[m2o_field_name]
|
||||||
target_id = target_id[0] if isinstance(target_id,tuple) else target_id
|
target_id = target_id[0] if isinstance(target_id,tuple) else target_id
|
||||||
wf_service.trg_validate(uid, model, int(target_id), action.trigger_name, cr)
|
openerp.workflow.trg_validate(uid, model, int(target_id), action.trigger_name, cr)
|
||||||
|
|
||||||
if action.state == 'sms':
|
if action.state == 'sms':
|
||||||
#TODO: set the user and password from the system
|
#TODO: set the user and password from the system
|
||||||
|
|
|
@ -41,6 +41,8 @@ import openerp.tools as tools
|
||||||
from openerp.loglevels import ustr
|
from openerp.loglevels import ustr
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
_test_logger = logging.getLogger('openerp.tests')
|
||||||
|
|
||||||
|
|
||||||
class MailDeliveryException(osv.except_osv):
|
class MailDeliveryException(osv.except_osv):
|
||||||
"""Specific exception subclass for mail delivery errors"""
|
"""Specific exception subclass for mail delivery errors"""
|
||||||
|
@ -411,7 +413,7 @@ class ir_mail_server(osv.osv):
|
||||||
|
|
||||||
# Do not actually send emails in testing mode!
|
# Do not actually send emails in testing mode!
|
||||||
if getattr(threading.currentThread(), 'testing', False):
|
if getattr(threading.currentThread(), 'testing', False):
|
||||||
_logger.log(logging.TEST, "skip sending email in test mode")
|
_test_logger.info("skip sending email in test mode")
|
||||||
return message['Message-Id']
|
return message['Message-Id']
|
||||||
|
|
||||||
# Get SMTP Server Details from Mail Server
|
# Get SMTP Server Details from Mail Server
|
||||||
|
|
|
@ -26,7 +26,7 @@ import types
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp import netsvc, tools
|
from openerp import tools
|
||||||
from openerp.osv import fields,osv
|
from openerp.osv import fields,osv
|
||||||
from openerp.osv.orm import Model
|
from openerp.osv.orm import Model
|
||||||
from openerp.tools.safe_eval import safe_eval as eval
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
@ -1046,10 +1046,9 @@ class ir_model_data(osv.osv):
|
||||||
wkf_todo.extend(cr.fetchall())
|
wkf_todo.extend(cr.fetchall())
|
||||||
cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id))
|
cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id))
|
||||||
|
|
||||||
wf_service = netsvc.LocalService("workflow")
|
|
||||||
for model,res_id in wkf_todo:
|
for model,res_id in wkf_todo:
|
||||||
try:
|
try:
|
||||||
wf_service.trg_write(uid, model, res_id, cr)
|
openerp.workflow.trg_write(uid, model, res_id, cr)
|
||||||
except Exception:
|
except Exception:
|
||||||
_logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model, exc_info=True)
|
_logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model, exc_info=True)
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp import netsvc
|
import openerp.workflow
|
||||||
|
|
||||||
class workflow(osv.osv):
|
class workflow(osv.osv):
|
||||||
_name = "workflow"
|
_name = "workflow"
|
||||||
|
@ -40,8 +40,7 @@ class workflow(osv.osv):
|
||||||
def write(self, cr, user, ids, vals, context=None):
|
def write(self, cr, user, ids, vals, context=None):
|
||||||
if not context:
|
if not context:
|
||||||
context={}
|
context={}
|
||||||
wf_service = netsvc.LocalService("workflow")
|
openerp.workflow.clear_cache(cr, user)
|
||||||
wf_service.clear_cache(cr, user)
|
|
||||||
return super(workflow, self).write(cr, user, ids, vals, context=context)
|
return super(workflow, self).write(cr, user, ids, vals, context=context)
|
||||||
|
|
||||||
def get_active_workitems(self, cr, uid, res, res_id, context=None):
|
def get_active_workitems(self, cr, uid, res, res_id, context=None):
|
||||||
|
@ -62,8 +61,7 @@ class workflow(osv.osv):
|
||||||
def create(self, cr, user, vals, context=None):
|
def create(self, cr, user, vals, context=None):
|
||||||
if not context:
|
if not context:
|
||||||
context={}
|
context={}
|
||||||
wf_service = netsvc.LocalService("workflow")
|
openerp.workflow.clear_cache(cr, user)
|
||||||
wf_service.clear_cache(cr, user)
|
|
||||||
return super(workflow, self).create(cr, user, vals, context=context)
|
return super(workflow, self).create(cr, user, vals, context=context)
|
||||||
|
|
||||||
workflow()
|
workflow()
|
||||||
|
|
|
@ -20,80 +20,14 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import logging
|
|
||||||
|
|
||||||
LOG_NOTSET = 'notset'
|
LOG_NOTSET = 'notset'
|
||||||
LOG_DEBUG = 'debug'
|
LOG_DEBUG = 'debug'
|
||||||
LOG_TEST = 'test'
|
|
||||||
LOG_INFO = 'info'
|
LOG_INFO = 'info'
|
||||||
LOG_WARNING = 'warn'
|
LOG_WARNING = 'warn'
|
||||||
LOG_ERROR = 'error'
|
LOG_ERROR = 'error'
|
||||||
LOG_CRITICAL = 'critical'
|
LOG_CRITICAL = 'critical'
|
||||||
|
|
||||||
logging.TEST = logging.INFO - 5
|
|
||||||
logging.addLevelName(logging.TEST, 'TEST')
|
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
class Logger(object):
|
|
||||||
def __init__(self):
|
|
||||||
_logger.warning(
|
|
||||||
"The netsvc.Logger API shouldn't be used anymore, please "
|
|
||||||
"use the standard `logging.getLogger` API instead.")
|
|
||||||
super(Logger, self).__init__()
|
|
||||||
|
|
||||||
def notifyChannel(self, name, level, msg):
|
|
||||||
_logger.warning(
|
|
||||||
"notifyChannel API shouldn't be used anymore, please use "
|
|
||||||
"the standard `logging` module instead.")
|
|
||||||
from service import common
|
|
||||||
|
|
||||||
log = logging.getLogger(__name__ + '.deprecated.' + ustr(name))
|
|
||||||
|
|
||||||
if level in [LOG_TEST] and not hasattr(log, level):
|
|
||||||
fct = lambda msg, *args, **kwargs: log.log(getattr(logging, level.upper()), msg, *args, **kwargs)
|
|
||||||
setattr(log, level, fct)
|
|
||||||
|
|
||||||
|
|
||||||
level_method = getattr(log, level)
|
|
||||||
|
|
||||||
if isinstance(msg, Exception):
|
|
||||||
msg = exception_to_unicode(msg)
|
|
||||||
|
|
||||||
try:
|
|
||||||
msg = ustr(msg).strip()
|
|
||||||
if level in (LOG_ERROR, LOG_CRITICAL): # and tools.config.get_misc('debug','env_info',False):
|
|
||||||
msg = common.exp_get_server_environment() + "\n" + msg
|
|
||||||
|
|
||||||
result = msg.split('\n')
|
|
||||||
except UnicodeDecodeError:
|
|
||||||
result = msg.strip().split('\n')
|
|
||||||
try:
|
|
||||||
if len(result)>1:
|
|
||||||
for idx, s in enumerate(result):
|
|
||||||
level_method('[%02d]: %s' % (idx+1, s,))
|
|
||||||
elif result:
|
|
||||||
level_method(result[0])
|
|
||||||
except IOError:
|
|
||||||
# TODO: perhaps reset the logger streams?
|
|
||||||
#if logrotate closes our files, we end up here..
|
|
||||||
pass
|
|
||||||
except Exception:
|
|
||||||
# better ignore the exception and carry on..
|
|
||||||
pass
|
|
||||||
|
|
||||||
def set_loglevel(self, level, logger=None):
|
|
||||||
if logger is not None:
|
|
||||||
log = logging.getLogger(str(logger))
|
|
||||||
else:
|
|
||||||
log = logging.getLogger()
|
|
||||||
log.setLevel(logging.INFO) # make sure next msg is printed
|
|
||||||
log.info("Log level changed to %s" % logging.getLevelName(level))
|
|
||||||
log.setLevel(level)
|
|
||||||
|
|
||||||
def shutdown(self):
|
|
||||||
logging.shutdown()
|
|
||||||
|
|
||||||
# TODO get_encodings, ustr and exception_to_unicode were originally from tools.misc.
|
# TODO get_encodings, ustr and exception_to_unicode were originally from tools.misc.
|
||||||
# There are here until we refactor tools so that this module doesn't depends on tools.
|
# There are here until we refactor tools so that this module doesn't depends on tools.
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ from openerp.modules.module import initialize_sys_path, \
|
||||||
load_openerp_module, init_module_models, adapt_version
|
load_openerp_module, init_module_models, adapt_version
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
_test_logger = logging.getLogger('openerp.tests')
|
||||||
|
|
||||||
|
|
||||||
def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=None, report=None):
|
def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=None, report=None):
|
||||||
|
@ -74,7 +75,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
_load_data(cr, module_name, idref, mode, 'test')
|
_load_data(cr, module_name, idref, mode, 'test')
|
||||||
return True
|
return True
|
||||||
except Exception:
|
except Exception:
|
||||||
_logger.exception(
|
_test_logger.exception(
|
||||||
'module %s: an exception occurred in a test', module_name)
|
'module %s: an exception occurred in a test', module_name)
|
||||||
return False
|
return False
|
||||||
finally:
|
finally:
|
||||||
|
@ -95,7 +96,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
"""
|
"""
|
||||||
for filename in package.data[kind]:
|
for filename in package.data[kind]:
|
||||||
if kind == 'test':
|
if kind == 'test':
|
||||||
_logger.log(logging.TEST, "module %s: loading %s", module_name, filename)
|
_test_logger.info("module %s: loading %s", module_name, filename)
|
||||||
else:
|
else:
|
||||||
_logger.info("module %s: loading %s", module_name, filename)
|
_logger.info("module %s: loading %s", module_name, filename)
|
||||||
_, ext = os.path.splitext(filename)
|
_, ext = os.path.splitext(filename)
|
||||||
|
|
|
@ -43,6 +43,7 @@ from cStringIO import StringIO
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
_test_logger = logging.getLogger('openerp.tests')
|
||||||
|
|
||||||
_ad = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'addons') # default addons path (base)
|
_ad = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'addons') # default addons path (base)
|
||||||
ad_paths = []
|
ad_paths = []
|
||||||
|
@ -503,7 +504,7 @@ def run_unit_tests(module_name):
|
||||||
for m in ms:
|
for m in ms:
|
||||||
suite.addTests(unittest2.TestLoader().loadTestsFromModule(m))
|
suite.addTests(unittest2.TestLoader().loadTestsFromModule(m))
|
||||||
if ms:
|
if ms:
|
||||||
_logger.log(logging.TEST, 'module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
|
_test_logger.info('module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
|
||||||
# Use a custom stream object to log the test executions.
|
# Use a custom stream object to log the test executions.
|
||||||
class MyStream(object):
|
class MyStream(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@ -518,7 +519,7 @@ def run_unit_tests(module_name):
|
||||||
if not first:
|
if not first:
|
||||||
c = '` ' + c
|
c = '` ' + c
|
||||||
first = False
|
first = False
|
||||||
_logger.log(logging.TEST, c)
|
_test_logger.info(c)
|
||||||
result = unittest2.TextTestRunner(verbosity=2, stream=MyStream()).run(suite)
|
result = unittest2.TextTestRunner(verbosity=2, stream=MyStream()).run(suite)
|
||||||
if result.wasSuccessful():
|
if result.wasSuccessful():
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -36,8 +36,6 @@ try:
|
||||||
except ImportError:
|
except ImportError:
|
||||||
psutil = None
|
psutil = None
|
||||||
|
|
||||||
# TODO modules that import netsvc only for things from loglevels must be changed to use loglevels.
|
|
||||||
from loglevels import *
|
|
||||||
import tools
|
import tools
|
||||||
import openerp
|
import openerp
|
||||||
|
|
||||||
|
@ -79,7 +77,6 @@ COLOR_PATTERN = "%s%s%%s%s" % (COLOR_SEQ, COLOR_SEQ, RESET_SEQ)
|
||||||
LEVEL_COLOR_MAPPING = {
|
LEVEL_COLOR_MAPPING = {
|
||||||
logging.DEBUG: (BLUE, DEFAULT),
|
logging.DEBUG: (BLUE, DEFAULT),
|
||||||
logging.INFO: (GREEN, DEFAULT),
|
logging.INFO: (GREEN, DEFAULT),
|
||||||
logging.TEST: (WHITE, BLUE),
|
|
||||||
logging.WARNING: (YELLOW, DEFAULT),
|
logging.WARNING: (YELLOW, DEFAULT),
|
||||||
logging.ERROR: (RED, DEFAULT),
|
logging.ERROR: (RED, DEFAULT),
|
||||||
logging.CRITICAL: (WHITE, RED),
|
logging.CRITICAL: (WHITE, RED),
|
||||||
|
@ -177,7 +174,6 @@ PSEUDOCONFIG_MAPPER = {
|
||||||
'debug_rpc': ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG'],
|
'debug_rpc': ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG'],
|
||||||
'debug': ['openerp:DEBUG'],
|
'debug': ['openerp:DEBUG'],
|
||||||
'debug_sql': ['openerp.sql_db:DEBUG'],
|
'debug_sql': ['openerp.sql_db:DEBUG'],
|
||||||
'test': ['openerp:TEST'],
|
|
||||||
'info': [],
|
'info': [],
|
||||||
'warn': ['openerp:WARNING'],
|
'warn': ['openerp:WARNING'],
|
||||||
'error': ['openerp:ERROR'],
|
'error': ['openerp:ERROR'],
|
||||||
|
|
|
@ -84,7 +84,7 @@ class configmanager(object):
|
||||||
self.config_file = fname
|
self.config_file = fname
|
||||||
self.has_ssl = check_ssl()
|
self.has_ssl = check_ssl()
|
||||||
|
|
||||||
self._LOGLEVELS = dict([(getattr(loglevels, 'LOG_%s' % x), getattr(logging, x)) for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'TEST', 'DEBUG', 'NOTSET')])
|
self._LOGLEVELS = dict([(getattr(loglevels, 'LOG_%s' % x), getattr(logging, x)) for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'NOTSET')])
|
||||||
|
|
||||||
version = "%s %s" % (release.description, release.version)
|
version = "%s %s" % (release.description, release.version)
|
||||||
self.parser = parser = optparse.OptionParser(version=version, option_class=MyOption)
|
self.parser = parser = optparse.OptionParser(version=version, option_class=MyOption)
|
||||||
|
|
|
@ -29,8 +29,10 @@ import sys
|
||||||
|
|
||||||
# for eval context:
|
# for eval context:
|
||||||
import time
|
import time
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
import openerp.release as release
|
import openerp.release
|
||||||
|
import openerp.workflow
|
||||||
|
|
||||||
import assertion_report
|
import assertion_report
|
||||||
|
|
||||||
|
@ -85,7 +87,7 @@ def _get_idref(self, cr, uid, model_str, context, idref):
|
||||||
time=time,
|
time=time,
|
||||||
DateTime=datetime,
|
DateTime=datetime,
|
||||||
timedelta=timedelta,
|
timedelta=timedelta,
|
||||||
version=release.major_version,
|
version=openerp.release.major_version,
|
||||||
ref=_ref(self, cr),
|
ref=_ref(self, cr),
|
||||||
pytz=pytz)
|
pytz=pytz)
|
||||||
if len(model_str):
|
if len(model_str):
|
||||||
|
@ -525,9 +527,7 @@ form: module.record_id""" % (xml_id,)
|
||||||
id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref)
|
id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref)
|
||||||
|
|
||||||
uid = self.get_uid(cr, self.uid, data_node, rec)
|
uid = self.get_uid(cr, self.uid, data_node, rec)
|
||||||
import openerp.netsvc as netsvc
|
openerp.workflow.trg_validate(uid, model,
|
||||||
wf_service = netsvc.LocalService("workflow")
|
|
||||||
wf_service.trg_validate(uid, model,
|
|
||||||
id,
|
id,
|
||||||
str(rec.get('action','')), cr)
|
str(rec.get('action','')), cr)
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,8 @@ import os
|
||||||
import tempfile
|
import tempfile
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
_test_logger = logging.getLogger('openerp.tests')
|
||||||
|
|
||||||
|
|
||||||
def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
|
def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
|
||||||
""" Try to render a report <rname> with contents of ids
|
""" Try to render a report <rname> with contents of ids
|
||||||
|
@ -49,7 +51,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
|
||||||
rname_s = rname[7:]
|
rname_s = rname[7:]
|
||||||
else:
|
else:
|
||||||
rname_s = rname
|
rname_s = rname
|
||||||
_logger.log(logging.TEST, " - Trying %s.create(%r)", rname, ids)
|
_test_logger.info(" - Trying %s.create(%r)", rname, ids)
|
||||||
res = openerp.report.render_report(cr, uid, ids, rname_s, data, context)
|
res = openerp.report.render_report(cr, uid, ids, rname_s, data, context)
|
||||||
if not isinstance(res, tuple):
|
if not isinstance(res, tuple):
|
||||||
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
|
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
|
||||||
|
@ -92,7 +94,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
|
||||||
_logger.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format)
|
_logger.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
_logger.log(logging.TEST, " + Report %s produced correctly.", rname)
|
_test_logger.info(" + Report %s produced correctly.", rname)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
|
def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
|
||||||
|
@ -126,7 +128,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
|
||||||
registry = openerp.registry(cr.dbname)
|
registry = openerp.registry(cr.dbname)
|
||||||
|
|
||||||
def log_test(msg, *args):
|
def log_test(msg, *args):
|
||||||
_logger.log(logging.TEST, " - " + msg, *args)
|
_test_logger.info(" - " + msg, *args)
|
||||||
|
|
||||||
datas = {}
|
datas = {}
|
||||||
if active_model:
|
if active_model:
|
||||||
|
|
|
@ -7,6 +7,7 @@ import logging
|
||||||
|
|
||||||
import openerp
|
import openerp
|
||||||
import openerp.sql_db as sql_db
|
import openerp.sql_db as sql_db
|
||||||
|
import openerp.workflow
|
||||||
import misc
|
import misc
|
||||||
from config import config
|
from config import config
|
||||||
import yaml_tag
|
import yaml_tag
|
||||||
|
@ -588,9 +589,7 @@ class YamlInterpreter(object):
|
||||||
signals=[x['signal'] for x in self.cr.dictfetchall()]
|
signals=[x['signal'] for x in self.cr.dictfetchall()]
|
||||||
if workflow.action not in signals:
|
if workflow.action not in signals:
|
||||||
raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action)
|
raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action)
|
||||||
import openerp.netsvc as netsvc
|
openerp.workflow.trg_validate(uid, workflow.model, id, workflow.action, self.cr)
|
||||||
wf_service = netsvc.LocalService("workflow")
|
|
||||||
wf_service.trg_validate(uid, workflow.model, id, workflow.action, self.cr)
|
|
||||||
|
|
||||||
def _eval_params(self, model, params):
|
def _eval_params(self, model, params):
|
||||||
args = []
|
args = []
|
||||||
|
@ -926,7 +925,7 @@ class YamlInterpreter(object):
|
||||||
def yaml_import(cr, module, yamlfile, kind, idref=None, mode='init', noupdate=False, report=None):
|
def yaml_import(cr, module, yamlfile, kind, idref=None, mode='init', noupdate=False, report=None):
|
||||||
if idref is None:
|
if idref is None:
|
||||||
idref = {}
|
idref = {}
|
||||||
loglevel = logging.TEST if kind == 'test' else logging.DEBUG
|
loglevel = logging.INFO if kind == 'test' else logging.DEBUG
|
||||||
yaml_string = yamlfile.read()
|
yaml_string = yamlfile.read()
|
||||||
yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate, loglevel=loglevel)
|
yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate, loglevel=loglevel)
|
||||||
yaml_interpreter.process(yaml_string)
|
yaml_interpreter.process(yaml_string)
|
||||||
|
|
|
@ -47,7 +47,7 @@ def run(args):
|
||||||
config = openerp.tools.config
|
config = openerp.tools.config
|
||||||
|
|
||||||
if args.tests:
|
if args.tests:
|
||||||
config['log_handler'] = [':TEST']
|
config['log_handler'] = [':INFO']
|
||||||
config['test_enable'] = True
|
config['test_enable'] = True
|
||||||
config['without_demo'] = False
|
config['without_demo'] = False
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue