aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubenwardy <rw@rubenwardy.com>2018-06-03 19:24:57 +0100
committerrubenwardy <rw@rubenwardy.com>2018-06-03 19:27:56 +0100
commitaad4fd2a705009f6c66834aa2834298f1557d989 (patch)
treea798e32045d2145d15c9cbd2a19e6eab05a8dc70
parentd2bda0fded03e46d7c69a411ae3cb5b59597d100 (diff)
downloadcheatdb-aad4fd2a705009f6c66834aa2834298f1557d989.tar.xz
Add list of similar packages in details pagev1.5.0
-rw-r--r--app/templates/packages/view.html23
-rw-r--r--app/views/packages/__init__.py13
2 files changed, 35 insertions, 1 deletions
diff --git a/app/templates/packages/view.html b/app/templates/packages/view.html
index 6ed5bbe..56cfd62 100644
--- a/app/templates/packages/view.html
+++ b/app/templates/packages/view.html
@@ -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 %}
diff --git a/app/views/packages/__init__.py b/app/views/packages/__init__.py
index 03a007e..e062268 100644
--- a/app/views/packages/__init__.py
+++ b/app/views/packages/__init__.py
@@ -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/")