Django debug support; added table support; add missing DjangoDb funcs; minor css tweaks

svn: r13594
This commit is contained in:
Doug Blank
2009-11-15 22:47:43 +00:00
parent fa21027a23
commit 313bcfa0cd
7 changed files with 332 additions and 67 deletions

View File

@ -61,7 +61,7 @@ class Table(object):
_ = lambda text: text
def events_table(djperson):
def person_event_table(djperson, user):
table = Table()
table.columns(_("Description"),
_("Type"),
@ -75,7 +75,6 @@ def events_table(djperson):
object_type=obj_type).order_by("order")
event_list = [(obj.ref_object, obj) for obj in event_ref_list]
for (djevent, event_ref) in event_list:
print djevent.description
table.row(
djevent.description,
table.db.get_event_from_handle(djevent.handle),
@ -85,6 +84,195 @@ def events_table(djperson):
str(event_ref.role_type))
return table.get_html()
def person_name_table(djperson, user):
table = Table()
table.columns(_("Name"),
_("Type"),
_("Group As"),
_("Source"),
_("Note Preview"))
for name in djperson.name_set.all():
obj_type = ContentType.objects.get_for_model(name)
sourceq = dji.SourceRef.filter(object_type=obj_type,
object_id=name.id).count() > 0
note_refs = dji.NoteRef.filter(object_type=obj_type,
object_id=name.id)
note = ""
if note_refs.count() > 0:
note = dji.Note.get(id=note_refs[0].object_id).text[:50]
table.row(make_name(name, user),
str(name.name_type),
name.group_as,
["No", "Yes"][sourceq],
note)
return table.get_html()
def person_source_table(djperson, user):
table = Table()
table.columns(_("ID"),
_("Title"),
_("Author"),
_("Page"))
obj_type = ContentType.objects.get_for_model(djperson)
source_refs = dji.SourceRef.filter(object_type=obj_type,
object_id=djperson.id)
for source_ref in source_refs:
source = table.db.get_source_from_handle(source_ref.ref_object.handle)
table.row(source,
source_ref.ref_object.title,
source_ref.ref_object.author,
source_ref.page,
)
return table.get_html()
def person_attribute_table(djperson, user):
table = Table()
table.columns(_("Type"),
_("Value"),
)
obj_type = ContentType.objects.get_for_model(djperson)
attributes = dji.Attribute.filter(object_type=obj_type,
object_id=djperson.id)
for attribute in attributes:
table.row(attribute.attribute_type.name,
attribute.value)
return table.get_html()
def person_address_table(djperson, user):
table = Table()
table.columns(_("Date"),
_("Address"),
_("City"),
_("State"),
_("Country"))
for address in djperson.address_set.all().order_by("order"):
locations = address.location_set.all().order_by("order")
for location in locations:
table.row(display_date(address),
location.street,
location.city,
location.state,
location.country)
return table.get_html()
def person_note_table(djperson, user):
table = Table()
table.columns(
_("ID"),
_("Type"),
_("Note"))
obj_type = ContentType.objects.get_for_model(djperson)
note_refs = dji.NoteRef.filter(object_type=obj_type,
object_id=djperson.id)
for note_ref in note_refs:
note = table.db.get_note_from_handle(
note_ref.ref_object.handle)
table.row(table.db.get_note_from_handle(note.handle),
str(note_ref.ref_object.note_type),
note_ref.ref_object.text[:50])
return table.get_html()
def person_gallery_table(djperson, user):
table = Table()
table.columns(_("Name"),
_("Type"),
)
return table.get_html()
def person_internet_table(djperson, user):
table = Table()
table.columns(_("Type"),
_("Path"),
_("Description"))
urls = dji.Url.filter(person=djperson)
for url in urls:
table.row(str(url.url_type),
url.path,
url.desc)
return table.get_html()
def person_association_table(djperson, user):
table = Table()
table.columns(_("Name"),
_("ID"),
_("Association"))
gperson = table.db.get_person_from_handle(djperson.handle)
associations = gperson.get_person_ref_list()
for association in associations:
table.row()
return table.get_html()
def person_lds_table(djperson, user):
table = Table()
table.columns(_("Type"),
_("Date"),
_("Status"),
_("Temple"),
_("Place"))
obj_type = ContentType.objects.get_for_model(djperson)
ldss = djperson.lds_set.all().order_by("order")
for lds in ldss:
table.row(str(lds.lds_type),
display_date(lds),
str(lds.status),
lds.temple,
get_title(lds.place))
return table.get_html()
def person_reference_table(djperson, user):
table = Table()
table.columns(_("Type"),
_("ID"),
_("Name"))
references = dji.PersonRef.filter(ref_object=djperson)
for reference in references:
table.row(str(reference.reference_type),
reference.ref_object.gramps_id,
make_name(reference.ref_object))
return table.get_html()
def family_children_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_event_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_source_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_attribute_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_note_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_gallery_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
def family_lds_table(djfamily, user):
table = Table()
table.columns(_("Column"))
table.row("test")
return table.get_html()
## FIXME: these dji function wrappers just use the functions
## written for the import/export. Can be done much more directly.
@ -142,7 +330,7 @@ def make_name(name, user):
return escape("%s, %s" % (surname, "[Living]"))
else:
return escape("%s, %s" % (surname, name.first_name))
elif name:
elif name: # name_set
name = name.get(preferred=True)
if name:
return make_name(name, user)