roundabout,
created on Thursday, 25 April 2024, 14:48:00 (1714056480),
received on Wednesday, 31 July 2024, 06:54:46 (1722408886)
Author identity: vlad <vlad.muntoiu@gmail.com>
bc3817c83f6a70b73e993e7912b089111f68377d
app.py
@@ -204,6 +204,7 @@ def settings_prefs():
user = User.query.filter_by(username=flask.session.get("username")).first()
user.default_page_length = int(flask.request.form["page_length"])
user.max_post_nesting = int(flask.request.form["max_post_nesting"])
db.session.commit()
@@ -887,6 +888,11 @@ def repository_forum_thread(username, repository, post_id):
relationships = RepoAccess.query.filter_by(repo=repo_data)
user_relationship = RepoAccess.query.filter_by(repo=repo_data, user=user).first()
if user:
max_post_nesting = user.max_post_nesting
else:
max_post_nesting = 2
return flask.render_template(
"repo-forum-thread.html",
username=username,
@@ -897,7 +903,7 @@ def repository_forum_thread(username, repository, post_id):
Post=Post,
user_relationship=user_relationship,
post_id=post_id,
max_post_nesting=4,
max_post_nesting=max_post_nesting,
remote=f"http{'s' if config.suggest_https else ''}://{config.BASE_DOMAIN}/git/{username}/{repository}",
is_favourite=get_favourite(flask.session.get("username"), username, repository),
parent=Post.query.filter_by(repo=repo_data, number=post_id).first(),
models.py
@@ -94,6 +94,7 @@ with (app.app_context()):
location = db.Column(db.Unicode(64), nullable=True)
creation_date = db.Column(db.DateTime, default=datetime.utcnow)
default_page_length = db.Column(db.SmallInteger, nullable=False, default=32, server_default="32")
max_post_nesting = db.Column(db.SmallInteger, nullable=False, default=3, server_default="3")
repositories = db.relationship("Repo", back_populates="owner")
followers = db.relationship("UserFollow", back_populates="followed", foreign_keys="[UserFollow.followed_username]")
templates/repository/repo-forum-thread.html
@@ -13,6 +13,7 @@
<iconify-icon icon="mdi:arrow-left"></iconify-icon>
</a>
<h1>{{ parent.subject }}</h1>
{{ max_post_nesting }}
<div class="flexible-space"></div>
templates/user-settings.html
@@ -94,6 +94,10 @@
<label for="page_length">{% trans %}Default number of items to show in paginated lists{% endtrans %}</label>
<input id="page_length" name="page_length" type="number" value="{{ user.default_page_length }}" min="1" max="256">
</x-vbox>
<x-vbox class="nopad">
<label for="max_post_nesting">{% trans %}Maximum nesting level for forum replies{% endtrans %}</label>
<input id="max_post_nesting" name="max_post_nesting" type="number" value="{{ user.max_post_nesting }}" min="1" max="256">
</x-vbox>
<button type="submit">{% trans %}Update preferences{% endtrans %}</button>
</x-vbox>
</form>