summaryrefslogtreecommitdiff
path: root/templates/todolists/view.html
diff options
context:
space:
mode:
Diffstat (limited to 'templates/todolists/view.html')
-rw-r--r--templates/todolists/view.html84
1 files changed, 60 insertions, 24 deletions
diff --git a/templates/todolists/view.html b/templates/todolists/view.html
index e53ead82..644e78b0 100644
--- a/templates/todolists/view.html
+++ b/templates/todolists/view.html
@@ -1,6 +1,7 @@
{% extends "base.html" %}
{% load static from staticfiles %}
{% load package_extras %}
+{% load todolists %}
{% block title %}{{ BRANDING_DISTRONAME }} - Todo: {{ list.name }}{% endblock %}
@@ -10,17 +11,17 @@
<h2>Todo List: {{ list.name }}</h2>
<ul class="admin-actions">
- {% if perms.main.delete_todolist %}
- <li><a href="/todo/delete/{{list.id}}/"
+ {% if perms.todolists.delete_todolist %}
+ <li><a href="/todo/{{ list.slug }}/delete/"
title="Delete this todo list">Delete Todo List</a></li>
{% endif %}
- {% if perms.main.change_todolist %}
- <li><a href="/todo/edit/{{list.id}}/"
+ {% if perms.todolists.change_todolist %}
+ <li><a href="/todo/{{ list.slug }}/edit/"
title="Edit this todo list">Edit Todo List</a></li>
{% endif %}
</ul>
- <p class="todo-info">{{ list.date_added|date }} - {{ list.creator.get_full_name }}</p>
+ <p class="todo-info">{{ list.created|date }} - {{ list.creator.get_full_name }}</p>
<div>{{list.description|urlize|linebreaks}}</div>
@@ -29,6 +30,34 @@
<li><a href="pkgbases/{{ svn_root }}/">{{ svn_root }}</a></li>
{% endfor %}</ul>
+ <p>{{ list.packages|length }} total todo list package{{ list.packages|pluralize }} found.</p>
+
+ <div class="box filter-criteria">
+ <h3>Filter Todo List Packages</h3>
+ <form id="todolist_filter" method="post" action=".">
+ <fieldset>
+ <legend>Select filter criteria</legend>
+ {% for arch in arches %}
+ <div><label for="id_arch_{{ arch.name }}" title="Architecture {{ arch.name }}">Arch {{ arch.name }}</label>
+ <input type="checkbox" name="arch_{{ arch.name }}" id="id_arch_{{ arch.name }}" class="arch_filter" value="{{ arch.name }}" checked="checked"/></div>
+ {% endfor %}
+ {% for repo in repos %}
+ <div><label for="id_repo_{{ repo.name|lower }}" title="Target Repository {{ repo.name }}">[{{ repo.name|lower }}]</label>
+ <input type="checkbox" name="repo_{{ repo.name|lower }}" id="id_repo_{{ repo.name|lower }}" class="repo_filter" value="{{ repo.name|lower }}" checked="checked"/></div>
+ {% endfor %}
+ {% if user.is_authenticated %}
+ <div><label for="id_mine_only" title="Show only packages maintained by me">Only Mine</label>
+ <input type="checkbox" name="mine_only" id="id_mine_only" value="mine_only"/></div>
+ {% endif %}
+ <div><label for="id_incomplete" title="Packages not yet completed">Only Incomplete</label>
+ <input type="checkbox" name="incomplete" id="id_incomplete" value="incomplete"/></div>
+ <div ><label>&nbsp;</label><input title="Reset search criteria" type="button" id="criteria_reset" value="Reset"/></div>
+ <div class="clear"></div>
+ <div id="filter-info"><span id="filter-count">{{ list.packages|length }}</span> todo list packages displayed.</div>
+ </fieldset>
+ </form>
+ </div>
+
<table id="dev-todo-pkglist" class="results todo-table">
<thead>
<tr>
@@ -36,33 +65,34 @@
<th>Repository</th>
<th>Name</th>
<th>Current Version</th>
+ <th>Staging Version</th>
<th>Maintainers</th>
<th>Status</th>
</tr>
</thead>
<tbody>
{% for pkg in list.packages %}
- <tr class="{% cycle 'odd' 'even' %}">
- <td>{{ pkg.pkg.arch.name }}</td>
- <td>{{ pkg.pkg.repo.name|capfirst }}</td>
- <td>{% pkg_details_link pkg.pkg %}</td>
+ <tr class="{% cycle 'odd' 'even' %}{% if user in pkg.maintainers %} mine{% endif %} {{ pkg.arch.name }} {{ pkg.repo.name|lower }}">
+ <td>{{ pkg.arch.name }}</td>
+ <td>{{ pkg.repo.name|capfirst }}</td>
+ <td>{% todopkg_details_link pkg %}</td>
{% if pkg.pkg.flag_date %}
<td><span class="flagged">{{ pkg.pkg.full_version }}</span></td>
- {% else %}
+ {% elif pkg.pkg %}
<td>{{ pkg.pkg.full_version }}</td>
+ {% else %}
+ <td></td>
{% endif %}
- <td>{{ pkg.pkg.maintainers|join:', ' }}</td>
+ {% with staging=pkg.staging %}
+ <td>{% if staging %}{% pkg_details_link staging staging.full_version %}{% endif %}</td>
+ {% endwith %}
+ <td>{{ pkg.maintainers|join:', ' }}</td>
<td>
- {% if perms.main.change_todolistpkg %}
- {% if pkg.complete %}
- <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/"
- class="status-link complete" title="Toggle completion status">Complete</a>
+ {% if perms.todolists.change_todolistpackage %}
+ <a href="/todo/{{ list.slug }}/flag/{{ pkg.id }}/"
+ class="status-link {{ pkg.status_css_class }}" title="Toggle completion status">{{ pkg.get_status_display }}</a>
{% else %}
- <a href="/todo/flag/{{ list.id }}/{{ pkg.id }}/"
- class="status-link incomplete" title="Toggle completion status">Incomplete</a>
- {% endif %}
- {% else %}
- {% if pkg.complete %}<span class="complete">Complete</span>{% else %}<span class="incomplete">Incomplete</span>{% endif %}
+ <span class="{{ pkg.status_css_class }}">{{ pkg.get_status_display }}</span>
{% endif %}
</td>
</tr>
@@ -70,17 +100,23 @@
</tbody>
</table>
</div>
-{% load cdn %}{% jquery %}
-<script type="text/javascript" src="{% static "jquery.tablesorter.min.js" %}"></script>
+{% load cdn %}{% jquery %}{% jquery_tablesorter %}
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
- $('a.status-link').click(todolist_flag);
$(".results").tablesorter({
widgets: ['zebra'],
sortList: [[2,0], [0,0]],
- headers: { 5: { sorter: 'todostatus' } }
+ headers: { 6: { sorter: 'todostatus' } }
});
});
+$(document).ready(function() {
+ $('a.status-link').click(todolist_flag);
+ var filter_func = function() { filter_pkgs_list('#todolist_filter', '#dev-todo-pkglist tbody'); };
+ $('#todolist_filter input').change(filter_func);
+ $('#criteria_reset').click(function() { filter_pkgs_reset(filter_func); });
+ // fire function on page load to ensure the current form selections take effect
+ filter_func();
+});
</script>
{% endblock %}