[FIX] base_module_quality: log, fix workflow test
When no wkf_ids are located for the module, search() must be skipped and have instead an empty list of activities. Otherwise, all the activities for all modules would be selected, breaking the test bzr revid: xrg@hellug.gr-20100902210451-30eaz5vdtplhjlgr
This commit is contained in:
parent
d67d284e00
commit
7d57771833
|
@ -26,6 +26,7 @@ import tools
|
|||
from tools import config
|
||||
from tools.translate import _
|
||||
from osv import osv, fields
|
||||
import logging
|
||||
|
||||
class abstract_quality_check(object):
|
||||
'''
|
||||
|
@ -80,6 +81,7 @@ class abstract_quality_check(object):
|
|||
|
||||
#This variable used to give message if test result is good or not
|
||||
self.message = ''
|
||||
self.log = logging.getLogger('module.quality')
|
||||
|
||||
#The tests have to subscribe itselfs in this list, that contains
|
||||
#all the test that have to be performed.
|
||||
|
@ -111,9 +113,11 @@ class abstract_quality_check(object):
|
|||
model_data = pool.get('ir.model.data').browse(cr, uid, ids2)
|
||||
for model in model_data:
|
||||
model_list.append(model.res_id)
|
||||
self.log.debug('get_objects() model_list: %s', ','.join(model_list))
|
||||
obj_list = []
|
||||
for mod in pool.get('ir.model').browse(cr, uid, model_list):
|
||||
obj_list.append(str(mod.model))
|
||||
self.log.debug('get_objects() obj_list: %s', ','.join(obj_list))
|
||||
return obj_list
|
||||
|
||||
def get_model_ids(self, cr, uid, models=[]):
|
||||
|
@ -121,6 +125,7 @@ class abstract_quality_check(object):
|
|||
if not models:
|
||||
return []
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
self.log.debug('get_model_ids([%s])', ', '.join(models))
|
||||
return pool.get('ir.model').search(cr, uid, [('model', 'in', models)])
|
||||
|
||||
def get_ids(self, cr, uid, object_list):
|
||||
|
|
|
@ -74,9 +74,14 @@ class quality_test(base_module_quality.abstract_quality_check):
|
|||
wkf_ids = map(lambda x:x['id'], wkfs)
|
||||
if not wkf_ids:
|
||||
result_dict[module_name] = [module_name, 'No workflow defined on module']
|
||||
#Activity of workflow checking...
|
||||
activity_ids = wkf_activity_obj.search(cr, uid, [('wkf_id', 'in', wkf_ids)])
|
||||
activities = wkf_activity_obj.browse(cr, uid, activity_ids)
|
||||
activity_ids = []
|
||||
activities = []
|
||||
else:
|
||||
#Activity of workflow checking...
|
||||
activity_ids = wkf_activity_obj.search(cr, uid, [('wkf_id', 'in', wkf_ids)])
|
||||
activities = wkf_activity_obj.browse(cr, uid, activity_ids)
|
||||
self.log.debug("quality test: wkf_ids = %r", wkf_ids)
|
||||
self.log.debug("quality test: activity_ids = %r", activity_ids)
|
||||
for activity in activities:
|
||||
if activity.flow_start:
|
||||
activity_chk[activity.wkf_id.osv]['start'] = 'ok'
|
||||
|
|
Loading…
Reference in New Issue