24 lines
760 B
Python
24 lines
760 B
Python
from flask import flash, session, url_for
|
|
|
|
from max.db import delete_user
|
|
from max.sessions import session_storage
|
|
|
|
from ..base_user_views import BackToUsersMixin, FetchUserTemplateGetView
|
|
|
|
|
|
class UserDelete(BackToUsersMixin, FetchUserTemplateGetView):
|
|
template_name = "user/delete.html"
|
|
|
|
def get_webpagetitle(self):
|
|
return f"Delete {self.user.email}"
|
|
|
|
def post(self):
|
|
if self.user.id == session["user_id"]:
|
|
flash("You cannot delete yourself", category="error")
|
|
return self.redirect()
|
|
|
|
delete_user(self.user)
|
|
session_storage.remove_user_sessions(self.user.id)
|
|
flash(f"{self.user.email} was deleted successfully", category="success")
|
|
return self.redirect(url_for("user-list"))
|