aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Losh <steve@stevelosh.com>2009-01-30 23:53:09 -0500
committerSteve Losh <steve@stevelosh.com>2009-01-30 23:53:09 -0500
commit120720baf3ce09aacaddb82c0937af596aea62fe (patch)
treeb65903b7b98883114b72efda855aebec6f51d19c
parent012817b8ed9c47354fe3b1e7657b82bcda4e77a4 (diff)
downloadbugseverywhere-120720baf3ce09aacaddb82c0937af596aea62fe.tar.gz
Implemented the status filter.
-rw-r--r--.be/bugs/984472f6-98f5-48fc-b521-70a1e5f60614/values7
-rw-r--r--.be/bugs/decc6e78-a3db-4cd3-ad23-2bf8ed77cb0d/values9
-rwxr-xr-xcfbe.py18
-rw-r--r--static/style/cfbe.css2
-rw-r--r--templates/base.html21
-rw-r--r--templates/list.html4
6 files changed, 54 insertions, 7 deletions
diff --git a/.be/bugs/984472f6-98f5-48fc-b521-70a1e5f60614/values b/.be/bugs/984472f6-98f5-48fc-b521-70a1e5f60614/values
index 3abc050..21d3cef 100644
--- a/.be/bugs/984472f6-98f5-48fc-b521-70a1e5f60614/values
+++ b/.be/bugs/984472f6-98f5-48fc-b521-70a1e5f60614/values
@@ -36,6 +36,13 @@ summary=Implement the status filters.
+target=alpha
+
+
+
+
+
+
time=Sat, 31 Jan 2009 00:22:40 +0000
diff --git a/.be/bugs/decc6e78-a3db-4cd3-ad23-2bf8ed77cb0d/values b/.be/bugs/decc6e78-a3db-4cd3-ad23-2bf8ed77cb0d/values
index 7b5aaad..96f52d3 100644
--- a/.be/bugs/decc6e78-a3db-4cd3-ad23-2bf8ed77cb0d/values
+++ b/.be/bugs/decc6e78-a3db-4cd3-ad23-2bf8ed77cb0d/values
@@ -22,7 +22,7 @@ severity=minor
-status=open
+status=closed
@@ -36,6 +36,13 @@ summary=Implement the target filters.
+target=alpha
+
+
+
+
+
+
time=Sat, 31 Jan 2009 02:58:44 +0000
diff --git a/cfbe.py b/cfbe.py
index 7e2db0e..4509bf1 100755
--- a/cfbe.py
+++ b/cfbe.py
@@ -16,7 +16,7 @@ class WebInterface:
"""The web interface to CFBE."""
@cherrypy.expose
- def index(self, status='open', assignee=''):
+ def index(self, status='open', assignee='', target=''):
bd.load_all_bugs()
if status == 'open':
@@ -25,18 +25,28 @@ class WebInterface:
elif status == 'closed':
status = ['closed', 'disabled', 'fixed', 'wontfix']
label = 'All Closed Bugs'
+
if assignee != '':
if assignee == 'None':
label += ' Currently Unassigned'
else:
label += ' Assigned to %s' % (assignee,)
+ if target != '':
+ if target == 'None':
+ label += ' Currently Unschdeuled'
+ else:
+ label += ' Scheduled for %s' % (target,)
+
template = env.get_template('list.html')
possible_assignees = list(set([bug.assigned for bug in bd if bug.assigned != None]))
possible_assignees.sort(key=unicode.lower)
+ possible_targets = list(set([bug.target for bug in bd if bug.target != None]))
+ possible_targets.sort(key=unicode.lower)
+
bugs = [bug for bug in bd if bug.status in status]
if assignee != '':
@@ -44,8 +54,14 @@ class WebInterface:
assignee = None
bugs = [bug for bug in bugs if bug.assigned == assignee]
+ if target != '':
+ if target == 'None':
+ target = None
+ bugs = [bug for bug in bugs if bug.target == target]
+
return template.render(bugs=bugs, bd=bd, label=label,
assignees=possible_assignees,
+ targets=possible_targets,
repository_name=repository_name)
diff --git a/static/style/cfbe.css b/static/style/cfbe.css
index 3cd4241..ee699b4 100644
--- a/static/style/cfbe.css
+++ b/static/style/cfbe.css
@@ -30,4 +30,4 @@ table tr td, table tr th { padding: 0px 5px; line-height: 2.916em; }
table { margin-bottom: 1.417em; }
tr.stripe { background-color: #f5e5f0; }
-div#assignees { display: none; }
+div#assignees, div#targets { display: none; }
diff --git a/templates/base.html b/templates/base.html
index 8f8fb3d..66ecd2f 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -19,9 +19,16 @@
$('#external-pane').hide();
$('#external-pane-content').corners('bottom 8px');
- $('#filter-assignee').click(function() {
+ $('#filter-assignee').click(function(e) {
$('#external-pane-content').html($('#assignees').html());
$('#external-pane').fadeIn('fast');
+ e.preventDefault();
+ });
+
+ $('#filter-target').click(function(e) {
+ $('#external-pane-content').html($('#targets').html());
+ $('#external-pane').fadeIn('fast');
+ e.preventDefault();
});
$('table tr:odd').addClass('stripe');
@@ -43,8 +50,8 @@
Just show me:
<a href="/">Open</a>
<a href="/?status=closed">Closed</a>
- <a href="#" id="filter-assignee">Assigned to...</a>
- <a href="#">Scheduled for...</a>
+ <a href="" id="filter-assignee">Assigned to...</a>
+ <a href="" id="filter-target">Scheduled for...</a>
</span>
<span id="create">
<a href="fixme">&#43; Create a new bug</a>
@@ -76,5 +83,13 @@
{% endfor %}
</p>
</div>
+ <div id="targets">
+ <p>
+ <a href="/?target=None">Unscheduled</a><br /><br />
+ {% for target in targets %}
+ <a href="/?target={{ target }}">{{ target }}</a><br />
+ {% endfor %}
+ </p>
+ </div>
</body>
</html>
diff --git a/templates/list.html b/templates/list.html
index 34e28d3..3dd4a70 100644
--- a/templates/list.html
+++ b/templates/list.html
@@ -10,13 +10,15 @@
<th>ID</th>
<th>Summary</th>
<th>Status</th>
+ <th>Target</th>
<th>Assigned To</th>
</tr>
{% for bug in bugs %}
<tr>
<td>{{ bd.bug_shortname(bug) }}</td>
- <td>{{ bug.summary|e|truncate(60) }}</td>
+ <td>{{ bug.summary|e|truncate(65) }}</td>
<td>{{ bug.status }}</td>
+ <td>{{ bug.target }}</td>
<td>{{ bug.assigned|striptags }}</td>
</tr>
{% endfor %}