1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-21 11:18:27 +02:00

Add forbidden trigrams, closes #17

This commit is contained in:
Emmy D'Anello
2023-02-19 19:49:03 +01:00
parent 4a39d206d5
commit 600ebd087e
4 changed files with 174 additions and 130 deletions

View File

@ -0,0 +1,19 @@
# Generated by Django 3.2.18 on 2023-02-19 22:13
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('participation', '0002_initial'),
]
operations = [
migrations.AlterField(
model_name='team',
name='trigram',
field=models.CharField(help_text='The trigram must be composed of three uppercase letters.', max_length=3, unique=True, validators=[django.core.validators.RegexValidator('^[A-Z]{3}$'), django.core.validators.RegexValidator('^(?!BIT$|CNO$|CRO$|CUL$|FTG$|FCK$|FUC$|FUK$|FYS$|HIV$|IST$|MST$|KKK$|KYS$|SEX$)', message='This trigram is forbidden.')], verbose_name='trigram'),
),
]

View File

@ -39,7 +39,11 @@ class Team(models.Model):
verbose_name=_("trigram"),
help_text=_("The trigram must be composed of three uppercase letters."),
unique=True,
validators=[RegexValidator("[A-Z]{3}")],
validators=[
RegexValidator(r"^[A-Z]{3}$"),
RegexValidator(fr"^(?!{'|'.join(f'{t}$' for t in settings.FORBIDDEN_TRIGRAMS)})",
message=_("This trigram is forbidden.")),
],
)
access_code = models.CharField(