add login_as to admin

This commit is contained in:
Son 2021-08-15 22:14:52 +02:00
parent be418029bd
commit cc86f698ee
1 changed files with 17 additions and 1 deletions

View File

@ -3,7 +3,7 @@ from flask import redirect, url_for, request, flash
from flask_admin import expose, AdminIndexView
from flask_admin.actions import action
from flask_admin.contrib import sqla
from flask_login import current_user
from flask_login import current_user, login_user
from app.extensions import db
from app.models import User, ManualSubscription
@ -122,6 +122,22 @@ class UserAdmin(SLModelView):
db.session.commit()
@action(
"login_as",
"Login as this user",
"Login as this user?",
)
def login_as(self, ids):
if len(ids) != 1:
flash("only 1 user can be selected", "error")
return
for user in User.query.filter(User.id.in_(ids)):
login_user(user)
flash(f"Login as user {user}", "success")
return redirect("/")
def manual_upgrade(way: str, ids: [int], is_giveaway: bool):
query = User.query.filter(User.id.in_(ids))