mailer: force email address names to be unique

pull/82/head^2
Christian Merten 1 year ago
parent fa6f31e560
commit d4d9d97a94
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -0,0 +1,19 @@
# Generated by Django 4.0.1 on 2024-12-03 23:19
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('mailer', '0007_emailaddress_internal_only'),
]
operations = [
migrations.AlterField(
model_name='emailaddress',
name='name',
field=models.CharField(max_length=50, unique=True, validators=[django.core.validators.RegexValidator('^[0-9a-zA-Z._-]*$', 'Only alphanumeric characters, ., - and _ are allowed')], verbose_name='name'),
),
]

@ -22,7 +22,8 @@ alphanumeric = RegexValidator(r'^[0-9a-zA-Z._-]*$',
class EmailAddress(models.Model):
"""Represents an email address, that is forwarded to specific members"""
name = models.CharField(_('name'), max_length=50, validators=[alphanumeric])
name = models.CharField(_('name'), max_length=50, validators=[alphanumeric],
unique=True)
to_members = models.ManyToManyField('members.Member',
verbose_name=_('Forward to participants'),
blank=True)
@ -63,6 +64,7 @@ class EmailAddressForm(forms.ModelForm):
exclude = []
def clean(self):
super(EmailAddressForm, self).clean()
group = self.cleaned_data.get('to_groups')
members = self.cleaned_data.get('to_members')
if not group and not members:

Loading…
Cancel
Save