* src/SelectChild.py (on_save_child_clicke): Dont add the same person multiple times as child
* src/gramps_main.py (delete_person_response): Purge empty family after the last child of a single-spouse family was deleted. svn: r5125
This commit is contained in:
parent
acedbb4417
commit
59162682c0
@ -1,3 +1,9 @@
|
||||
2005-08-25 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||
* src/SelectChild.py (on_save_child_clicke): Dont add the same person
|
||||
multiple times as child
|
||||
* src/gramps_main.py (delete_person_response): Purge empty family
|
||||
after the last child of a single-spouse family was deleted.
|
||||
|
||||
2005-08-24 Don Allingham <don@gramps-project.org>
|
||||
* src/ImgManip.py: convert to png instead of jpeg
|
||||
* src/ReadGedcom.py: try to catch bad secondary index error.
|
||||
|
@ -207,6 +207,14 @@ class SelectChild:
|
||||
self.family.set_mother_handle(self.person.get_handle())
|
||||
self.db.commit_family(self.family,trans)
|
||||
|
||||
# check that selected child is not already a child in family
|
||||
if handle in self.family.get_child_handle_list():
|
||||
ErrorDialog(_("Error selecting a child"),
|
||||
_("The person is already linked as child"),
|
||||
self.top)
|
||||
return
|
||||
|
||||
# check that selected child is not already a spouse in family
|
||||
if handle in (self.family.get_father_handle(),self.family.get_mother_handle()):
|
||||
ErrorDialog(_("Error selecting a child"),
|
||||
_("A person cannot be linked as his/her own child"),
|
||||
|
@ -1527,11 +1527,26 @@ class Gramps(GrampsDBCallback.GrampsDBCallback):
|
||||
self.db.commit_family(family,trans)
|
||||
|
||||
for (family_handle,mrel,frel) in self.active_person.get_parent_family_handle_list():
|
||||
if family_handle:
|
||||
family = self.db.get_family_from_handle(family_handle)
|
||||
if family:
|
||||
family.remove_child_handle(self.active_person.get_handle())
|
||||
self.db.commit_family(family,trans)
|
||||
|
||||
# Purge empty family
|
||||
if len(family.get_child_handle_list()) == 0:
|
||||
if not family.get_father_handle():
|
||||
mother = self.db.get_person_from_handle( family.get_mother_handle())
|
||||
if mother:
|
||||
mother.remove_family_handle( family_handle)
|
||||
self.db.commit_person( mother,trans)
|
||||
self.db.remove_family(family_handle,trans)
|
||||
if not family.get_mother_handle():
|
||||
father = self.db.get_person_from_handle( family.get_father_handle())
|
||||
if father:
|
||||
father.remove_family_handle( family_handle)
|
||||
self.db.commit_person( father,trans)
|
||||
self.db.remove_family(family_handle,trans)
|
||||
|
||||
handle = self.active_person.get_handle()
|
||||
|
||||
person = self.active_person
|
||||
|
Loading…
Reference in New Issue
Block a user