Skip to content

Commit

Permalink
downloads: Inform user of duplicate version names
Browse files Browse the repository at this point in the history
This information is included for hash-based lookups as well as
branch+shortrev-based since it's relevant in either case.
  • Loading branch information
Amphitryon0 committed Feb 4, 2025
1 parent 1cb1285 commit 288ec19
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
12 changes: 12 additions & 0 deletions dolweb/downloads/templates/downloads-view-devrel.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,18 @@ <h1>{% blocktrans with br=ver.revbranch %}Information for {{ br }}{% endblocktra
data-ad-slot="5299890518"></ins>
</div>

{% if dupes }
{% for dupe in dupes %}{% with br=ver.revbranch hash=dupe.hash url=dupe.get_absolute_url %}
<p>{% blocktrans %}{{ br }} can also refer to <a href="{{ url }}">{{ hash }}</a>.{% endblocktrans %}</p>
{% endwith %}{% endfor %}

<p>{% blocktrans count num=dupes|length trimmed %}
Some or all of the download links below may be based on that version.
{% plural %}
Some or all of the download links below may be based on those versions.
{% endblocktrans %}</p>
{% endif %}

<div class="row">
<div class="col-md-5">
<dl>
Expand Down
8 changes: 6 additions & 2 deletions dolweb/downloads/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,20 @@ def buildlist(request):
@render_to('downloads-view-devrel.html')
def view_dev_release(request, hash):
release = get_object_or_404(DevVersion, hash=hash)
releases = DevVersion.objects.filter(branch=release.branch,
shortrev=release.shortrev)
dupes = releases.exclude(hash=hash).order_by('date')

return { 'ver': release }
return { 'ver': release, 'dupes': dupes }

@vary_on_headers('User-Agent')
@render_to('downloads-view-devrel.html')
def view_dev_release_by_name(request, branch, name):
releases = get_list_or_404(DevVersion, branch=branch, shortrev=name)
releases.sort(key=lambda ver: ver.date)
release, dupes = releases[0], releases[1:]

return { 'ver': releases[0] }
return { 'ver': release, 'dupes': dupes }

@vary_on_headers('User-Agent')
@render_to('downloads-view-release.html')
Expand Down

0 comments on commit 288ec19

Please sign in to comment.