@@ -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