view bts_webui/amancay/templates/table_widget.html @ 151:534af876ae6d draft

tables: use django Paginator object This gives us free pagination in all the bug lists using table_widget, basically everywhere.
author diegoe-guest
date Wed, 12 Aug 2009 20:52:01 +0000
parents af5334fc46c1
children 3acacefd6217
line wrap: on
line source

{% comment %} vim: set sw=4 ts=4 sts=4 noet: {% endcomment %}
{% load template_filters %}

<script type="text/javascript" language="javascript" charset="utf-8">
function toggle_star_cb(img, newimg, xml) {
	img.src = newimg;
}
function toggle_star(id) {
	var url = '/ajax/package/';
	var img = document.getElementById(id + '_star');
	var newimg = '';

	if (MochiKit.Text.endsWith('star_on.png', img.src))
	{
		newimg = '/static/icons/star_off.png';
		url += 'remove/';
	}
	else
	{
		newimg = '/static/icons/star_on.png';
		url += 'add/';
	}

	var res = MochiKit.Async.doSimpleXMLHttpRequest(url, {'id': id});
	res.addCallback(toggle_star_cb, img, newimg);
}
</script>
{% if bug_list %}
<span class="table_title">{{ title }}</span>

<div class="pager">
	<span class="page_numbers">
	{% if page.has_previous %}
		<a href="?page={{ contacts.previous_page_number }}">« previous</a>
	{% endif %}

	<span class="current">
		Page {{ page.number }} of {{ page.paginator.num_pages }}
	</span>

	{% if page.has_next %}
		<a href="?page={{ page.next_page_number }}">next »</a>
	{% endif %}
	</span>
	<span class="total_bugs">Found {{ page.paginator.count }} bugs</span>
</div>

<table class="bugs">
	<tr>
		<th></th>
		<th>Bug #</th>
		<th>Summary</th>
		<th>Last modified</th>
	</tr>
	{% for bug in bug_list %}
	{% ifchanged %}
	<tr>
		<td class="starred">
			<a href="javascript:toggle_star('{{ bug.package }}')" class="favorite_icon">
		{% if bug.pkg_fav %}
			<img id="{{ bug.package }}_star" src="/static/icons/star_on.png" style="vertical-align: middle"/>
		{% else %}
			<img id="{{ bug.package }}_star" src="/static/icons/star_off.png" style="vertical-align: middle"/>
		{% endif %}
			</a>
		</td>
		<td class="package" colspan="4">
			<a href="/package/{{ bug.package }}">{{ bug.package }}</a>
		</td>
	</tr>
	{% endifchanged %}
	<tr>
		<td class="starred"></td>
		<td class="bug_number">#{{ bug.id }}</td>
		<td class="subject">
			<a href="/bug/{{ bug.id }}">{{ bug.subject|truncatewords:6 }}</a>
		</td>
		<td class="date">{{ bug.log_modified|tstodatetime|timesince}} ago</td>
	</tr>
	<tr>
		<td></td>
		<td></td>
		<td colspan="3">
			<span class="extra">
				<span class="status {{ bug.severity }}">{{ bug.severity }}</span>
				reported by <b>{{ bug.originator }}</b> marked <b>{{ bug.pending }}</b>
				{% if bug.keywords %}
				tagged <b>{{ bug.keywords }}</b>
				{% endif%}
			</span>
		</td>
	</tr>
	{% endfor %}
</table>
{% endif %}