From 71d79f133b8b656f93573569f65a9eab052f0d3f Mon Sep 17 00:00:00 2001 From: Thomas Bächler Date: Sat, 17 Oct 2009 23:47:09 +0200 Subject: Port archweb_pub commit 1f96c7a1182ef75279c18986b708e683f89dd690 to archweb_dev. This is the original commit message by Dan: "Make package SVN links always work This should clean up the links for all varieties of things- different arches (including any), different repos (community and community-testing), and split packages. All of the logic is in one place now and any further changes should be made to the method on the package object." --- main/models.py | 14 ++++++++++++++ packages/views.py | 3 +-- templates/packages/details.html | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/main/models.py b/main/models.py index f68e501..3ab2c36 100644 --- a/main/models.py +++ b/main/models.py @@ -256,6 +256,20 @@ class Package(models.Model): self.deps_cache = deps return deps + def get_svn_link(self): + linkbase = "http://repos.archlinux.org/viewvc.cgi/%s/repos/%s-%s/%s" + if self.pkgbase: + dirname = self.pkgbase + else: + dirname = self.pkgname + repo = self.repo.name.lower() + if repo.startswith('community'): + rootopt = '?root=community' + else: + rootopt = '?root=packages' + return linkbase % (dirname, repo, self.arch.name, rootopt) + + class Signoff(models.Model): pkg = models.ForeignKey(Package) pkgver = models.CharField(max_length=255) diff --git a/packages/views.py b/packages/views.py index e17a4d4..2390bd9 100644 --- a/packages/views.py +++ b/packages/views.py @@ -50,9 +50,8 @@ def details(request, name='', repo='', arch=''): if all([name, repo, arch]): pkg= get_object_or_404(Package, pkgname=name, repo__name__iexact=repo, arch__name=arch) - rootopt = '?root=community' if repo == 'community' else '' return render_to_response('packages/details.html', RequestContext( - request, {'pkg': pkg, 'rootopt': rootopt})) + request, {'pkg': pkg, })) else: return HttpResponseRedirect("/packages/?arch=%s&repo=%s&q=%s" % ( arch.lower(), repo.title(), name)) diff --git a/templates/packages/details.html b/templates/packages/details.html index 71218ea..30c8f6a 100644 --- a/templates/packages/details.html +++ b/templates/packages/details.html @@ -7,7 +7,7 @@

{{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}