mirror of
https://codeberg.org/rimu/pyfedi
synced 2025-01-23 19:36:56 -08:00
better ban message #78
This commit is contained in:
parent
7dd5c61bc7
commit
e6431584ab
4 changed files with 32 additions and 11 deletions
|
@ -28,7 +28,7 @@ from app.utils import get_setting, render_template, allowlist_html, markdown_to_
|
||||||
shorten_string, gibberish, community_membership, ap_datetime, \
|
shorten_string, gibberish, community_membership, ap_datetime, \
|
||||||
request_etag_matches, return_304, instance_banned, can_create_post, can_upvote, can_downvote, user_filters_posts, \
|
request_etag_matches, return_304, instance_banned, can_create_post, can_upvote, can_downvote, user_filters_posts, \
|
||||||
joined_communities, moderating_communities, blocked_domains, mimetype_from_url, blocked_instances, \
|
joined_communities, moderating_communities, blocked_domains, mimetype_from_url, blocked_instances, \
|
||||||
community_moderators, communities_banned_from
|
community_moderators, communities_banned_from, show_ban_message
|
||||||
from feedgen.feed import FeedGenerator
|
from feedgen.feed import FeedGenerator
|
||||||
from datetime import timezone, timedelta
|
from datetime import timezone, timedelta
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@ from datetime import timezone, timedelta
|
||||||
@bp.route('/add_local', methods=['GET', 'POST'])
|
@bp.route('/add_local', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def add_local():
|
def add_local():
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
flash('PieFed is still being tested so hosting communities on piefed.social is not advised except for testing purposes.', 'warning')
|
flash('PieFed is still being tested so hosting communities on piefed.social is not advised except for testing purposes.', 'warning')
|
||||||
form = AddCommunityForm()
|
form = AddCommunityForm()
|
||||||
if g.site.enable_nsfw is False:
|
if g.site.enable_nsfw is False:
|
||||||
|
@ -84,6 +86,8 @@ def add_local():
|
||||||
@bp.route('/add_remote', methods=['GET', 'POST'])
|
@bp.route('/add_remote', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def add_remote():
|
def add_remote():
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
form = SearchRemoteCommunity()
|
form = SearchRemoteCommunity()
|
||||||
new_community = None
|
new_community = None
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
|
@ -438,6 +442,8 @@ def join_then_add(actor):
|
||||||
@login_required
|
@login_required
|
||||||
@validation_required
|
@validation_required
|
||||||
def add_post(actor):
|
def add_post(actor):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = actor_to_community(actor)
|
community = actor_to_community(actor)
|
||||||
form = CreatePostForm()
|
form = CreatePostForm()
|
||||||
if g.site.enable_nsfl is False:
|
if g.site.enable_nsfl is False:
|
||||||
|
@ -580,7 +586,7 @@ def add_post(actor):
|
||||||
form.notify_author.data = True
|
form.notify_author.data = True
|
||||||
|
|
||||||
return render_template('community/add_post.html', title=_('Add post to community'), form=form, community=community,
|
return render_template('community/add_post.html', title=_('Add post to community'), form=form, community=community,
|
||||||
markdown_editor=current_user.markdown_editor, low_bandwidth=request.cookies.get('low_bandwidth', '0') == '1',
|
markdown_editor=current_user.markdown_editor, low_bandwidth=False,
|
||||||
moderating_communities=moderating_communities(current_user.get_id()),
|
moderating_communities=moderating_communities(current_user.get_id()),
|
||||||
joined_communities=joined_communities(current_user.id),
|
joined_communities=joined_communities(current_user.id),
|
||||||
inoculation=inoculation[randint(0, len(inoculation) - 1)]
|
inoculation=inoculation[randint(0, len(inoculation) - 1)]
|
||||||
|
@ -622,6 +628,8 @@ def community_report(community_id: int):
|
||||||
@login_required
|
@login_required
|
||||||
def community_edit(community_id: int):
|
def community_edit(community_id: int):
|
||||||
from app.admin.util import topics_for_form
|
from app.admin.util import topics_for_form
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = Community.query.get_or_404(community_id)
|
community = Community.query.get_or_404(community_id)
|
||||||
if community.is_owner() or current_user.is_admin():
|
if community.is_owner() or current_user.is_admin():
|
||||||
form = EditCommunityForm()
|
form = EditCommunityForm()
|
||||||
|
@ -681,6 +689,8 @@ def community_edit(community_id: int):
|
||||||
@bp.route('/community/<int:community_id>/delete', methods=['GET', 'POST'])
|
@bp.route('/community/<int:community_id>/delete', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def community_delete(community_id: int):
|
def community_delete(community_id: int):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = Community.query.get_or_404(community_id)
|
community = Community.query.get_or_404(community_id)
|
||||||
if community.is_owner() or current_user.is_admin():
|
if community.is_owner() or current_user.is_admin():
|
||||||
form = DeleteCommunityForm()
|
form = DeleteCommunityForm()
|
||||||
|
@ -704,6 +714,8 @@ def community_delete(community_id: int):
|
||||||
@bp.route('/community/<int:community_id>/moderators', methods=['GET', 'POST'])
|
@bp.route('/community/<int:community_id>/moderators', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def community_mod_list(community_id: int):
|
def community_mod_list(community_id: int):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = Community.query.get_or_404(community_id)
|
community = Community.query.get_or_404(community_id)
|
||||||
if community.is_owner() or current_user.is_admin():
|
if community.is_owner() or current_user.is_admin():
|
||||||
|
|
||||||
|
@ -720,6 +732,8 @@ def community_mod_list(community_id: int):
|
||||||
@bp.route('/community/<int:community_id>/moderators/add', methods=['GET', 'POST'])
|
@bp.route('/community/<int:community_id>/moderators/add', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def community_add_moderator(community_id: int):
|
def community_add_moderator(community_id: int):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = Community.query.get_or_404(community_id)
|
community = Community.query.get_or_404(community_id)
|
||||||
if community.is_owner() or current_user.is_admin():
|
if community.is_owner() or current_user.is_admin():
|
||||||
form = AddModeratorForm()
|
form = AddModeratorForm()
|
||||||
|
@ -774,6 +788,8 @@ def community_add_moderator(community_id: int):
|
||||||
@bp.route('/community/<int:community_id>/moderators/remove/<int:user_id>', methods=['GET', 'POST'])
|
@bp.route('/community/<int:community_id>/moderators/remove/<int:user_id>', methods=['GET', 'POST'])
|
||||||
@login_required
|
@login_required
|
||||||
def community_remove_moderator(community_id: int, user_id: int):
|
def community_remove_moderator(community_id: int, user_id: int):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = Community.query.get_or_404(community_id)
|
community = Community.query.get_or_404(community_id)
|
||||||
if community.is_owner() or current_user.is_admin():
|
if community.is_owner() or current_user.is_admin():
|
||||||
|
|
||||||
|
@ -929,6 +945,8 @@ def community_notification(community_id: int):
|
||||||
@bp.route('/<actor>/moderate', methods=['GET'])
|
@bp.route('/<actor>/moderate', methods=['GET'])
|
||||||
@login_required
|
@login_required
|
||||||
def community_moderate(actor):
|
def community_moderate(actor):
|
||||||
|
if current_user.banned:
|
||||||
|
return show_ban_message()
|
||||||
community = actor_to_community(actor)
|
community = actor_to_community(actor)
|
||||||
|
|
||||||
if community is not None:
|
if community is not None:
|
||||||
|
|
|
@ -405,7 +405,7 @@ class Community(db.Model):
|
||||||
(or_(
|
(or_(
|
||||||
CommunityMember.is_owner,
|
CommunityMember.is_owner,
|
||||||
CommunityMember.is_moderator
|
CommunityMember.is_moderator
|
||||||
))
|
)) & CommunityMember.is_banned == False
|
||||||
).all()
|
).all()
|
||||||
|
|
||||||
def is_moderator(self, user=None):
|
def is_moderator(self, user=None):
|
||||||
|
|
|
@ -24,7 +24,7 @@ from app.utils import get_setting, render_template, allowlist_html, markdown_to_
|
||||||
shorten_string, markdown_to_text, gibberish, ap_datetime, return_304, \
|
shorten_string, markdown_to_text, gibberish, ap_datetime, return_304, \
|
||||||
request_etag_matches, ip_address, user_ip_banned, instance_banned, can_downvote, can_upvote, post_ranking, \
|
request_etag_matches, ip_address, user_ip_banned, instance_banned, can_downvote, can_upvote, post_ranking, \
|
||||||
reply_already_exists, reply_is_just_link_to_gif_reaction, confidence, moderating_communities, joined_communities, \
|
reply_already_exists, reply_is_just_link_to_gif_reaction, confidence, moderating_communities, joined_communities, \
|
||||||
blocked_instances, blocked_domains, community_moderators, blocked_phrases
|
blocked_instances, blocked_domains, community_moderators, blocked_phrases, show_ban_message
|
||||||
|
|
||||||
|
|
||||||
def show_post(post_id: int):
|
def show_post(post_id: int):
|
||||||
|
@ -456,11 +456,7 @@ def continue_discussion(post_id, comment_id):
|
||||||
@login_required
|
@login_required
|
||||||
def add_reply(post_id: int, comment_id: int):
|
def add_reply(post_id: int, comment_id: int):
|
||||||
if current_user.banned:
|
if current_user.banned:
|
||||||
flash('You have been banned.', 'error')
|
return show_ban_message()
|
||||||
logout_user()
|
|
||||||
resp = make_response(redirect(url_for('main.index')))
|
|
||||||
resp.set_cookie('sesion', '17489047567495', expires=datetime(year=2099, month=12, day=30))
|
|
||||||
return resp
|
|
||||||
post = Post.query.get_or_404(post_id)
|
post = Post.query.get_or_404(post_id)
|
||||||
|
|
||||||
if not post.comments_enabled:
|
if not post.comments_enabled:
|
||||||
|
|
11
app/utils.py
11
app/utils.py
|
@ -18,8 +18,8 @@ import warnings
|
||||||
warnings.filterwarnings("ignore", category=MarkupResemblesLocatorWarning)
|
warnings.filterwarnings("ignore", category=MarkupResemblesLocatorWarning)
|
||||||
import requests
|
import requests
|
||||||
import os
|
import os
|
||||||
from flask import current_app, json, redirect, url_for, request, make_response, Response, g
|
from flask import current_app, json, redirect, url_for, request, make_response, Response, g, flash
|
||||||
from flask_login import current_user
|
from flask_login import current_user, logout_user
|
||||||
from sqlalchemy import text, or_
|
from sqlalchemy import text, or_
|
||||||
from wtforms.fields import SelectField, SelectMultipleField
|
from wtforms.fields import SelectField, SelectMultipleField
|
||||||
from wtforms.widgets import Select, html_params, ListWidget, CheckboxInput
|
from wtforms.widgets import Select, html_params, ListWidget, CheckboxInput
|
||||||
|
@ -829,3 +829,10 @@ def remove_tracking_from_link(url):
|
||||||
else:
|
else:
|
||||||
return url
|
return url
|
||||||
|
|
||||||
|
|
||||||
|
def show_ban_message():
|
||||||
|
flash('You have been banned.', 'error')
|
||||||
|
logout_user()
|
||||||
|
resp = make_response(redirect(url_for('main.index')))
|
||||||
|
resp.set_cookie('sesion', '17489047567495', expires=datetime(year=2099, month=12, day=30))
|
||||||
|
return resp
|
||||||
|
|
Loading…
Reference in a new issue