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."
This commit is contained in:
parent
bcda0ab66b
commit
71d79f133b
@ -256,6 +256,20 @@ def get_depends(self):
|
||||
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)
|
||||
|
@ -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))
|
||||
|
@ -7,7 +7,7 @@
|
||||
<h2 class="title">{{ pkg.pkgname }} {{ pkg.pkgver }}-{{ pkg.pkgrel }}</h2>
|
||||
<div style="float:right" class="listing">
|
||||
<ul class="small">
|
||||
<li><a href="http://repos.archlinux.org/viewvc.cgi/{{ pkg.pkgname }}/repos/{{ pkg.repo.name|lower }}-{{ pkg.arch.name|lower }}/{{ rootopt }}">View SVN Entries</a></li>
|
||||
<li><a href="{{ pkg.get_svn_link }}">View SVN Entries</a></li>
|
||||
<!-- <li><a href="/packages/files/{{ pkg.id }}/">View File List</a></li> -->
|
||||
{% if pkg.needupdate %}
|
||||
<li>
|
||||
|
Loading…
Reference in New Issue
Block a user