From b18162404d4509c24ba32b93a0247aff7f89fe30 Mon Sep 17 00:00:00 2001 From: Caroline Denis Date: Tue, 11 Aug 2026 10:39:49 +0200 Subject: [PATCH 1/2] Fix: Update conditional statement for COG inheritance --- specifyweb/backend/inheritance/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specifyweb/backend/inheritance/api.py b/specifyweb/backend/inheritance/api.py index ead95d5054d..aa62b3fb04b 100644 --- a/specifyweb/backend/inheritance/api.py +++ b/specifyweb/backend/inheritance/api.py @@ -41,7 +41,7 @@ def _processor(row: list): def cog_inheritance_query_processor(tableid, field_specs, collection, user) -> Callable[[list], list]: first_field_names = [fs.fieldspec.join_path[0].name for fs in field_specs if fs.fieldspec.join_path] - if tableid != 1 and 'catalogNumber' not in first_field_names: + if tableid != 1 or 'catalogNumber' not in first_field_names: return do_nothing if not get_cat_num_inheritance_setting(collection, user): From 154255351546468b325864c0a7b69462189df9a7 Mon Sep 17 00:00:00 2001 From: Caroline Denis Date: Tue, 11 Aug 2026 10:46:09 +0200 Subject: [PATCH 2/2] Fix: Normalize catalog Number field --- specifyweb/backend/inheritance/api.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/specifyweb/backend/inheritance/api.py b/specifyweb/backend/inheritance/api.py index aa62b3fb04b..786a870d009 100644 --- a/specifyweb/backend/inheritance/api.py +++ b/specifyweb/backend/inheritance/api.py @@ -40,15 +40,19 @@ def _processor(row: list): def cog_inheritance_query_processor(tableid, field_specs, collection, user) -> Callable[[list], list]: - first_field_names = [fs.fieldspec.join_path[0].name for fs in field_specs if fs.fieldspec.join_path] - if tableid != 1 or 'catalogNumber' not in first_field_names: + first_field_names = [ + fs.fieldspec.join_path[0].name.lower() + for fs in field_specs + if fs.fieldspec.join_path + ] + if tableid != 1 or 'catalognumber' not in first_field_names: return do_nothing if not get_cat_num_inheritance_setting(collection, user): return do_nothing # Get the catalogNumber field index - catalog_number_field_index = first_field_names.index('catalogNumber') + 1 + catalog_number_field_index = first_field_names.index('catalognumber') + 1 # op_num 1 is refering to the filter equal, the inheritance will only work if we have cat num equal, other operators will not function if field_specs[catalog_number_field_index - 1].op_num != 1: