diff options
-rw-r--r-- | main/models.py | 4 | ||||
-rw-r--r-- | packages/views.py | 8 | ||||
-rw-r--r-- | templates/devel/index.html | 5 |
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 }}&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 }}&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> |