On interdit les "/" dans les tags

Fix #383
This commit is contained in:
Jean-Marie Favreau 2025-04-03 19:46:26 +02:00
parent b009ba692b
commit 9ee1975528
4 changed files with 281 additions and 242 deletions

View File

@ -264,7 +264,10 @@ class CategorisationRuleImportForm(ModelForm):
class MultipleChoiceFieldAcceptAll(MultipleChoiceField):
def validate(self, value):
pass
# check if each element is without "/"
for item in value:
if "/" in item:
raise ValidationError(_("The '/' character is not allowed."))
class EventForm(GroupFormMixin, ModelForm):

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,25 @@
# Generated by Django 4.2.19 on 2025-04-03 19:36
import agenda_culturel.models
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("agenda_culturel", "0162_siteconfiguration_site_url"),
]
operations = [
migrations.AlterField(
model_name="tag",
name="name",
field=models.CharField(
help_text="Tag name",
max_length=512,
unique=True,
validators=[agenda_culturel.models.no_slash_validator],
verbose_name="Name",
),
),
]

View File

@ -49,6 +49,7 @@ from django.db.models.expressions import RawSQL
from django.templatetags.static import static
from django.conf import settings
from solo.models import SingletonModel
from django.core.exceptions import ValidationError
from .calendar import CalendarDay
from .import_tasks.extractor import Extractor
@ -64,6 +65,11 @@ logger = logging.getLogger(__name__)
to_be_translated = [_("mean"), _("median"), _("maximum"), _("minimum"), _("stdev")]
def no_slash_validator(value):
if "/" in value:
raise ValidationError(_("The '/' character is not allowed."))
class SiteConfiguration(SingletonModel):
site_name = models.CharField(
verbose_name=_("Site name"), max_length=255, default="Pommes de lune"
@ -318,6 +324,7 @@ class Tag(models.Model):
help_text=_("Tag name"),
max_length=512,
unique=True,
validators=[no_slash_validator],
)
description = CKEditor5Field(