@@ -100,20 +100,21 @@ def is_public(self):
100100
101101 # Returns the data versions identified in the filter groups for this cohort
102102 # Returns a DataVersion QuerySet
103- def get_data_versions (self ):
103+ def get_data_versions (self , active = None ):
104104
105- data_versions = ImagingDataCommonsVersion .objects .filter (id__in = self .filter_group_set .all ().values_list ('data_version' ,flat = True ))
105+ data_versions = ImagingDataCommonsVersion .objects .filter (id__in = self .filter_group_set .all ().values_list ('data_version' ,flat = True )) \
106+ if active is None else ImagingDataCommonsVersion .objects .filter (active = active , id__in = self .filter_group_set .all ().values_list ('data_version' ,flat = True ))
106107
107108 return data_versions .distinct ()
108109
109110 # Returns the list of data sources used by this cohort, as a function of the filters which define it
110111 # Return values can be
111- def get_data_sources (self , source_type = DataSource .SOLR ):
112+ def get_data_sources (self , source_type = DataSource .SOLR , active = None ):
112113
113114 cohort_filters = Filter .objects .select_related ('attribute' ).filter (resulting_cohort = self )
114115 attributes = Attribute .objects .filter (id__in = cohort_filters .values_list ('attribute' , flat = True ))
115116
116- data_versions = self .get_data_versions ()
117+ data_versions = self .get_data_versions (active = active )
117118
118119 sources = attributes .get_data_sources (data_versions , source_type )
119120
@@ -136,6 +137,18 @@ def get_filters_by_data_source(self, source_type=None):
136137
137138 return result
138139
140+
141+ # Returns a dict of the filters defining this cohort organized by filter group
142+ def get_filters_as_dict_simple (self ):
143+ result = []
144+
145+ filter_groups = self .filter_group_set .all ()
146+
147+ for fg in filter_groups :
148+ result .append (fg .filter_set .all ().get_filter_set ())
149+ return result
150+
151+
139152 # Returns a dict of the filters defining this cohort organized by filter group
140153 def get_filters_as_dict (self ):
141154 result = []
@@ -195,7 +208,7 @@ def get_filters_for_bq(self, prefix=None, suffix=None, counts=False, schema=None
195208 group_filter_dict = self .get_filters_as_dict ()
196209
197210 for group in group_filter_dict :
198- group_filters = {x : [y for y in x ['values' ]] for x in group ['filters' ]}
211+ group_filters = {x [ 'name' ] : [y for y in x ['values' ]] for x in group ['filters' ]}
199212 filter_sets .append (BigQuerySupport .build_bq_filter_and_params (
200213 group_filters , field_prefix = prefix , param_suffix = suffix , with_count_toggle = counts ,
201214 type_schema = schema
0 commit comments