summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-19 08:44:22 -0500
committerDan McGee <dan@archlinux.org>2011-09-19 08:44:22 -0500
commit797185faed0555efb88a1e6a18e447548a9935fd (patch)
treeab2169212e085667b79d12ba0b0ca93fd385b246
parentb893682f356ca2861d676a51c4ae1c937d4c7c44 (diff)
Add some dev dashboard info regarding signed package count
This adds a column similar to the flagged package count for the number of signed packages in a given architecture or repository. It is up to the user to do some simple math to figure out the number of unsigned packages. Also, add 'signed' as a hidden search field option similar to what we did for packager. Signed-off-by: Dan McGee <dan@archlinux.org>
-rw-r--r--main/models.py4
-rw-r--r--packages/views.py8
-rw-r--r--templates/devel/index.html5
3 files changed, 17 insertions, 0 deletions
diff --git a/main/models.py b/main/models.py
index b5cd8638..ec1f0d2c 100644
--- a/main/models.py
+++ b/main/models.py
@@ -98,6 +98,10 @@ class PackageManager(models.Manager):
"""Used by dev dashboard."""
return self.filter(flag_date__isnull=False)
+ def signed(self):
+ """Used by dev dashboard."""
+ return self.filter(pgp_signature__isnull=False)
+
def normal(self):
return self.select_related('arch', 'repo')
diff --git a/packages/views.py b/packages/views.py
index 79793355..61e4d290 100644
--- a/packages/views.py
+++ b/packages/views.py
@@ -199,6 +199,9 @@ class PackageSearchForm(forms.Form):
flagged = forms.ChoiceField(
choices=[('', 'All')] + make_choice(['Flagged', 'Not Flagged']),
required=False)
+ signed = forms.ChoiceField(
+ choices=[('', 'All')] + make_choice(['Signed', 'Unsigned']),
+ required=False)
limit = LimitTypedChoiceField(
choices=make_choice([50, 100, 250]) + [('all', 'All')],
coerce=coerce_limit_value,
@@ -254,6 +257,11 @@ def search(request, page=None):
elif form.cleaned_data['flagged'] == 'Not Flagged':
packages = packages.filter(flag_date__isnull=True)
+ if form.cleaned_data['signed'] == 'Signed':
+ packages = packages.filter(pgp_signature__isnull=False)
+ elif form.cleaned_data['signed'] == 'Unsigned':
+ packages = packages.filter(pgp_signature__isnull=True)
+
if form.cleaned_data['q']:
query = form.cleaned_data['q']
q = Q(pkgname__icontains=query) | Q(pkgdesc__icontains=query)
diff --git a/templates/devel/index.html b/templates/devel/index.html
index 0c818d36..b2da70cf 100644
--- a/templates/devel/index.html
+++ b/templates/devel/index.html
@@ -135,6 +135,7 @@
<th class="key">Arch</th>
<th># Packages</th>
<th># Flagged</th>
+ <th># Signed</th>
</tr>
</thead>
<tbody>
@@ -147,6 +148,8 @@
<td><a href="/packages/?arch={{ arch.name }}&amp;flagged=Flagged"
title="View all flagged packages for the {{ arch.name }} architecture">
<strong>{{ arch.packages.flagged.count }}</strong> packages</a></td>
+
+ <td><strong>{{ arch.packages.signed.count }}</strong> packages</td>
</tr>
{% endfor %}
</tbody>
@@ -165,6 +168,7 @@
<th class="key">Repository</th>
<th># Packages</th>
<th># Flagged</th>
+ <th># Signed</th>
</tr>
</thead>
<tbody>
@@ -177,6 +181,7 @@
<td><a href="/packages/?repo={{ repo.name }}&amp;flagged=Flagged"
title="View all flagged packages in the {{ repo.name }} repository">
<strong>{{ repo.packages.flagged.count }}</strong> packages</a></td>
+ <td><strong>{{ repo.packages.signed.count }}</strong> packages</td>
</tr>
{% endfor %}
</tbody>