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:
Rob G. Healey
2009-12-10 15:37:58 +00:00
parent e5b231ef6b
commit e9650a703b

View File

@ -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)
) )