@@ -1257,6 +1257,11 @@ def api_validate_tracker_to_add(to_track, tracker_type, nb_words=1):
12571257 return {"status" : "error" , "reason" : "Incorrect type" }, 400
12581258 return {"status" : "success" , "tracked" : to_track , "type" : tracker_type }, 200
12591259
1260+ def remove_empty_sources_filters (filters ):
1261+ for obj_filter in filters .values ():
1262+ if not obj_filter .get ('sources' ):
1263+ obj_filter .pop ('sources' , None )
1264+
12601265def api_add_tracker (dict_input , org , user_id ):
12611266 to_track = dict_input .get ('tracked' , None )
12621267 if not to_track :
@@ -1288,6 +1293,7 @@ def api_add_tracker(dict_input, org, user_id):
12881293 # Filters # TODO MOVE ME
12891294 filters = dict_input .get ('filters' , {})
12901295 if filters :
1296+ remove_empty_sources_filters (filters )
12911297 if filters .keys () == get_objects_tracked () and set (filters ['pgp' ].get ('subtypes' , [])) == {'mail' , 'name' }:
12921298 filters = {}
12931299 for obj_type in filters :
@@ -1379,6 +1385,7 @@ def api_edit_tracker(dict_input, user_org, user_id, user_role):
13791385 # Filters # TODO MOVE ME
13801386 filters = dict_input .get ('filters' , {})
13811387 if filters :
1388+ remove_empty_sources_filters (filters )
13821389 if filters .keys () == get_objects_tracked () and set (filters ['pgp' ].get ('subtypes' , [])) == {'mail' , 'name' }:
13831390 if not filters ['decoded' ] and not filters ['item' ]:
13841391 filters = {}
@@ -2422,6 +2429,7 @@ def api_create_retro_hunt_task(dict_input, user_org, user_id):
24222429 # Filters # TODO MOVE ME
24232430 filters = dict_input .get ('filters' , {})
24242431 if filters :
2432+ remove_empty_sources_filters (filters )
24252433 if filters .keys () == get_objects_retro_hunted ():
24262434 filters = {}
24272435 for obj_type in filters :
0 commit comments