* src/ReportUtils.py (sanitize_person): Restrict Media reference list
* src/plugins/NavWebPage.py: Add many more filtering of private data svn: r5360
This commit is contained in:
@ -1,3 +1,7 @@
|
|||||||
|
2005-11-04 Martin Hawlisch <Martin.Hawlisch@gmx.de>
|
||||||
|
* src/ReportUtils.py (sanitize_person): Restrict Media reference list
|
||||||
|
* src/plugins/NavWebPage.py: Add many more filtering of private data
|
||||||
|
|
||||||
2005-11-02 Alex Roitman <shura@gramps-project.org>
|
2005-11-02 Alex Roitman <shura@gramps-project.org>
|
||||||
* src/DbPrompter.py: Close database in all cases; close dialogs
|
* src/DbPrompter.py: Close database in all cases; close dialogs
|
||||||
prior to that.
|
prior to that.
|
||||||
|
@ -1161,7 +1161,8 @@ def sanitize_person(db,person):
|
|||||||
|
|
||||||
# copy Media reference list
|
# copy Media reference list
|
||||||
for obj in person.get_media_list():
|
for obj in person.get_media_list():
|
||||||
new_person.add_media_reference(RelLib.MediaRef(obj))
|
if not obj.get_privacy():
|
||||||
|
new_person.add_media_reference(RelLib.MediaRef(obj))
|
||||||
|
|
||||||
# LDS ordinances
|
# LDS ordinances
|
||||||
ordinance = person.get_lds_baptism()
|
ordinance = person.get_lds_baptism()
|
||||||
|
@ -331,7 +331,7 @@ class BasePage:
|
|||||||
|
|
||||||
if not photolist or not self.use_gallery:
|
if not photolist or not self.use_gallery:
|
||||||
return
|
return
|
||||||
|
|
||||||
photo_handle = photolist[0].get_reference_handle()
|
photo_handle = photolist[0].get_reference_handle()
|
||||||
photo = db.get_object_from_handle(photo_handle)
|
photo = db.get_object_from_handle(photo_handle)
|
||||||
mime_type = photo.get_mime_type()
|
mime_type = photo.get_mime_type()
|
||||||
@ -366,7 +366,6 @@ class BasePage:
|
|||||||
for mediaref in photolist:
|
for mediaref in photolist:
|
||||||
photo_handle = mediaref.get_reference_handle()
|
photo_handle = mediaref.get_reference_handle()
|
||||||
photo = db.get_object_from_handle(photo_handle)
|
photo = db.get_object_from_handle(photo_handle)
|
||||||
|
|
||||||
mime_type = photo.get_mime_type()
|
mime_type = photo.get_mime_type()
|
||||||
if mime_type:
|
if mime_type:
|
||||||
try:
|
try:
|
||||||
@ -568,6 +567,8 @@ class IndividualListPage(BasePage):
|
|||||||
of.write('<tr><td colspan="2"> </td></tr>\n')
|
of.write('<tr><td colspan="2"> </td></tr>\n')
|
||||||
for person_handle in handle_list:
|
for person_handle in handle_list:
|
||||||
person = db.get_person_from_handle(person_handle)
|
person = db.get_person_from_handle(person_handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
person = ReportUtils.sanitize_person(db,person)
|
||||||
of.write('<tr><td class="category">')
|
of.write('<tr><td class="category">')
|
||||||
if first:
|
if first:
|
||||||
of.write('<a name="%s">%s</a>' % (self.lnkfmt(surname),surname))
|
of.write('<a name="%s">%s</a>' % (self.lnkfmt(surname),surname))
|
||||||
@ -621,6 +622,8 @@ class SurnamePage(BasePage):
|
|||||||
|
|
||||||
for person_handle in person_handle_list:
|
for person_handle in person_handle_list:
|
||||||
person = db.get_person_from_handle(person_handle)
|
person = db.get_person_from_handle(person_handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
person = ReportUtils.sanitize_person(db,person)
|
||||||
of.write('<tr><td class="category">')
|
of.write('<tr><td class="category">')
|
||||||
path = self.build_path(person.handle,"ppl",True)
|
path = self.build_path(person.handle,"ppl",True)
|
||||||
self.person_link(of, self.build_name(path,person.handle),
|
self.person_link(of, self.build_name(path,person.handle),
|
||||||
@ -713,7 +716,9 @@ class PlacePage(BasePage):
|
|||||||
self.display_header(of,db,"%s - %s" % (_('Places'), self.page_title),
|
self.display_header(of,db,"%s - %s" % (_('Places'), self.page_title),
|
||||||
get_researcher().get_name(),up=True)
|
get_researcher().get_name(),up=True)
|
||||||
|
|
||||||
self.display_first_image_as_thumbnail(of, db, place.get_media_list())
|
media_list = place.get_media_list()
|
||||||
|
media_list = ReportUtils.sanitize_list( media_list, self.exclude_private)
|
||||||
|
self.display_first_image_as_thumbnail(of, db, media_list)
|
||||||
|
|
||||||
of.write('<div id="summaryarea">\n')
|
of.write('<div id="summaryarea">\n')
|
||||||
of.write('<h3>%s</h3>\n' % self.page_title)
|
of.write('<h3>%s</h3>\n' % self.page_title)
|
||||||
@ -748,10 +753,9 @@ class PlacePage(BasePage):
|
|||||||
of.write('</div>\n')
|
of.write('</div>\n')
|
||||||
|
|
||||||
if self.use_gallery:
|
if self.use_gallery:
|
||||||
plist = place.get_media_list()
|
self.display_additional_images_as_gallery(of, db, media_list)
|
||||||
self.display_additional_images_as_gallery(of, db, plist)
|
|
||||||
self.display_note_object(of, place.get_note_object())
|
self.display_note_object(of, place.get_note_object())
|
||||||
self.display_url_list(of, place.get_url_list())
|
self.display_url_list(of, ReportUtils.sanitize_list( place.get_url_list(), self.exclude_private))
|
||||||
self.display_references(of,db,place_list[place.handle])
|
self.display_references(of,db,place_list[place.handle])
|
||||||
self.display_footer(of,db)
|
self.display_footer(of,db)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
@ -858,7 +862,7 @@ class MediaPage(BasePage):
|
|||||||
of.write('</div>\n')
|
of.write('</div>\n')
|
||||||
|
|
||||||
self.display_note_object(of, photo.get_note_object())
|
self.display_note_object(of, photo.get_note_object())
|
||||||
self.display_attr_list(of, photo.get_attribute_list())
|
self.display_attr_list(of, ReportUtils.sanitize_list( photo.get_attribute_list(), self.exclude_private))
|
||||||
self.display_references(of,db,media_list)
|
self.display_references(of,db,media_list)
|
||||||
self.display_footer(of,db)
|
self.display_footer(of,db)
|
||||||
self.close_file(of)
|
self.close_file(of)
|
||||||
@ -1145,7 +1149,9 @@ class SourcePage(BasePage):
|
|||||||
self.display_header(of,db,"%s - %s" % (_('Sources'), self.page_title),
|
self.display_header(of,db,"%s - %s" % (_('Sources'), self.page_title),
|
||||||
get_researcher().get_name(),up=True)
|
get_researcher().get_name(),up=True)
|
||||||
|
|
||||||
self.display_first_image_as_thumbnail(of, db, source.get_media_list())
|
media_list = source.get_media_list()
|
||||||
|
media_list = ReportUtils.sanitize_list( media_list, self.exclude_private)
|
||||||
|
self.display_first_image_as_thumbnail(of, db, media_list)
|
||||||
|
|
||||||
of.write('<div id="summaryarea">\n')
|
of.write('<div id="summaryarea">\n')
|
||||||
of.write('<h3>%s</h3>\n' % self.page_title)
|
of.write('<h3>%s</h3>\n' % self.page_title)
|
||||||
@ -1163,8 +1169,7 @@ class SourcePage(BasePage):
|
|||||||
of.write('</table>\n')
|
of.write('</table>\n')
|
||||||
of.write('</div>\n')
|
of.write('</div>\n')
|
||||||
|
|
||||||
source_media = source.get_media_list()
|
self.display_additional_images_as_gallery(of, db, media_list)
|
||||||
self.display_additional_images_as_gallery(of, db, source_media)
|
|
||||||
self.display_note_object(of, source.get_note_object())
|
self.display_note_object(of, source.get_note_object())
|
||||||
self.display_references(of,db,src_list[source.handle])
|
self.display_references(of,db,src_list[source.handle])
|
||||||
self.display_footer(of,db)
|
self.display_footer(of,db)
|
||||||
@ -1420,6 +1425,8 @@ class IndividualPage(BasePage):
|
|||||||
if not handle:
|
if not handle:
|
||||||
return None
|
return None
|
||||||
person = self.db.get_person_from_handle(handle)
|
person = self.db.get_person_from_handle(handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
person = ReportUtils.sanitize_person( self.db, person)
|
||||||
self.draw_box(of,center2,col,person)
|
self.draw_box(of,center2,col,person)
|
||||||
self.connect_line(of,center1,center2,col)
|
self.connect_line(of,center1,center2,col)
|
||||||
return person
|
return person
|
||||||
@ -1575,7 +1582,11 @@ class IndividualPage(BasePage):
|
|||||||
father_id = family.get_father_handle()
|
father_id = family.get_father_handle()
|
||||||
mother_id = family.get_mother_handle()
|
mother_id = family.get_mother_handle()
|
||||||
mother = self.db.get_person_from_handle(mother_id)
|
mother = self.db.get_person_from_handle(mother_id)
|
||||||
|
if mother and self.exclude_private:
|
||||||
|
mother = ReportUtils.sanitize_person( self.db, mother)
|
||||||
father = self.db.get_person_from_handle(father_id)
|
father = self.db.get_person_from_handle(father_id)
|
||||||
|
if father and self.exclude_private:
|
||||||
|
father = ReportUtils.sanitize_person( self.db, father)
|
||||||
else:
|
else:
|
||||||
family = None
|
family = None
|
||||||
father = None
|
father = None
|
||||||
@ -1598,6 +1609,8 @@ class IndividualPage(BasePage):
|
|||||||
self.pedigree_family(of)
|
self.pedigree_family(of)
|
||||||
else:
|
else:
|
||||||
child = self.db.get_person_from_handle(child_handle)
|
child = self.db.get_person_from_handle(child_handle)
|
||||||
|
if child and self.exclude_private:
|
||||||
|
child = ReportUtils.sanitize_person( self.db, child)
|
||||||
self.pedigree_person(of,child)
|
self.pedigree_person(of,child)
|
||||||
else:
|
else:
|
||||||
of.write('<span class="thisperson">%s</span><br />\n' % self.name)
|
of.write('<span class="thisperson">%s</span><br />\n' % self.name)
|
||||||
@ -1697,6 +1710,8 @@ class IndividualPage(BasePage):
|
|||||||
def display_child_link(self, of, child_handle):
|
def display_child_link(self, of, child_handle):
|
||||||
use_link = child_handle in self.ind_list
|
use_link = child_handle in self.ind_list
|
||||||
child = self.db.get_person_from_handle(child_handle)
|
child = self.db.get_person_from_handle(child_handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
child = ReportUtils.sanitize_person( self.db, child)
|
||||||
gid = child.get_gramps_id()
|
gid = child.get_gramps_id()
|
||||||
if use_link:
|
if use_link:
|
||||||
child_name = nameof(child, self.exclude_private)
|
child_name = nameof(child, self.exclude_private)
|
||||||
@ -1710,6 +1725,8 @@ class IndividualPage(BasePage):
|
|||||||
def display_parent(self, of, handle, title, rel):
|
def display_parent(self, of, handle, title, rel):
|
||||||
use_link = handle in self.ind_list
|
use_link = handle in self.ind_list
|
||||||
person = self.db.get_person_from_handle(handle)
|
person = self.db.get_person_from_handle(handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
person = ReportUtils.sanitize_person( self.db, person)
|
||||||
of.write('<td class="field">%s</td>\n' % title)
|
of.write('<td class="field">%s</td>\n' % title)
|
||||||
of.write('<td class="data">')
|
of.write('<td class="data">')
|
||||||
val = person.gramps_id
|
val = person.gramps_id
|
||||||
@ -1810,6 +1827,8 @@ class IndividualPage(BasePage):
|
|||||||
spouse_id = ReportUtils.find_spouse(self.person,family)
|
spouse_id = ReportUtils.find_spouse(self.person,family)
|
||||||
if spouse_id:
|
if spouse_id:
|
||||||
spouse = self.db.get_person_from_handle(spouse_id)
|
spouse = self.db.get_person_from_handle(spouse_id)
|
||||||
|
if self.exclude_private:
|
||||||
|
spouse = ReportUtils.sanitize_person( self.db, spouse)
|
||||||
name = nameof(spouse,self.exclude_private)
|
name = nameof(spouse,self.exclude_private)
|
||||||
else:
|
else:
|
||||||
name = _("unknown")
|
name = _("unknown")
|
||||||
@ -1845,6 +1864,8 @@ class IndividualPage(BasePage):
|
|||||||
of.write(self.format_event(event))
|
of.write(self.format_event(event))
|
||||||
of.write('</td>\n</tr>\n')
|
of.write('</td>\n</tr>\n')
|
||||||
for attr in family.get_attribute_list():
|
for attr in family.get_attribute_list():
|
||||||
|
if self.exclude_private and attr.private:
|
||||||
|
continue
|
||||||
of.write('<tr><td> </td>\n')
|
of.write('<tr><td> </td>\n')
|
||||||
of.write('<td class="field">%s</td>' % _(attr.get_type()))
|
of.write('<td class="field">%s</td>' % _(attr.get_type()))
|
||||||
of.write('<td class="data">%s</td>\n</tr>\n' % attr.get_value())
|
of.write('<td class="data">%s</td>\n</tr>\n' % attr.get_value())
|
||||||
@ -1881,12 +1902,16 @@ class IndividualPage(BasePage):
|
|||||||
spouse_handle = ReportUtils.find_spouse(self.person,rel_family)
|
spouse_handle = ReportUtils.find_spouse(self.person,rel_family)
|
||||||
if spouse_handle:
|
if spouse_handle:
|
||||||
spouse = self.db.get_person_from_handle(spouse_handle)
|
spouse = self.db.get_person_from_handle(spouse_handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
spouse = ReportUtils.sanitize_person( self.db, spouse)
|
||||||
self.pedigree_person(of,spouse,True)
|
self.pedigree_person(of,spouse,True)
|
||||||
childlist = rel_family.get_child_handle_list()
|
childlist = rel_family.get_child_handle_list()
|
||||||
if childlist:
|
if childlist:
|
||||||
of.write('<div class="pedigreegen">\n')
|
of.write('<div class="pedigreegen">\n')
|
||||||
for child_handle in childlist:
|
for child_handle in childlist:
|
||||||
child = self.db.get_person_from_handle(child_handle)
|
child = self.db.get_person_from_handle(child_handle)
|
||||||
|
if self.exclude_private:
|
||||||
|
child = ReportUtils.sanitize_person( self.db, child)
|
||||||
self.pedigree_person(of,child)
|
self.pedigree_person(of,child)
|
||||||
of.write('</div>\n')
|
of.write('</div>\n')
|
||||||
|
|
||||||
@ -1895,6 +1920,8 @@ class IndividualPage(BasePage):
|
|||||||
lnk = (self.cur_name, self.page_title, self.gid)
|
lnk = (self.cur_name, self.page_title, self.gid)
|
||||||
|
|
||||||
for sref in event.get_source_references():
|
for sref in event.get_source_references():
|
||||||
|
if self.exclude_private and sref.private:
|
||||||
|
continue
|
||||||
handle = sref.get_base_handle()
|
handle = sref.get_base_handle()
|
||||||
gid_list.append(sref)
|
gid_list.append(sref)
|
||||||
|
|
||||||
@ -2690,11 +2717,15 @@ def sort_people(db,handle_list):
|
|||||||
while node:
|
while node:
|
||||||
if node[0] in flist:
|
if node[0] in flist:
|
||||||
primary_name = node[1][_NAME_COL]
|
primary_name = node[1][_NAME_COL]
|
||||||
if primary_name.group_as:
|
if primary_name.private:
|
||||||
surname = primary_name.group_as
|
surname = _('Private')
|
||||||
|
sortnames[node[0]] = _('Private')
|
||||||
else:
|
else:
|
||||||
surname = db.get_name_group_mapping(primary_name.surname)
|
if primary_name.group_as:
|
||||||
sortnames[node[0]] = primary_name.sname
|
surname = primary_name.group_as
|
||||||
|
else:
|
||||||
|
surname = db.get_name_group_mapping(primary_name.surname)
|
||||||
|
sortnames[node[0]] = primary_name.sname
|
||||||
if sname_sub.has_key(surname):
|
if sname_sub.has_key(surname):
|
||||||
sname_sub[surname].append(node[0])
|
sname_sub[surname].append(node[0])
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user