From 984ba66431803eaf79e41629915ab66b7148aebe Mon Sep 17 00:00:00 2001 From: Alex Roitman Date: Wed, 12 Apr 2006 03:06:25 +0000 Subject: [PATCH] * src/GrampsDb/_DbUtils.py (remove_parent_from_family): If removing family, also remove it from the child's parent_family_list. svn: r6314 --- ChangeLog | 3 +++ src/GrampsDb/_DbUtils.py | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 87a577738..b49abb9d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,7 @@ 2006-04-11 Alex Roitman + * src/GrampsDb/_DbUtils.py (remove_parent_from_family): If + removing family, also remove it from the child's + parent_family_list. * src/ViewManager.py (ViewManager.change_page): Always toggle the sidebar buttons, even if no data is loaded. diff --git a/src/GrampsDb/_DbUtils.py b/src/GrampsDb/_DbUtils.py index a9f8f21f0..68d47c12f 100644 --- a/src/GrampsDb/_DbUtils.py +++ b/src/GrampsDb/_DbUtils.py @@ -69,9 +69,14 @@ def remove_parent_from_family(db, person_handle, family_handle, trans=None): elif family.get_mother_handle() == person_handle: family.set_mother_handle(None) + child_list = family.get_child_handle_list() if (not family.get_father_handle() and not family.get_mother_handle() and - len(family.get_child_handle_list()) <= 1): + len(child_list) <= 1): db.remove_family(family_handle, trans) + if child_list: + child = db.get_person_from_handle(child_list[0]) + child.remove_parent_family_handle(family_handle) + db.commit_person(child, trans) msg = _("Remove father from family") else: db.commit_family(family, trans)