feat: Add preset shift templates, admin SMTP settings, test email dispatch, and email verification opt-out option
This commit is contained in:
@@ -39,6 +39,7 @@ class RegistrationDomainRule(models.Model):
|
||||
class RegistrationRestrictionSetting(models.Model):
|
||||
is_restriction_enabled = models.BooleanField(default=False)
|
||||
require_admin_approval = models.BooleanField(default=False, help_text="Neue Registrierungen müssen von einem Admin freigeschaltet werden")
|
||||
require_email_verification = models.BooleanField(default=True, help_text="E-Mail Bestätigungslink für neue Konten erforderlich")
|
||||
|
||||
@classmethod
|
||||
def get_solo(cls):
|
||||
@@ -46,7 +47,25 @@ class RegistrationRestrictionSetting(models.Model):
|
||||
return obj
|
||||
|
||||
def __str__(self):
|
||||
return f"Domain-Einschränkung: {self.is_restriction_enabled}, Admin-Freischaltung: {self.require_admin_approval}"
|
||||
return f"Domain-Einschränkung: {self.is_restriction_enabled}, Admin-Freischaltung: {self.require_admin_approval}, E-Mail-Pflicht: {self.require_email_verification}"
|
||||
|
||||
class SMTPSetting(models.Model):
|
||||
is_active = models.BooleanField(default=False, help_text="SMTP-Versand aktivieren")
|
||||
host = models.CharField(max_length=255, default="smtp.example.com")
|
||||
port = models.IntegerField(default=587)
|
||||
username = models.CharField(max_length=255, blank=True, default="")
|
||||
password = models.CharField(max_length=255, blank=True, default="")
|
||||
use_tls = models.BooleanField(default=True)
|
||||
use_ssl = models.BooleanField(default=False)
|
||||
from_email = models.EmailField(default="noreply@schichtplaner.local")
|
||||
|
||||
@classmethod
|
||||
def get_solo(cls):
|
||||
obj, _ = cls.objects.get_or_create(pk=1)
|
||||
return obj
|
||||
|
||||
def __str__(self):
|
||||
return f"SMTP {self.host}:{self.port} ({'Aktiv' if self.is_active else 'Inaktiv'})"
|
||||
|
||||
class EmailVerificationToken(models.Model):
|
||||
token = models.UUIDField(default=uuid.uuid4, unique=True, editable=False)
|
||||
|
||||
Reference in New Issue
Block a user