diff --git a/specifyweb/businessrules/rules/cojo_rules.py b/specifyweb/businessrules/rules/cojo_rules.py index d4925fa5932..574cb3a5623 100644 --- a/specifyweb/businessrules/rules/cojo_rules.py +++ b/specifyweb/businessrules/rules/cojo_rules.py @@ -1,6 +1,6 @@ from specifyweb.businessrules.exceptions import BusinessRuleException from specifyweb.businessrules.orm_signal_handler import orm_signal_handler -from specifyweb.specify.models import Collectionobjectgroupjoin +from specifyweb.specify.models import Collectionobjectgroupjoin, Collectionobjectgroup @orm_signal_handler('pre_save', 'Collectionobjectgroupjoin') def cojo_pre_save(cojo): @@ -24,4 +24,9 @@ def cojo_pre_save(cojo): (Collectionobjectgroupjoin.objects .filter(parentcog=cojo.parentcog) .update(issubstrate=False)) - \ No newline at end of file + +@orm_signal_handler('post_save', 'Collectionobjectgroupjoin') +def cojo_post_save(cojo): + if cojo.childcog is not None: + cojo.childcog.parentcojo = cojo + cojo.childcog.save() \ No newline at end of file diff --git a/specifyweb/frontend/js_src/lib/components/FormCells/COJODialog.tsx b/specifyweb/frontend/js_src/lib/components/FormCells/COJODialog.tsx index bd96517f493..f224be0ec71 100644 --- a/specifyweb/frontend/js_src/lib/components/FormCells/COJODialog.tsx +++ b/specifyweb/frontend/js_src/lib/components/FormCells/COJODialog.tsx @@ -76,14 +76,6 @@ export function COJODialog({ newCOJO.set(field, resourceUrl as never); newCOJO.set('parentCog', parentResourceUrl as never); - - if (resourceToUse.specifyTable.name === 'CollectionObjectGroup') { - (resourceToUse as SpecifyResource).set( - 'parentCojo', - newCOJO - ); - } - collection?.add(newCOJO); };