summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-11-15 00:34:16 -0500
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-11-15 00:34:16 -0500
commita9117384bf194929713198504a099d7e687b60a7 (patch)
tree59366b53c21ce666f2bcf1f29b779c007bb36027
parent5a44fadffe77e0c2bda0e57916ab573e547f9bf8 (diff)
parent1f18484cae88e5553caa5fd593ef31ad458adb25 (diff)
Merge commit '1f18484' (update)
-rw-r--r--devel/models.py4
-rw-r--r--packages/views/__init__.py40
2 files changed, 25 insertions, 19 deletions
diff --git a/devel/models.py b/devel/models.py
index 03a5b15e..a9a2efc5 100644
--- a/devel/models.py
+++ b/devel/models.py
@@ -24,9 +24,9 @@ class MasterKey(models.Model):
class PGPSignature(models.Model):
- signer = PGPKeyField(max_length=40, verbose_name="PGP key fingerprint",
+ signer = PGPKeyField(max_length=40, verbose_name="Signer key fingerprint",
help_text="consists of 40 hex digits; use `gpg --fingerprint`")
- signee = PGPKeyField(max_length=40, verbose_name="PGP key fingerprint",
+ signee = PGPKeyField(max_length=40, verbose_name="Signee key fingerprint",
help_text="consists of 40 hex digits; use `gpg --fingerprint`")
created = models.DateField()
expires = models.DateField(null=True, blank=True)
diff --git a/packages/views/__init__.py b/packages/views/__init__.py
index e66da179..9ca21407 100644
--- a/packages/views/__init__.py
+++ b/packages/views/__init__.py
@@ -103,6 +103,28 @@ def update(request):
messages.error(request, "Are you trying to adopt or disown?")
return redirect('/packages/')
+def split_package_details(request, name='', repo='', arch=''):
+ arch = get_object_or_404(Arch, name=arch)
+ arches = [ arch ]
+ arches.extend(Arch.objects.filter(agnostic=True))
+ repo = get_object_or_404(Repo, name__iexact=repo)
+ pkgs = Package.objects.normal().filter(pkgbase=name,
+ repo__testing=repo.testing, repo__staging=repo.staging,
+ arch__in=arches).order_by('pkgname')
+ if len(pkgs) == 0:
+ raise Http404
+ # we have packages, but ensure at least one is in the given repo
+ if not any(True for pkg in pkgs if pkg.repo == repo):
+ raise Http404
+ context = {
+ 'list_title': 'Split Package Details',
+ 'name': name,
+ 'arch': arch,
+ 'packages': pkgs,
+ }
+ return direct_to_template(request, 'packages/packages_list.html',
+ context)
+
def details(request, name='', repo='', arch=''):
if all([name, repo, arch]):
try:
@@ -112,23 +134,7 @@ def details(request, name='', repo='', arch=''):
return direct_to_template(request, 'packages/details.html',
{'pkg': pkg, })
except Package.DoesNotExist:
- arch = get_object_or_404(Arch, name=arch)
- arches = [ arch ]
- arches.extend(Arch.objects.filter(agnostic=True))
- repo = get_object_or_404(Repo, name__iexact=repo)
- pkgs = Package.objects.normal().filter(pkgbase=name,
- repo__testing=repo.testing, repo__staging=repo.staging,
- arch__in=arches).order_by('pkgname')
- if len(pkgs) == 0:
- raise Http404
- context = {
- 'list_title': 'Split Package Details',
- 'name': name,
- 'arch': arch,
- 'packages': pkgs,
- }
- return direct_to_template(request, 'packages/packages_list.html',
- context)
+ return split_package_details(request, name, repo, arch)
else:
pkg_data = [
('arch', arch.lower()),