2007-10-21 Benny Malengier <benny.malengier@gramps-project.org>
* src/Editors/_EditPerson.py: If a family changes, rebuild family backref of all open editors. issue #1309, causing corrupt database. Also remove unneeded associations rebuild when family changes svn: r9226
This commit is contained in:
parent
b3fcd5a4f5
commit
6462f4b339
@ -1,3 +1,8 @@
|
||||
2007-10-21 Benny Malengier <benny.malengier@gramps-project.org>
|
||||
* src/Editors/_EditPerson.py: If a family changes, rebuild family backref of all
|
||||
open editors. issue #1309, causing corrupt database.
|
||||
Also remove unneeded associations rebuild when family changes
|
||||
|
||||
2007-10-20 Brian Matherly <brian@gramps-project.org>
|
||||
* src/ReportBase/_BareReportDialog.py:
|
||||
* src/plugins/WebCal.py:
|
||||
|
@ -172,19 +172,26 @@ class EditPerson(EditPrimary):
|
||||
self._add_db_signal('family-add', self.family_change)
|
||||
|
||||
def family_change(self, handle_list):
|
||||
flist = self.obj.get_family_handle_list() + self.obj.get_parent_family_handle_list()
|
||||
for handle in handle_list:
|
||||
if handle in flist:
|
||||
self._update_families()
|
||||
return
|
||||
"""Callback for family change signals. This should rebuild the
|
||||
backreferences to family in person when:
|
||||
1)a family the person is parent of changes. Person could have
|
||||
been removed
|
||||
2)a family the person is child in changes. Child could have been
|
||||
removed
|
||||
3)a family is changed. The person could be added as child or
|
||||
parent
|
||||
"""
|
||||
#As this would be an extensive check, we choose the easy path and
|
||||
# rebuild family backreferences on all family changes
|
||||
|
||||
self._update_families()
|
||||
|
||||
def _update_families(self):
|
||||
phandle = self.obj.get_handle()
|
||||
person = self.dbstate.db.get_person_from_handle(phandle)
|
||||
self.obj.set_family_handle_list(person.get_family_handle_list())
|
||||
self.obj.set_parent_family_handle_list(person.get_parent_family_handle_list())
|
||||
self.person_ref_list.data = self.obj.get_person_ref_list()
|
||||
self.person_ref_list.rebuild()
|
||||
self.obj.set_parent_family_handle_list(
|
||||
person.get_parent_family_handle_list())
|
||||
|
||||
def _setup_fields(self):
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user