Fixed event types in multiple places. Fixed a crash at line 520 reported by Gary Britton. Thank you.
svn: r13750
This commit is contained in:
@ -1,3 +1,4 @@
|
|||||||
|
f
|
||||||
#
|
#
|
||||||
# Gramps - a GTK+/GNOME based genealogy program
|
# Gramps - a GTK+/GNOME based genealogy program
|
||||||
#
|
#
|
||||||
@ -513,17 +514,9 @@ class BasePage(object):
|
|||||||
"""
|
"""
|
||||||
db = self.report.database
|
db = self.report.database
|
||||||
|
|
||||||
# get event type
|
# get event type and hyperlink to it or not?
|
||||||
evt_type = evt.type.xml_str()
|
etype = str(evt.type)
|
||||||
for xtype in EventType._DATAMAP:
|
evt_hyper = self.event_link(etype, evt_ref.ref, gid, up) if hyp else etype
|
||||||
if xtype[2] == evt_type:
|
|
||||||
etype = xtype[1]
|
|
||||||
break
|
|
||||||
|
|
||||||
# get hyperlink or not?
|
|
||||||
evt_hyper = etype
|
|
||||||
if hyp:
|
|
||||||
evt_hyper = self.event_link(etype, evt_ref.ref, gid, up)
|
|
||||||
|
|
||||||
# get place name
|
# get place name
|
||||||
place = None
|
place = None
|
||||||
@ -2477,8 +2470,9 @@ class EventPage(BasePage):
|
|||||||
body += eventdetail
|
body += eventdetail
|
||||||
|
|
||||||
# display page itle
|
# display page itle
|
||||||
|
person_name = self.get_name(person)
|
||||||
title = _("%(type)s of %(name)s") % {'type' : evt_type.lower(),
|
title = _("%(type)s of %(name)s") % {'type' : evt_type.lower(),
|
||||||
'name' : self.get_name(person) }
|
'name' : person_name }
|
||||||
|
|
||||||
# line is in place for Peter Lundgren
|
# line is in place for Peter Lundgren
|
||||||
title = title[0].upper() + title[1:]
|
title = title[0].upper() + title[1:]
|
||||||
@ -5231,8 +5225,7 @@ class NavWebReport(Report):
|
|||||||
@param: ind_list = list of handles for persons in this database
|
@param: ind_list = list of handles for persons in this database
|
||||||
"""
|
"""
|
||||||
db = self.database
|
db = self.database
|
||||||
event_types = []
|
event_dict, event_types = [], []
|
||||||
event_handle_list = []
|
|
||||||
|
|
||||||
for person_handle in ind_list:
|
for person_handle in ind_list:
|
||||||
person = db.get_person_from_handle(person_handle)
|
person = db.get_person_from_handle(person_handle)
|
||||||
@ -5251,11 +5244,6 @@ class NavWebReport(Report):
|
|||||||
for evt_ref in family.get_event_ref_list():
|
for evt_ref in family.get_event_ref_list():
|
||||||
event = db.get_event_from_handle(evt_ref.ref)
|
event = db.get_event_from_handle(evt_ref.ref)
|
||||||
|
|
||||||
# get the event type
|
|
||||||
etype = str(event.type)
|
|
||||||
event_types.append(etype)
|
|
||||||
event_handle_list.append(evt_ref.ref)
|
|
||||||
|
|
||||||
# get sot date as year/month/day, 2009/09/09,
|
# get sot date as year/month/day, 2009/09/09,
|
||||||
# or 0000/00/00 for non-existing date
|
# or 0000/00/00 for non-existing date
|
||||||
event_date = event.get_date_object()
|
event_date = event.get_date_object()
|
||||||
@ -5265,16 +5253,12 @@ class NavWebReport(Report):
|
|||||||
sort_date = '%04d/%02d/%02d' % (year, month, day)
|
sort_date = '%04d/%02d/%02d' % (year, month, day)
|
||||||
|
|
||||||
# add event data
|
# add event data
|
||||||
event_list.append([evt_type, sort_date, sort_name, event, evt_ref])
|
event_types.append(str(event.type))
|
||||||
|
event_list.append( [str(event.type), sort_date, sort_name, event, evt_ref] )
|
||||||
|
|
||||||
for evt_ref in person.get_primary_event_ref_list():
|
for evt_ref in person.get_primary_event_ref_list():
|
||||||
event = db.get_event_from_handle(evt_ref.ref)
|
event = db.get_event_from_handle(evt_ref.ref)
|
||||||
|
|
||||||
# get event type
|
|
||||||
etype = str(event.type)
|
|
||||||
event_types.append(etype)
|
|
||||||
event_handle_list.append(evt_ref.ref)
|
|
||||||
|
|
||||||
# get sot date as year/month/day, see above for further info
|
# get sot date as year/month/day, see above for further info
|
||||||
event_date = event.get_date_object()
|
event_date = event.get_date_object()
|
||||||
year = event_date.get_year() or 0
|
year = event_date.get_year() or 0
|
||||||
@ -5283,16 +5267,17 @@ class NavWebReport(Report):
|
|||||||
sort_date = '%04d/%02d/%02d' % (year, month, day)
|
sort_date = '%04d/%02d/%02d' % (year, month, day)
|
||||||
|
|
||||||
# add event data
|
# add event data
|
||||||
event_list.append([evt_type, sort_date, sort_name, event, evt_ref])
|
event_types.append(str(event.type))
|
||||||
|
event_list.append( [str(event.type), sort_date, sort_name, event, evt_ref] )
|
||||||
|
|
||||||
# sort the event_list
|
# sort the event_list
|
||||||
event_list.sort()
|
event_list.sort()
|
||||||
|
|
||||||
# combine person and their events together
|
# combine person and their events together
|
||||||
event_dict.append([person, event_list])
|
event_dict.append([person, event_list])
|
||||||
|
|
||||||
# return the events for EventListPage and EventPage
|
# return the events for EventListPage and EventPage
|
||||||
return event_dict, event_types, event_handle_list
|
return event_dict, event_types
|
||||||
|
|
||||||
def build_attributes(self, person):
|
def build_attributes(self, person):
|
||||||
""" build a list of attributes for each person """
|
""" build a list of attributes for each person """
|
||||||
@ -5415,11 +5400,11 @@ class NavWebReport(Report):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
# set up progress bar for event pages; using ind list because it was taking too long at the end
|
# set up progress bar for event pages; using ind list because it was taking too long at the end
|
||||||
event_handles = self.database.get_event_handles()
|
event_handle_list = self.database.get_event_handles()
|
||||||
self.progress.set_pass(_("Creating event pages"), len(event_handles))
|
self.progress.set_pass(_("Creating event pages"), len(event_handle_list))
|
||||||
|
|
||||||
# gather the information that we will need for these two classes
|
# gather the information that we will need for these two classes
|
||||||
event_dict, event_types, event_handle_list = self.build_events(ind_list)
|
event_dict, event_types = self.build_events(ind_list)
|
||||||
|
|
||||||
# send all data to the events list page
|
# send all data to the events list page
|
||||||
EventListPage(self, self.title, event_types, event_handle_list)
|
EventListPage(self, self.title, event_types, event_handle_list)
|
||||||
@ -5428,7 +5413,7 @@ class NavWebReport(Report):
|
|||||||
|
|
||||||
for (evt_type, sort_date, sort_name, event, evt_ref) in event_list:
|
for (evt_type, sort_date, sort_name, event, evt_ref) in event_list:
|
||||||
|
|
||||||
# create individual event page
|
# create individual event page
|
||||||
EventPage(self, self.title, evt_type, person, event, evt_ref)
|
EventPage(self, self.title, evt_type, person, event, evt_ref)
|
||||||
|
|
||||||
# increment the progress bar
|
# increment the progress bar
|
||||||
@ -6157,11 +6142,11 @@ def sort_event_types(db, event_types, event_handle_list):
|
|||||||
for handle in event_handle_list:
|
for handle in event_handle_list:
|
||||||
|
|
||||||
event = db.get_event_from_handle(handle)
|
event = db.get_event_from_handle(handle)
|
||||||
event_type = event.type.xml_str()
|
etype = str(event.type)
|
||||||
|
|
||||||
# add the stuff from this event
|
# add the stuff from this event
|
||||||
if event_type in event_dict:
|
if etype in event_dict:
|
||||||
event_dict[event_type].append(
|
event_dict[etype].append(
|
||||||
(event.gramps_id, event.get_date_object(), handle)
|
(event.gramps_id, event.get_date_object(), handle)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user