Browse Source

Fix moar mistakes

Alec Nikolas Reiter 7 years ago
parent
commit
e512538007
1 changed files with 18 additions and 6 deletions
  1. 18 6
      flaskbb/management/views.py

+ 18 - 6
flaskbb/management/views.py

@@ -131,7 +131,7 @@ class ManageUsers(MethodView):
             page, flaskbb_config['USERS_PER_PAGE'], False
         )
 
-        return render_template('management/users.html', users=users, form=form)
+        return render_template('management/users.html', users=users, search_form=form)
 
     def post(self):
         page = request.args.get('page', 1, type=int)
@@ -140,13 +140,13 @@ class ManageUsers(MethodView):
         if form.validate():
             users = form.get_results().\
                 paginate(page, flaskbb_config['USERS_PER_PAGE'], False)
-            return render_template('management/users.html', users=users, form=form)
+            return render_template('management/users.html', users=users, search_form=form)
 
         users = User.query.order_by(User.id.asc()).paginate(
             page, flaskbb_config['USERS_PER_PAGE'], False
         )
 
-        return render_template('management/users.html', users=users, form=form)
+        return render_template('management/users.html', users=users, search_form=form)
 
 
 class EditUser(MethodView):
@@ -356,6 +356,18 @@ class BanUser(MethodView):
                 status=200
             )
 
+        user = User.query.filter_by(id=user_id).first_or_404()
+        # Do not allow moderators to ban admins
+        if Permission(IsAdmin, identity=user) and Permission(Not(IsAdmin), identity=current_user):
+            flash(_("A moderator cannot ban an admin user."), "danger")
+            return redirect(url_for("management.overview"))
+
+        if not current_user.id == user.id and user.ban():
+            flash(_("User is now banned."), "success")
+        else:
+            flash(_("Could not ban user."), "danger")
+        return redirect(url_for("management.banned_users"))
+
 
 class UnbanUser(MethodView):
     decorators = [allows.requires(IsAtleastModerator)]
@@ -954,11 +966,11 @@ register_view(
     management, routes=['/forums/<int:forum_id>/edit'], view_func=EditForum.as_view('edit_forum')
 )
 register_view(management, routes=['forums'], view_func=Forums.as_view('forums'))
-register_view(management, routes=['/groups/add'], view_func=AddGroup.as_view('add_groups'))
+register_view(management, routes=['/groups/add'], view_func=AddGroup.as_view('add_group'))
 register_view(
     management,
     routes=['/groups/<int:group_id>/delete', '/groups/delete'],
-    view_func=DeleteGroup.as_view('delete-group')
+    view_func=DeleteGroup.as_view('delete_group')
 )
 register_view(
     management, routes=['/groups/<int:group_id>/edit'], view_func=EditGroup.as_view('edit_group')
@@ -1009,7 +1021,7 @@ register_view(management, routes=['/users/banned'], view_func=BannedUsers.as_vie
 register_view(
     management,
     routes=['/users/ban', '/users/<int:user_id>/ban'],
-    view_func=BanUser.as_view('/ban_user')
+    view_func=BanUser.as_view('ban_user')
 )
 register_view(
     management,