More work
This commit is contained in:
1 parent
9d018e00be
commit
add153d8a6
98 files changed
+18520
-333
No files matched your search
@@ -1,12 +1,17 @@
|
||||
from flask import flash
|
||||
|
||||
from max.db import EmailAlreadyExists, create_alias
|
||||
from max.permissions import AllowAdminOrSelf
|
||||
from max.translations import t
|
||||
|
||||
from ..base_alias_views import BackToAliasesMixin
|
||||
from ..base_user_views import FetchUserTemplateGetView
|
||||
from ..check_email_mixin import CheckEmailMixin
|
||||
|
||||
|
||||
class AliasCreate(BackToAliasesMixin, FetchUserTemplateGetView):
|
||||
class AliasCreate(
|
||||
AllowAdminOrSelf, CheckEmailMixin, BackToAliasesMixin, FetchUserTemplateGetView
|
||||
):
|
||||
template_name = "alias/create.html"
|
||||
|
||||
def get_webpagetitle(self):
|
||||
@@ -16,23 +21,26 @@ class AliasCreate(BackToAliasesMixin, FetchUserTemplateGetView):
|
||||
error = False
|
||||
email = self.request.form.get("email")
|
||||
if not isinstance(email, str) or not email:
|
||||
flash("Email must be given", category="error")
|
||||
flash(t("Email must be given"), category="error")
|
||||
error = True
|
||||
else:
|
||||
self.email = email
|
||||
|
||||
if not self.is_email_valid(email):
|
||||
error = True
|
||||
|
||||
enabled = self.request.form.get("enabled")
|
||||
if enabled == "on":
|
||||
self.enabled = True
|
||||
elif enabled is None:
|
||||
self.enabled = False
|
||||
else:
|
||||
flash("Enabled is not set", category="error")
|
||||
flash(t("Enabled is not set"), category="error")
|
||||
error = True
|
||||
|
||||
note = self.request.form.get("note", "")
|
||||
if not isinstance(note, str):
|
||||
flash("Not emust be a string", category="error")
|
||||
flash(t("Note must be a string"), category="error")
|
||||
error = True
|
||||
else:
|
||||
self.note = note
|
||||
@@ -43,10 +51,19 @@ class AliasCreate(BackToAliasesMixin, FetchUserTemplateGetView):
|
||||
try:
|
||||
create_alias(self.email, self.user, self.enabled, self.note)
|
||||
except EmailAlreadyExists as e:
|
||||
flash(f"Email already exists: {e.msg}", category="error")
|
||||
if self.auth_user.is_admin:
|
||||
flash(
|
||||
t("Email already exists: {msg}", msg=t(e.msg, **e.arguments)),
|
||||
category="error",
|
||||
)
|
||||
else:
|
||||
flash(t("Email already exists."))
|
||||
return
|
||||
|
||||
flash(f"Creation of alias {email} was successful!", category="success")
|
||||
flash(
|
||||
t("Creation of alias {email} was successful!", email=email),
|
||||
category="success",
|
||||
)
|
||||
return self.redirect()
|
||||
|
||||
def get_context(self):
|
||||
|
||||
Reference in new issue
Block a user