summaryrefslogtreecommitdiff
path: root/templates/todolists/view.html
blob: b26cd91c19a942d5fb820474c975c90da84a0976 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
{% extends "base.html" %}
{% load static from staticfiles %}
{% load package_extras %}
{% load todolists %}

{% block title %}Arch Linux - Todo: {{ list.name }}{% endblock %}

{% block content %}
<div id="dev-todo-details" class="box">

    <h2>Todo List: {{ list.name }}</h2>

    <ul class="admin-actions">
        {% 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.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.created|date }} - {{ list.creator.get_full_name }}</p>

    <div>{{list.description|urlize|linebreaks}}</div>

    <p>Link to lists of pkgbase values:</p>
    <ul>{% for svn_root in svn_roots %}
        <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>
                <th>Arch</th>
                <th>Repository</th>
                <th>Name</th>
                <th>Current Version</th>
                <th>Staging Version</th>
                <th>Maintainers</th>
                <th>Status</th>
                <th>Last Touched By</th>
            </tr>
        </thead>
        <tbody>
            {% for pkg in list.packages %}
            <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>
                {% elif pkg.pkg %}
                <td>{{ pkg.pkg.full_version }}</td>
                {% else %}
                <td></td>
                {% endif %}
                {% 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.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 %}
                    <span class="{{ pkg.status_css_class }}">{{ pkg.get_status_display }}</span>
                    {% endif %}
                </td>
                <td>{{ pkg.user|default:"" }}</td>
            </tr>
            {% endfor %}
        </tbody>
    </table>
</div>
{% endblock %}

{% block script_block %}
{% load cdn %}{% jquery %}{% jquery_tablesorter %}
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
    $(".results").tablesorter({
        widgets: ['zebra'],
        sortList: [[2,0], [0,0]],
        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 %}