Skip to content

Commit 9f38136

Browse files
committedJan 29, 2025·
feat: adding filter by SHA for bug fixes table
1 parent ee0d682 commit 9f38136

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed
 

‎ponder/templates/ponder/bugfixes_table.html

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{% extends "ponder/base.html" %}
22
{% load render_table from django_tables2 %}
3+
{% load bootstrap3 %}
34
<!doctype html>
45
<html>
56
{% block body_block %}
@@ -14,12 +15,26 @@
1415
left: 0;
1516
top: 0;
1617
z-index: 10;
17-
}
18+
}
1819
</style>
1920
</head>
2021

2122
<body>
2223
<div class="container">
24+
<nav class="navbar navbar-expand-lg bg-light" style="background-color: #e3f2fd;">
25+
<div class="container-fluid">
26+
<div class="navbar-header">
27+
<a class="navbar-brand" href="{% url 'ponder:commits_table' %}"
28+
style="font-size: 25px; font-family: Helvetica; color: #337ab7; width: 1000px;">Bug Fixes</a>
29+
</div>
30+
{% if filter %}
31+
<form action="" method="get" class="form form-inline">
32+
{% bootstrap_form filter.form layout='inline' %}
33+
{% bootstrap_button 'filter' %}
34+
</form>
35+
{% endif %}
36+
</div>
37+
</nav>
2338
{% render_table table %}
2439
</div>
2540
</body>

‎ponder/views.py

+10-3
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,23 @@
44
from django.contrib.auth.decorators import login_required, permission_required
55
from django.contrib.auth.mixins import LoginRequiredMixin, PermissionRequiredMixin
66
from django.contrib.auth.models import Group
7+
from django_filters import FilterSet
8+
from django_filters.views import FilterView
79
from django.http import HttpResponse, HttpResponseRedirect
810
from django.shortcuts import render
911
from django.urls import reverse
1012
from django.utils.html import format_html
11-
from django_tables2 import SingleTableView
13+
from django_tables2 import SingleTableView, SingleTableMixin
1214

1315
from ponder.forms import CategorizationForm, CategorizerForm
1416
from .models import Categorization, User, BugFix, Categorizer, CommitDetail, Commit, ProblemCategory, ProblemCause, \
1517
ProblemFix, ProblemSymptom
1618
from .tables import Categorizations_FilterTable, BugFixes_FilterTable, BugFixesTable, CommitDetailsTable, CommitsTable
1719

20+
class SHAFilter(FilterSet):
21+
class Meta:
22+
model = BugFix
23+
fields = {"sha" }
1824

1925
def index(request):
2026
user = request.user.username
@@ -108,7 +114,7 @@ def categorizations_by_bugFixID(request):
108114
pb_fix = '-'
109115
except:
110116
pb_fix = '—'
111-
117+
112118
context = {'table': table, 'id_value': id_value, 'sha': sha, 'is_func_fix': is_func_fix, 'project': project, \
113119
'category_comment': activateLinks(obj.category_comment), 'cause_comment': activateLinks(obj.cause_comment), 'symptom_comment': activateLinks(obj.symptom_comment), 'fix_comment': activateLinks(obj.fix_comment), \
114120
'pb_category': pb_category, 'pb_cause': pb_cause, 'pb_symptom': pb_symptom, 'pb_fix': pb_fix, 'should_discuss': should_discuss}
@@ -406,8 +412,9 @@ def get_context_data(self, **kwargs):
406412
context['sha'] = Commit.objects.values('sha').filter(id=self.kwargs['pk'])[0]['sha']
407413
return context
408414

409-
class BugFixesTableView(LoginRequiredMixin, PermissionRequiredMixin, SingleTableView):
415+
class BugFixesTableView(LoginRequiredMixin, PermissionRequiredMixin, SingleTableMixin, FilterView):
410416
permission_required = 'ponder.view_bugfix'
411417
model = BugFix
412418
table_class = BugFixesTable
419+
filterset_class = SHAFilter
413420
template_name = 'ponder/bugfixes_table.html'

0 commit comments

Comments
 (0)
Please sign in to comment.