initial commit

This commit is contained in:
FinnStutzenstein committed 2020-04-13 08:31:44 +02:00
commit 9d018e00be
82 files changed
+2407

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
from flask import flash
from max.db import EmailAlreadyExists, create_alias
from ..base_alias_views import BackToAliasesMixin
from ..base_user_views import FetchUserTemplateGetView
class AliasCreate(BackToAliasesMixin, FetchUserTemplateGetView):
template_name = "alias/create.html"
def get_webpagetitle(self):
return f"Create new alias for {self.user.email}"
def post(self):
error = False
email = self.request.form.get("email")
if not isinstance(email, str) or not email:
flash("Email must be given", category="error")
error = True
else:
self.email = email
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")
error = True
note = self.request.form.get("note", "")
if not isinstance(note, str):
flash("Not emust be a string", category="error")
error = True
else:
self.note = note
if error:
return # force re-rendering
try:
create_alias(self.email, self.user, self.enabled, self.note)
except EmailAlreadyExists as e:
flash(f"Email already exists: {e.msg}", category="error")
return
flash(f"Creation of alias {email} was successful!", category="success")
return self.redirect()
def get_context(self):
context = super().get_context()
for key in ("email", "enabled", "note"):
if hasattr(self, key):
context[key] = getattr(self, key)
return context