From cfab40e6f8fd43b9e5cac1d3a62b946e8354a416 Mon Sep 17 00:00:00 2001
From: Dominik George <nik@naturalnet.de>
Date: Wed, 20 Nov 2019 14:09:01 +0100
Subject: [PATCH] Turn short_name into identifier and force it to be a Python
 identifier. Advances #45.

---
 biscuit/apps/alsijil/models.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/biscuit/apps/alsijil/models.py b/biscuit/apps/alsijil/models.py
index 4e8f68f02..f34966454 100644
--- a/biscuit/apps/alsijil/models.py
+++ b/biscuit/apps/alsijil/models.py
@@ -47,11 +47,12 @@ class LessonDocumentation(SchoolRelated):
 class PersonalNoteFilter(SchoolRelated):
     """ A filter definition that can generate statistics on personal note texts. """
 
-    short_name = models.CharField(verbose_name=_('Short name'), max_length=30)
+    identifier = models.CharField(verbose_name=_('Identifier'), max_length=30,
+                                  validators=[lambda v: v.isidentifier()])
     description = models.CharField(verbose_name=_('Description'), max_length=60, blank=True)
 
     regex = models.CharField(verbose_name=_('Match expression'), max_length=100)
 
     class Meta:
-        unique_together = [['school', 'short_name'], ['school', 'description'], ['school', 'regex']]
+        unique_together = [['school', 'identifier'], ['school', 'description'], ['school', 'regex']]
         ordering = ['short_name']
-- 
GitLab