New files for gramps webapp; src/data/templates contains html templates, and src/gen/web contains gramps-Django interface

svn: r13542
This commit is contained in:
Doug Blank
2009-11-10 05:28:35 +00:00
parent b7327e679a
commit 4ab1467845
36 changed files with 3960 additions and 0 deletions

View File

@@ -0,0 +1,55 @@
{% load my_tags %}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="" lang="">
<head>
<title>{% block title %}GRAMPS Connect{% endblock %}</title>
{% block meta %}
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="GRAMPS 3.2.0-0.SVN12859M http://gramps-project.org/" />
<meta name="author" content="" />
{% endblock %}
<link href="/images/favicon.ico" type="image/x-icon" rel="shortcut icon" />
{% block css %}
<link media="screen" href="/styles/behaviour.css" type="text/css" rel="stylesheet" />
<link media="screen" href="/styles/Web_Alphabet-Horizontal.css" type="text/css" rel="stylesheet" />
<link media="screen" href="/styles/Web_Mainz.css" type="text/css" rel="stylesheet" />
<link media="print" href="/styles/Web_Print-Default.css" type="text/css" rel="stylesheet" />
{% endblock %}
</head>
<body id= "NarrativeWeb">
<div id="header">
<h1 id="SiteTitle">{% block heading %}GRAMPS Connect{% endblock %}</h1>
</div>
<div id="navigation">
{% block navigation %}
<ul>
<li class="{{ cview|currentSection:"home" }}"><a href="/">Home</a></li>
{% for view in views %}
<li class="{{ cview|currentSection:view.1 }}"><a href="/{{view.1}}/">{{view.0}}</a></li>
{% endfor %}
{% if user.is_authenticated %}
<li><a href="/logout">Logout</a></li>
{% if user.is_superuser %}
<li><a href="/admin">Admin</a></li>
{% endif %}
{% else %}
<li><a href="/login/">Login</a></li>
{% endif %}
</ul>
{% endblock %}
</div>
<div class="content">
<div class="grampsweb">
{% block content %}
{% endblock %}
</div>
</div>
<div id="footer">
{% block footer %}(c) 2009 <a href="http://www.gramps-project.org/">www.gramps-project.net</a>
{% endblock %}
</div>
</body>
</html>

View File

@@ -0,0 +1,26 @@
{% extends "gramps-base.html" %}
{% block title %}GRAMPS Connect - main page {% endblock %}
{% block heading %}GRAMPS - main page {% endblock %}
{% block content %}
<p id="description">Welcome to GRAMPS Connect, a new web-based collaboration tool.
{% if user.is_authenticated %}
You are now logged in
as <a href="/user/{{user.username}}">{{user.username}}</a>.
{% endif %}
</p>
<p id="description">
Database information:
<ul>
{% for view in views %}
<li><a href="/{{view.1}}">{{view.0}}</a> ({{view.2}} records)</li>
{% endfor %}
</ul>
</p>
{% endblock %}

View File

@@ -0,0 +1,31 @@
{% extends "base.html" %}
{% block windowtitle %}Person Details{% endblock %}
{% block pagetitle %}{{Pname}}{% endblock %}
{% block content %}
<form name="input" action={{URL}} method="post">
<table cellspacing = "2">
<tr><td colspan = "2">Preferred Name</td></tr>
{% for field in NForm %}
<div class="fieldWrapper"><tr>
<td width="10"></td>
<td>{{ field.label_tag }}: </td>
<td width="300">{{ field }}<p>{{ field.help_text }}</p></td>
<td>{{ field.errors }}</td>
</tr></div>
{% endfor %}
</table>
<table cellspacing = "2">
{% for field in PForm %}
<div class="fieldWrapper"><tr>
<td>{{ field.label_tag }}: </td>
<td width="300">{{ field }}<p>{{ field.help_text }}</p></td>
<td>{{ field.errors }}</td>
</tr></div>
{% endfor %}
</table>
<input type="submit" value="Save & Exit" />
</form>
{% endblock %}

View File

@@ -0,0 +1,69 @@
{% extends "base.html" %}
{% block windowtitle %}Person Details{% endblock %}
{% block pagetitle %}{{Pname}}{% endblock %}
{% block content %}
<form name="input" action={{URL}} method="post">
{{ NForm.management_form }}
Names (<a id="displayText" href="javascript:toggle('nameset','show');">hide</a>)
<div id="nameset" style="display: block">
<table class="nicetable">
<tr>
<td>Preferred Name?</td>
<td>Prefix</td>
<td>First Name</td>
<td>Surname</td>
<td>Suffix</td>
<td>Type of Name</td>
<td>Delete</td>
</tr>
{% for form in NForm.forms %}
<tr>
{% for field in form %}
<td><p>{{ field }}</p>
<div id="errmsg"><p>{{ field.errors }}</p></div></td>
{% endfor %}
</tr>
{% endfor %}
<tr><td colspan="7"><div id="errmsg">{{ NamesetError }}</div></td></tr>
</table></div>
<table class="nicetable">
<tr>
<td>Reference ID: {{PForm.gramps_id}}</td>
<td>{{PForm.private}} Private </td>
<td>Last Changed: {{PLastChanged}}
<div id="errmsg"><p>{{PForm.last_changed.errors}}</p></div></td>
</tr><tr>
<td>Marker: {{PForm.marker_type}}
<div id="errmsg"><p>{{PForm.marker_type.errors}}</p></div></td>
<td>Gender: {{PForm.gender_type}}
<div id="errmsg"><p>{{PForm.gender_type.errors}}</p></div></td>
</tr><tr>
<td><p>Parent in these families:
(<a id="displayText" href="javascript:toggle('families','Edit');">
Edit</a>)</p><ul>{% for family in ParentF %}
<li>{{family}}</li>
{% endfor %}</ul></td>
<td><p>Child in these families:
(<a id="displayText" href="javascript:toggle('pfamilies','Edit');"> Edit</a>)</p><ul>{% for family in ChildF %}
<li>{{family}}</li>
{% endfor %}</ul></td>
</tr>
</table>
<table class="nicetable">
<tr><td width = "300"><div id="families" style="display: none">
<p>{{PForm.families}}</p>
<p>{{PForm.families.help_text}}</p>
<p>{{PForm.famlies.errors}}</p></div></td>
<td width = "300"><div id="pfamilies" style="display: none">
<p>{{PForm.parent_families}}</p>
<p>{{PForm.parent_families.help_text}}</p>
<p>{{PForm.parent_famlies.errors}}</p></div></td></tr>
</table>
<input type="submit" value="Save & Exit" />
</form>
{% endblock %}

View File

@@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block windowtitle %}Places{% endblock %}
{% block pagetitle %}Places{% endblock %}
{% block content %}
Congratulations, you found Places
{% endblock %}

View File

@@ -0,0 +1,49 @@
{{ NForm.management_form }}
<table cellspacing = "2">
<tr><td colspan = "2">Names:</td></tr>
<tr><td width="10"></td>
<td><label>Preferred Name?</label></td>
<td width="50"><label>Prefix</label></td>
<td><label>First Name</label></td>
<td><label>Surname</label></td>
<td><label>Suffix</label></td>
<td><label>Type of Name</label></td>
<td><label>Delete</label></td>
</tr>
{% for form in NForm.forms %}
<div class="fieldWrapper"><tr>
<td width="10"></td>
{% for field in form %}
<td align="center">{{ field }}</td>
{% endfor %}
</tr></div>
<tr><td colspan="5>{{form.errors}}</td></tr>
{% endfor %}
</table>
{% for field in PForm %}
<div class="fieldWrapper"><tr>
<td>{{ field.label_tag }}: </td>
<td width="300">{{ field }}<p>{{ field.help_text }}</p></td>
<td>{{ field.errors }}</td>
</tr></div>
{% endfor %}
{{ NForm.management_form }}
<table>
<td>Preferred Name?</td>
<td>Prefix</td>
<td>First Name</td>
<td>Surname</td>
<td>Suffix</td>
<td>Type of Name</td>
<td>Delete</td>
</tr>
{% for form in NForm.forms %}
{% for field in form %}
<td align="left">{{ field }}<p>{{ field.errors }}</p></td>
{% endfor %}
</tr>
<tr><td colspan="7"></td></tr>
{% endfor %}
</table>

View File

@@ -0,0 +1,35 @@
{% extends "gramps-base.html" %}
{% block title %}GRAMPS Connect - login {% endblock %}
{% block heading %}GRAMPS - login {% endblock %}
{% block content %}
<h2>User Login</h2>
{% if form.errors %}
<p id="description">Your username or password were not valid. Please try again.</p>
{% else %}
<p id="description">Enter your login ID and password below. </p>
{% endif %}
<form method="post" action=".">
<table>
<tr>
<td>
<label for="id_username">Username: </label>
</td>
<td>
{{form.username}}
</td>
</tr>
<tr>
<td>
<label for="id_password">Password: </label>
</td>
<td>
{{form.password}}
</td>
</tr>
</table>
<input type="hidden" name="next" value="/" />
<input type="submit" value="Login" />
</form>
{% endblock %}

View File

@@ -0,0 +1,9 @@
{% extends "base.html" %}
{% block windowtitle %}Data Changes Successfully Saved{% endblock %}
{% block pagetitle %}Data Changes Successfully Saved{% endblock %}
{% block content %}
Congratulations, your data changes were successful!
{% endblock %}

View File

@@ -0,0 +1,5 @@
{% for header in headers %}<th{{ header.class_attr }}>
{% if header.sortable %}<a href="{{ header.url|escape }}">{% endif %}
{{ header.text }}
{% if header.sortable %}</a>{% endif %}
</th>{% endfor %}

View File

@@ -0,0 +1,20 @@
{% extends "gramps-base.html" %}
{% block title %}GRAMPS Connect - user page {% endblock %}
{% block heading %}GRAMPS - user page {% endblock %}
{% block content %}
<p id="description">Details for <b>{{user.first_name}} {{user.last_name}}</b> ({{user.username}}):</p>
<p id="description">
<ul>
<li>User name: <b>{{user.username}}</b></li>
<li>Email: <b><a href="mailto:{{user.email}}">{{user.email}}></a></b></li>
<li>Superuser?: <b>{{user.is_superuser}}</b></li>
<li>Last login: <b>{{user.last_login}}</b></li>
</ul>
</p>
{% endblock %}

View File

@@ -0,0 +1,10 @@
{% extends "gramps-base.html" %}
{% block title %}GRAMPS Connect - {{cview}} detail page {% endblock %}
{% block heading %}GRAMPS - {{cview}} detail page {% endblock %}
{% block content %}
{{cview}} Detail page.
{% endblock %}

View File

@@ -0,0 +1,34 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname">
<thead>
<tr>
<th>Item #</th>
<th>ID</th>
<th>Father</th>
<th>Mother</th>
<th>Relationship</th>
</tr>
</thead>
<tbody>
{% for family in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{family.gramps_id|escape}}" class="noThumb"><span class="grampsid">[{{family.gramps_id}}]</span></a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.father.name_set|make_name:user}}</a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.mother.name_set|make_name:user}}</a>
{% if user.is_authenticated %}
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.family_rel_type|escape}}</a>
{% else %}
<td><a href="/{{view}}/{{family.handle|escape}}">[Private]</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

View File

@@ -0,0 +1,34 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname">
<thead>
<tr>
<th>Item #</th>
<th>ID</th>
<th>Father</th>
<th>Mother</th>
<th>Relationship</th>
</tr>
</thead>
<tbody>
{% for family in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{family.gramps_id|escape}}" class="noThumb"><span class="grampsid">[{{family.gramps_id}}]</span></a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.father.name_set|make_name:user}}</a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.mother.name_set|make_name:user}}</a>
{% if user.is_authenticated %}
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.family_rel_type|escape}}</a>
{% else %}
<td><a href="/{{view}}/{{family.handle|escape}}">[Private]</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

View File

@@ -0,0 +1,13 @@
{% load my_tags %}
<table cellspacing="0">
<thead>
<tr>
{% table_header %}
</tr>
</thead>
<tbody>
{% for view in view_list %}<tr class="{% cycle odd,even %}">
<td><a href="/{{view.name|lower}}/">{{ view.name|escape }}</a></td>
</tr>{% endfor %}
</tbody>
</table>

View File

@@ -0,0 +1,81 @@
{% extends "gramps-base.html" %}
{% load my_tags %}
{% block title %}GRAMPS Connect - {{cview}} view page {% endblock %}
{% block heading %}GRAMPS - {{cview}} view page {% endblock %}
{% block content %}
<p id="description">
<form>
<input type="submit" value="Search:"></submit>
<input name="search" type="input" size="50" value="{{search}}"></input>
</form>
</p>
<div class="pagination">
<span class="step-links">
{% ifequal page.number 1 %}
[first]
{% else %}
[<a href="?page=1{{search_query}}">first</a>]
{% endifequal %}
{% if page.has_previous %}
[<a href="?page={{page.previous_page_number}}{{search_query}}">previous</a>]
{% else %}
[previous]
{% endif %}
<span class="current">
Page {{ page.number }} of {{ page.paginator.num_pages }}
</span>
{% if page.has_next %}
[<a href="?page={{ page.next_page_number }}{{search_query}}">next</a>]
{% else %}
[next]
{% endif %}
{% ifequal page.number page.paginator.num_pages %}
[last]
{% else %}
[<a href="?page={{page.paginator.num_pages}}{{search_query}}">last</a>]
{% endifequal %}
</span>
</div>
<p>&nbsp;</p>
{% block table_data %} TABLE DATA GOES HERE {% endblock %}
<table></table>
<div class="pagination">
<span class="step-links">
{% ifequal page.number 1 %}
[first]
{% else %}
[<a href="?page=1{{search_query}}">first</a>]
{% endifequal %}
{% if page.has_previous %}
[<a href="?page={{page.previous_page_number}}{{search_query}}">previous</a>]
{% else %}
[previous]
{% endif %}
<span class="current">
Page {{ page.number }} of {{ page.paginator.num_pages }}
</span>
{% if page.has_next %}
[<a href="?page={{ page.next_page_number }}{{search_query}}">next</a>]
{% else %}
[next]
{% endif %}
{% ifequal page.number page.paginator.num_pages %}
[last]
{% else %}
[<a href="?page={{page.paginator.num_pages}}{{search_query}}">last</a>]
{% endifequal %}
</span>
</div>
{% endblock %}

View File

@@ -0,0 +1,41 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist IndividualList">
<thead>
<tr>
<th>Item #</th>
<th>Name</th>
<th>ID</th>
<th>Gender</th>
<th>Birth Date</th>
<!-- <td>Birth Place</td> -->
<!-- <td>Death Place</td> -->
<th>Death Date</th>
<!-- <td>Spouse</td> -->
</tr>
</thead>
<tbody>
{% for name in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{name.person.handle|escape}}/" class="noThumb">{{name|make_name:user}}</a>
</td>
<td><a href="/{{view}}/{{name.person.handle|escape}}" class="grampsid">[{{name.person.gramps_id|escape}}]</a></td>
<td><a href="/{{view}}/{{name.person.handle|escape}}" class="noThumb">{{name.person.gender_type|escape}}</a></td>
{% if user.is_authenticated %}
<td><a href="/{{view}}/{{name.person.handle|escape}}" class="noThumb">{{name.person|person_get_birth_date}}</a></td>
<td><a href="/{{view}}/{{name.person.handle|escape}}" class="noThumb">{{name.person|person_get_death_date}}</a></td>
{% else %}
<td><a href="/{{view}}/{{name.person.handle|escape}}/" class="noThumb">[Private]</a>
<td><a href="/{{view}}/{{name.person.handle|escape}}/" class="noThumb">[Private]</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

View File

@@ -0,0 +1,34 @@
{% extends "view_page.html" %}
{% load my_tags %}
{% block table_data %}
<table cellspacing="0" class="infolist surname">
<thead>
<tr>
<th>Item #</th>
<th>ID</th>
<th>Father</th>
<th>Mother</th>
<th>Relationship</th>
</tr>
</thead>
<tbody>
{% for family in page.object_list %}
<tr class="{% cycle odd,even %}">
<td>{{ forloop.counter|row_count:page }}</td>
<td><a href="/{{view}}/{{family.gramps_id|escape}}" class="noThumb"><span class="grampsid">[{{family.gramps_id}}]</span></a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.father.name_set|make_name:user}}</a>
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.mother.name_set|make_name:user}}</a>
{% if user.is_authenticated %}
<td><a href="/{{view}}/{{family.handle|escape}}">{{family.family_rel_type|escape}}</a>
{% else %}
<td><a href="/{{view}}/{{family.handle|escape}}">[Private]</a>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}