@@ -278,7 +278,7 @@ def __init__(self, spec):
278278 for version in spec ['versions' ].values ()
279279 }
280280
281- def evaluate (self , scope_results ):
281+ def evaluate (self , scope_results , include_drafts = False ):
282282 """evaluate the results for this scope and return the canonical JSON output"""
283283 version_results = {
284284 vname : self .versions [vname ].evaluate (scenario_results )
@@ -296,8 +296,8 @@ def evaluate(self, scope_results):
296296 if any (version_results [vname ]['result' ] == 1 for vname in vnames ):
297297 best_passed = validity
298298 break
299- # always include draft (but only at the end)
300- relevant .extend (by_validity ['draft' ])
299+ if include_drafts :
300+ relevant .extend (by_validity ['draft' ])
301301 passed = [vname for vname in relevant if version_results [vname ]['result' ] == 1 ]
302302 return {
303303 'name' : self .name ,
@@ -497,7 +497,7 @@ async def post_report(
497497
498498
499499def convert_result_rows_to_dict2 (
500- rows , scopes_lookup , grace_period_days = 0 , scopes = (), subjects = (), include_report = False ,
500+ rows , scopes_lookup , grace_period_days = 0 , scopes = (), subjects = (), include_report = False , include_drafts = False ,
501501):
502502 """evaluate all versions occurring in query result `rows`, returning canonical JSON representation"""
503503 now = datetime .now ()
@@ -530,7 +530,7 @@ def convert_result_rows_to_dict2(
530530 _ = preliminary [subject ][scope ]
531531 return {
532532 subject : {
533- scope_uuid : scopes_lookup [scope_uuid ].evaluate (scope_result )
533+ scope_uuid : scopes_lookup [scope_uuid ].evaluate (scope_result , include_drafts = include_drafts )
534534 for scope_uuid , scope_result in subject_result .items ()
535535 }
536536 for subject , subject_result in preliminary .items ()
@@ -684,7 +684,8 @@ async def get_detail_full(
684684 for subj in subjects :
685685 rows2 .extend (db_get_relevant_results2 (cur , subj , scopeuuid , approved_only = False ))
686686 results2 = convert_result_rows_to_dict2 (
687- rows2 , get_scopes (), include_report = True , subjects = subjects , scopes = (scopeuuid , ),
687+ rows2 , get_scopes (), include_report = True , include_drafts = True ,
688+ subjects = subjects , scopes = (scopeuuid , ),
688689 )
689690 title = f'Details for group { group } ' if group else f'Details for subject { subject } '
690691 return render_view (
@@ -716,7 +717,7 @@ async def get_table_full(
716717):
717718 with conn .cursor () as cur :
718719 rows2 = db_get_relevant_results2 (cur , approved_only = False )
719- results2 = convert_result_rows_to_dict2 (rows2 , get_scopes ())
720+ results2 = convert_result_rows_to_dict2 (rows2 , get_scopes (), include_drafts = True )
720721 return render_view (
721722 VIEW_TABLE , view_type , results = results2 , base_url = settings .base_url , detail_page = 'detail_full' ,
722723 title = "SCS compliance overview (incl. unverified results)" , unverified = True ,
0 commit comments