user.html: Display abuse properties and add ability to change it

Every user having abuse enabled will receive e-mails if routers
are reported.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
Adrian Schmutzler 2017-12-12 13:54:48 +01:00
parent 85a6c49574
commit cea5c191a6
3 changed files with 23 additions and 0 deletions

View File

@ -133,3 +133,12 @@ def set_user_admin(mysql, nickname, admin):
LIMIT 1
""",(admin,nickname,))
mysql.commit()
def set_user_abuse(mysql, nickname, abuse):
mysql.execute("""
UPDATE users
SET abuse = %s
WHERE nickname = %s
LIMIT 1
""",(abuse,nickname,))
mysql.commit()

View File

@ -263,6 +263,12 @@ def user_info(nickname):
set_user_admin(mysql, nickname, request.form.get("admin") == "true")
# force db data reload
mysql.findone("SELECT * FROM users WHERE nickname = %s LIMIT 1",(nickname,))
elif request.form.get("action") == "changeabuse":
if session.get('admin'):
set_user_abuse(mysql, nickname, request.form.get("abuse") == "true")
# force db data reload
user = mysql.findone("SELECT * FROM users WHERE nickname = %s LIMIT 1",(nickname,))
user["created"] = mysql.utcaware(user["created"])
elif request.form.get("action") == "deleteaccount":
if session.get('admin'):
mysql.execute("DELETE FROM users WHERE nickname = %s LIMIT 1",(nickname,))

View File

@ -36,6 +36,7 @@
{%- if session.admin %}
<li><a href="#" onclick="$('#delaccform').submit()">Delete Account</a></li>
<li><a href="#" onclick="$('#adminform').submit()">Toggle admin</a></li>
<li><a href="#" onclick="$('#abuseform').submit()">Toggle abuse</a></li>
{%- endif %}
</ul>
</div>
@ -75,6 +76,9 @@
<tr><th>Admin</th><td>
<span class="glyphicon glyphicon-{%- if user.admin -%}ok{%- else -%}remove{%- endif -%}"></span>
</td></tr>
<tr><th>Receive abuse reports</th><td>
<span class="glyphicon glyphicon-{%- if user.abuse -%}ok{%- else -%}remove{%- endif -%}"></span>
</td></tr>
</table>
</div>
</div>
@ -206,6 +210,10 @@
<input type="hidden" name="action" value="changeadmin" />
<input type="hidden" name="admin" value="{{ "false" if user.admin else "true" }}" />
</form>
<form method="post" id="abuseform">
<input type="hidden" name="action" value="changeabuse" />
<input type="hidden" name="abuse" value="{{ "false" if user.abuse else "true" }}" />
</form>
<form method="post" id="delaccform">
<input type="hidden" name="action" value="deleteaccount" />
</form>