NarrativeWeb: LDS Ordinances: added source references. Web_Visually: added LDS Source References.

svn: r12868
This commit is contained in:
Rob G. Healey 2009-08-03 08:43:14 +00:00
parent 571e73f0cd
commit bc738e0811
2 changed files with 76 additions and 41 deletions

View File

@ -924,16 +924,9 @@ div#parents table.infolist tbody tr td.ColumnValue ol li {
----------------------------------------------------- */
div#families table.infolist {
margin-top:.5em;
}
div#Families table.infolist tbody tr td {
background-color:#FFF;
width:100%;
}
div#Families table.infolist tr.TableTitle {
border-top:solid 2px #000;
border-bottom:solid 1px #000;
}
div#Families table.infolist tr.TableTitle td {
width:100%;
text-align:center;
}
div#families table.infolist tbody tr td.ColumnValue p {
margin-top:0;
@ -946,6 +939,42 @@ div#families table.infolist tbody tr td.ColumnValue ol li {
padding-bottom:.2em;
}
/* Subsection: LDS Ordinance
------------------------------------------------------ */
div#LDSOrdinance { }
div#LDSOrdinance table.ldsordlist {
font-size:.35cm;
}
table.ldsordlist {
margin-bottom:.5em;
}
table.ldsordlist tbody tr td {
border-bottom:solid 1px #000;
}
table.ldsordlist tbody tr td.ColumnLDSType {
width:12%;
}
table.ldsordlist tbody tr td.ColumnLDSDate {
width:15%;
}
table.ldsordlist tbody tr td.ColumnLDSTemple {
width:10%;
}
table.ldsordlist tbody tr td.ColumnLDSPlace {
width:35%;
}
table.ldsordlist tbody tr td.ColumnLDSStatus {
width:8;
}
table.ldsordlist tbody tr td.ColumnLDSSealed {
width:25%;
}
table.ldsordlist tbody tr td.ColumnLDSSources {
width:7%;
margin-top:.2cm;
}
/* Subsections : Addresses
----------------------------------------------------- */
div#addresses {

View File

@ -256,7 +256,8 @@ class BasePage(object):
[_('Temple'), 'LDSTemple' ],
[_('Place'), 'LDSPlace' ],
[_('Status'), 'LDSStatus' ],
[_('Sealed to '), 'LDSSealed'] ]:
[_('Sealed to '), 'LDSSealed'],
[_('Sources'), 'LDSSources'] ]:
trow += Html('th', label, class_='Column%s' % colclass, inline=True)
@ -282,12 +283,13 @@ class BasePage(object):
# 0 = column class, 1 = ordinance data
lds_ord_data = [
['LDSType', ord.type2xml()],
['LDSDate', ord.get_date_object()],
['LDSTemple', ord.get_temple()],
['LDSPlace', ord.get_place_handle()],
['LDSStatus', ord.get_status()],
['LDSSealed', ord.get_family_handle()]
['LDSType', ord.type2xml()],
['LDSDate', ord.get_date_object()],
['LDSTemple', ord.get_temple()],
['LDSPlace', ord.get_place_handle()],
['LDSStatus', ord.get_status()],
['LDSSealed', ord.get_family_handle()],
['LDSSources', ord.get_source_references()],
]
# format date as in user preferences
@ -296,6 +298,9 @@ class BasePage(object):
# get place name from database
lds_ord_data[3][1] = ReportUtils.place_name(db, lds_ord_data[3][1])
# get Source references
lds_ord_data[6][1] = self.get_citation_links(lds_ord_data[6][1])
# begin ordinance rows
trow = Html('tr')
tbody += trow
@ -315,6 +320,32 @@ class BasePage(object):
# return table to its callers
return table
def get_citation_links(self, source_ref_list):
gid_list = []
lnk = (self.report.cur_fname, self.page_title, self.gid)
for sref in source_ref_list:
handle = sref.get_reference_handle()
gid_list.append(sref)
if handle in self.src_list:
if lnk not in self.src_list[handle]:
self.src_list[handle].append(lnk)
else:
self.src_list[handle] = [lnk]
text = ""
if len(gid_list):
text = text + " <sup>"
for ref in gid_list:
index, key = self.bibli.add_reference(ref)
id_ = "%d%s" % (index+1, key)
text = text + '<a href="#sref%s">%s</a>' % (id_, id_)
text = text + "</sup>"
# return citation list text to its callers
return text
def dump_source_references(self, db, sourcelist):
""" Dump a list of source references """
@ -3929,31 +3960,6 @@ class IndividualPage(BasePage):
# return table to its callers
return table
def get_citation_links(self, source_ref_list):
gid_list = []
lnk = (self.report.cur_fname, self.page_title, self.gid)
for sref in source_ref_list:
handle = sref.get_reference_handle()
gid_list.append(sref)
if handle in self.src_list:
if lnk not in self.src_list[handle]:
self.src_list[handle].append(lnk)
else:
self.src_list[handle] = [lnk]
text = ""
if len(gid_list):
text = text + " <sup>"
for ref in gid_list:
index, key = self.bibli.add_reference(ref)
id_ = "%d%s" % (index+1, key)
text = text + '<a href="#sref%s">%s</a>' % (id_, id_)
text = text + "</sup>"
return text
class RepositoryListPage(BasePage):
"""
Will create the repository list page