Skip to content

Commit

Permalink
Validate feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
zertap committed Feb 1, 2024
1 parent 2ac03c1 commit cbd604c
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 0 deletions.
2 changes: 2 additions & 0 deletions modeemintternet/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,3 +111,5 @@ def __init__(self, *args, **kwargs):
self.fields["sender"].label = "Lähettäjä (vapaaehtoinen)"
self.fields["email"].label = "Email (vapaaehtoinen)"
self.fields["message"].label = "Palaute"
self.fields["validation"].label = "Mikä on tämän kerhon nimi?"
self.fields["validation"].required = True
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Generated by Django 4.1.4 on 2024-02-01 00:52

import django.core.validators
from django.db import migrations, models
import modeemintternet.models


class Migration(migrations.Migration):

dependencies = [
("modeemintternet", "0038_application_md5_crypt"),
]

operations = [
migrations.AddField(
model_name="feedback",
name="validation",
field=models.CharField(
default="",
max_length=16,
validators=[modeemintternet.models.validate_antibot_question],
),
),
migrations.AlterField(
model_name="membershipfee",
name="year",
field=models.PositiveIntegerField(
primary_key=True,
serialize=False,
unique=True,
validators=[
django.core.validators.MinValueValidator(1975),
django.core.validators.MaxValueValidator(2025),
],
verbose_name="Vuosi",
),
),
]
8 changes: 8 additions & 0 deletions modeemintternet/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ def validate_username(username):
log.exception("Error in querying passwd objects", exc_info=e)


def validate_antibot_question(answer):
if not match(r"(?i)modeemi", answer):
raise ValidationError("Yritäppä uudelleen")


class News(models.Model):
title = models.TextField(blank=False)
text = models.TextField()
Expand Down Expand Up @@ -263,6 +268,9 @@ class Feedback(models.Model):
sender = models.CharField(blank=True, max_length=64)
email = models.EmailField(blank=True)
message = models.TextField(blank=False)
validation = models.CharField(
blank=False, default="", max_length=16, validators=[validate_antibot_question]
)
sent = models.DateTimeField(auto_now_add=True)

class Meta:
Expand Down
1 change: 1 addition & 0 deletions modeemintternet/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ def setUp(self):
"sender": "Jumal Velho",
"email": "[email protected]",
"message": "Moi\nTäs Jumal Velho",
"validation": "Modeemi",
}

def test_feedback_to_unicode(self):
Expand Down

0 comments on commit cbd604c

Please sign in to comment.