make API message better

also make unchecking the box hide the permalink
master
justcool393 2022-11-06 20:11:59 -06:00
parent 57df202cfa
commit 7de3bb064c
2 changed files with 22 additions and 6 deletions

View File

@ -51,14 +51,14 @@ def settings_personal_post(v):
return True return True
return False return False
def update_flag_with_permanence(column_name:str, request_name:str, friendly_name:str, badge_id:Optional[int]): def update_potentially_permanent_flag(column_name:str, request_name:str, friendly_name:str, badge_id:Optional[int]):
if not request.values.get(request_name): return False if not request.values.get(request_name): return False
current_value = getattr(v, column_name) current_value = getattr(v, column_name)
if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and current_value > 1: if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and current_value > 1:
abort(403, f"Cannot change the {friendly_name} setting after you've already set it permanently!") abort(403, f"Cannot change the {friendly_name} setting after you've already set it permanently!")
request_flag = int(request.values.get(request_name, '') == 'true') request_flag = int(request.values.get(request_name, '') == 'true')
if current_value and request_flag and request.values.get("permanent", '') == 'true' and request.values.get("username") == v.username: if current_value and request_flag and request.values.get("permanent", '') == 'true' and request.values.get("username") == v.username:
if v.client: abort(403, "Cannot set filters permanently from the API") if v.client: abort(403, f"Cannot set {friendly_name} permanently from the API")
request_flag = int(time.time()) request_flag = int(time.time())
setattr(v, column_name, request_flag) setattr(v, column_name, request_flag)
if badge_id: badge_grant(v, badge_id) if badge_id: badge_grant(v, badge_id)
@ -80,14 +80,14 @@ def settings_personal_post(v):
updated = True updated = True
session['poor'] = v.poor session['poor'] = v.poor
slur_filter_updated = updated or update_flag_with_permanence("slurreplacer", "slurreplacer", "slur replacer", 192) slur_filter_updated = updated or update_potentially_permanent_flag("slurreplacer", "slurreplacer", "slur replacer", 192)
if isinstance(slur_filter_updated, bool): if isinstance(slur_filter_updated, bool):
updated = slur_filter_updated updated = slur_filter_updated
else: else:
g.db.add(v) g.db.add(v)
return slur_filter_updated return slur_filter_updated
profanity_filter_updated = updated or update_flag_with_permanence("profanityreplacer", "profanityreplacer", "profanity replacer", 190) profanity_filter_updated = updated or update_potentially_permanent_flag("profanityreplacer", "profanityreplacer", "profanity replacer", 190)
if isinstance(profanity_filter_updated, bool): if isinstance(profanity_filter_updated, bool):
updated = profanity_filter_updated updated = profanity_filter_updated
else: else:

View File

@ -220,14 +220,14 @@
{% set ns = namespace(slurtext='Enable if you would like to automatically replace slurs.', profanitytext='Enable if you would like to automatically replace slurs.') %} {% set ns = namespace(slurtext='Enable if you would like to automatically replace slurs.', profanitytext='Enable if you would like to automatically replace slurs.') %}
{% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.slurreplacer %} {% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.slurreplacer %}
{% if v.slurreplacer == 1 %} {% if v.slurreplacer == 1 %}
{% set ns.slurtext = 'Enable if you would like to automatically replace slurs. <a href="#" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-slurreplacer">Make filter permanent for a badge!</a>' %} {% set ns.slurtext = 'Enable if you would like to automatically replace slurs. <a id="slurreplacer-perma-link" href="#" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-slurreplacer">Make filter permanent for a badge!</a>' %}
{% else %} {% else %}
{% set ns.slurttext = "You've enabled the slur replacer permanently! ✊🏿" %} {% set ns.slurttext = "You've enabled the slur replacer permanently! ✊🏿" %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.profanityreplacer %} {% if FEATURES['USERS_PERMANENT_WORD_FILTERS'] and v.profanityreplacer %}
{% if v.profanityreplacer == 1 %} {% if v.profanityreplacer == 1 %}
{% set ns.profanitytext = 'Enable if you would like to automatically replace profanities. <a href="#" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-profanityreplacer">Make filter permanent for a badge!</a>' %} {% set ns.profanitytext = 'Enable if you would like to automatically replace profanities. <a id="profanityreplacer-perma-link" href="#" class="text-primary" data-bs-toggle="modal" data-bs-target="#modal-profanityreplacer">Make filter permanent for a badge!</a>' %}
{% else %} {% else %}
{% set ns.profanitytext = "You've enabled the profanity replacer permanently! 😇" %} {% set ns.profanitytext = "You've enabled the profanity replacer permanently! 😇" %}
{% endif %} {% endif %}
@ -306,4 +306,20 @@
{% if v.profanityreplacer == 1 -%} {% if v.profanityreplacer == 1 -%}
{{permanent_filter_modal('profanityreplacer', '/settings/personal', 'profanityreplacer', 'Profanity Replacer', 'Soapy-Mouthed Angel')}} {{permanent_filter_modal('profanityreplacer', '/settings/personal', 'profanityreplacer', 'Profanity Replacer', 'Soapy-Mouthed Angel')}}
{%- endif %} {%- endif %}
{% if FEATURES['PERMANENT_WORD_FILTERS'] -%}
<script>
document.addEventListener("DOMContentLoaded", function (event) {
const sr_toggle = document.getElementById("slurreplacer");
const sr_link = document.getElementById('slurreplacer-perma-link');
const pr_toggle = document.getElementById("profanityreplacer");
const pr_link = document.getElementById('profanityreplacer-perma-link');
sr_toggle.addEventListener('change', function (event) {
sr_link.hidden = !sr_toggle.checked;
});
pr_toggle.addEventListener('change', function (event) {
pr_link.hidden = !pr_toggle.checked;
});
});
</script>
{% endif %}
{% endblock %} {% endblock %}