* src/Filters/Rules/Person/_HasBirth.py,
* src/Filters/Rules/Person/_HasDeath.py, * src/Filters/Rules/Person/_HasEvent.py: Only match filter if event role = primary * src/RelLib/_Person.py (_remove_handle_references): Correct removing of person handle reference; (get_sourcref_child_list) Add self.person_ref_list because they link to persons and sources * src/DataViews/_PersonView.py (delete_person_response): Remove person from other persons as well because of PersonRef. svn: r7607
This commit is contained in:
@@ -33,7 +33,7 @@ from gettext import gettext as _
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import DateHandler
|
||||
from RelLib import EventType
|
||||
from RelLib import EventType,EventRoleType
|
||||
from Filters.Rules._Rule import Rule
|
||||
from Filters.Rules._RuleUtils import loose_date_cmp
|
||||
|
||||
@@ -59,6 +59,9 @@ class HasBirth(Rule):
|
||||
|
||||
def apply(self,db,person):
|
||||
for event_ref in person.get_event_ref_list():
|
||||
if event_ref.role != EventRoleType.PRIMARY:
|
||||
# Only match primaries, no witnesses
|
||||
continue
|
||||
event = db.get_event_from_handle(event_ref.ref)
|
||||
if event.get_type() != EventType.BIRTH:
|
||||
# No match: wrong type
|
||||
|
@@ -33,7 +33,7 @@ from gettext import gettext as _
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
import DateHandler
|
||||
from RelLib import EventType
|
||||
from RelLib import EventType,EventRoleType
|
||||
from Filters.Rules._Rule import Rule
|
||||
from Filters.Rules._RuleUtils import loose_date_cmp
|
||||
|
||||
@@ -59,6 +59,9 @@ class HasDeath(Rule):
|
||||
|
||||
def apply(self,db,person):
|
||||
for event_ref in person.get_event_ref_list():
|
||||
if event_ref.role != EventRoleType.PRIMARY:
|
||||
# Only match primaries, no witnesses
|
||||
continue
|
||||
event = db.get_event_from_handle(event_ref.ref)
|
||||
if event.get_type() != EventType.DEATH:
|
||||
# No match: wrong type
|
||||
|
@@ -32,6 +32,7 @@ from gettext import gettext as _
|
||||
# GRAMPS modules
|
||||
#
|
||||
#-------------------------------------------------------------------------
|
||||
from RelLib import EventRoleType
|
||||
from Filters.Rules._HasEventBase import HasEventBase
|
||||
|
||||
#-------------------------------------------------------------------------
|
||||
@@ -53,6 +54,9 @@ class HasEvent(HasEventBase):
|
||||
for event_ref in person.get_event_ref_list():
|
||||
if not event_ref:
|
||||
continue
|
||||
if event_ref.role != EventRoleType.PRIMARY:
|
||||
# Only match primaries, no witnesses
|
||||
continue
|
||||
event = db.get_event_from_handle(event_ref.ref)
|
||||
if HasEventBase.apply(self,db,event):
|
||||
return True
|
||||
|
Reference in New Issue
Block a user