mirror of
https://github.com/minetest/contentdb.git
synced 2024-11-10 17:43:46 +01:00
Add thread list to package view
This commit is contained in:
parent
8c3b1c8c95
commit
df8d05f09d
@ -57,11 +57,13 @@
|
|||||||
|
|
||||||
{% if package.author == current_user or package.checkPerm(current_user, "APPROVE_NEW") %}
|
{% if package.author == current_user or package.checkPerm(current_user, "APPROVE_NEW") %}
|
||||||
{% if review_thread %}
|
{% if review_thread %}
|
||||||
<h2>🔒 {{ review_thread.title }}</h2>
|
<h2>{% if review_thread.private %}🔒{% endif %} {{ review_thread.title }}</h2>
|
||||||
<p><i>
|
{% if review_thread.private %}
|
||||||
This thread is only visible to the package owner and users of
|
<p><i>
|
||||||
Editor rank or above.
|
This thread is only visible to the package owner and users of
|
||||||
</i></p>
|
Editor rank or above.
|
||||||
|
</i></p>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% from "macros/threads.html" import render_thread %}
|
{% from "macros/threads.html" import render_thread %}
|
||||||
{{ render_thread(review_thread, current_user) }}
|
{{ render_thread(review_thread, current_user) }}
|
||||||
@ -313,4 +315,11 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if threads %}
|
||||||
|
<h3>Threads</h3>
|
||||||
|
|
||||||
|
{% from "macros/threads.html" import render_threadlist %}
|
||||||
|
{{ render_threadlist(threads) }}
|
||||||
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -29,6 +29,7 @@ from flask_wtf import FlaskForm
|
|||||||
from wtforms import *
|
from wtforms import *
|
||||||
from wtforms.validators import *
|
from wtforms.validators import *
|
||||||
from wtforms.ext.sqlalchemy.fields import QuerySelectField, QuerySelectMultipleField
|
from wtforms.ext.sqlalchemy.fields import QuerySelectField, QuerySelectMultipleField
|
||||||
|
from sqlalchemy import or_
|
||||||
|
|
||||||
def build_packages_query():
|
def build_packages_query():
|
||||||
type_name = request.args.get("type")
|
type_name = request.args.get("type")
|
||||||
@ -112,7 +113,7 @@ def package_page(package):
|
|||||||
releases = getReleases(package)
|
releases = getReleases(package)
|
||||||
requests = [r for r in package.requests if r.status == 0]
|
requests = [r for r in package.requests if r.status == 0]
|
||||||
|
|
||||||
review_thread = Thread.query.filter_by(package_id=package.id, private=True).first()
|
review_thread = package.review_thread
|
||||||
if review_thread is not None and not review_thread.checkPerm(current_user, Permission.SEE_THREAD):
|
if review_thread is not None and not review_thread.checkPerm(current_user, Permission.SEE_THREAD):
|
||||||
review_thread = None
|
review_thread = None
|
||||||
|
|
||||||
@ -137,10 +138,19 @@ def package_page(package):
|
|||||||
|
|
||||||
topic_error = "<br />".join(errors)
|
topic_error = "<br />".join(errors)
|
||||||
|
|
||||||
|
|
||||||
|
threads = Thread.query.filter_by(package_id=package.id)
|
||||||
|
if not current_user.is_authenticated:
|
||||||
|
threads = threads.filter_by(private=False)
|
||||||
|
elif not current_user.rank.atLeast(UserRank.EDITOR) and not current_user == package.author:
|
||||||
|
threads = threads.filter(or_(Thread.private == False, Thread.author == current_user))
|
||||||
|
|
||||||
|
|
||||||
return render_template("packages/view.html", \
|
return render_template("packages/view.html", \
|
||||||
package=package, releases=releases, requests=requests, \
|
package=package, releases=releases, requests=requests, \
|
||||||
alternatives=alternatives, similar_topics=similar_topics, \
|
alternatives=alternatives, similar_topics=similar_topics, \
|
||||||
review_thread=review_thread, topic_error=topic_error, topic_error_lvl=topic_error_lvl)
|
review_thread=review_thread, topic_error=topic_error, topic_error_lvl=topic_error_lvl, \
|
||||||
|
threads=threads.all())
|
||||||
|
|
||||||
|
|
||||||
@app.route("/packages/<author>/<name>/download/")
|
@app.route("/packages/<author>/<name>/download/")
|
||||||
|
Loading…
Reference in New Issue
Block a user