Add list of similar packages in details page

This commit is contained in:
rubenwardy 2018-06-03 19:24:57 +01:00
parent d2bda0fded
commit aad4fd2a70
No known key found for this signature in database
GPG Key ID: A1E29D52FF81513C
2 changed files with 35 additions and 1 deletions

View File

@ -258,4 +258,27 @@
{% endfor %}
</ul>
{% endif %}
{% if similar_topics %}
<h3>Similar Forum Topics</h3>
{% if not package.approved and package.type == package.type.MOD %}
<div class="box box_grey alert alert-warning">
Please make sure that this package has the right to
the name '{{ package.name }}'.
See the
<a href="/policy_and_guidance/">Inclusion Policy</a>
for more info.
</div>
{% endif %}
<ul>
{% for t in similar_topics %}
<li>
[{{ t.getType().value }}]
<a href="https://forum.minetest.net/viewtopic.php?t={{ t.topic_id }}">
{{ t.title }} by {{ t.author.display_name }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
{% endblock %}

View File

@ -96,11 +96,22 @@ def package_page(package):
.order_by(db.asc(Package.title)) \
.all()
show_similar_topics = current_user == package.author or \
package.checkPerm(current_user, Permission.APPROVE_NEW)
similar_topics = None if not show_similar_topics else \
KrockForumTopic.query \
.filter_by(name=package.name) \
.filter(KrockForumTopic.topic_id != package.forums) \
.filter(~ db.exists().where(Package.forums==KrockForumTopic.topic_id)) \
.order_by(db.asc(KrockForumTopic.name), db.asc(KrockForumTopic.title)) \
.all()
releases = getReleases(package)
requests = [r for r in package.requests if r.status == 0]
return render_template("packages/view.html", \
package=package, releases=releases, requests=requests, \
alternatives=alternatives)
alternatives=alternatives, similar_topics=similar_topics)
@app.route("/packages/<author>/<name>/download/")