From 6f05b6de1149e62af812cc679f156f8ae77687fa Mon Sep 17 00:00:00 2001 From: Patrick Mayr Date: Wed, 20 Apr 2022 19:20:25 +0000 Subject: [PATCH] allow to set shortterms and limit their length --- fet2020/tasks/forms.py | 4 +++ fet2020/tasks/models.py | 29 +++++++++---------- .../templates/tasks/attachment_create.html | 10 +++++++ fet2020/templates/tasks/index.html | 2 +- fet2020/templates/tasks/task_create.html | 10 +++++++ 5 files changed, 39 insertions(+), 16 deletions(-) diff --git a/fet2020/tasks/forms.py b/fet2020/tasks/forms.py index 5c8c73ef..9bd7ce6c 100644 --- a/fet2020/tasks/forms.py +++ b/fet2020/tasks/forms.py @@ -73,6 +73,7 @@ class TaskCreateForm(forms.ModelForm): fields = [ "title", + "shortterm", "task_list", "due_date", "assigned_to", @@ -81,6 +82,7 @@ class TaskCreateForm(forms.ModelForm): labels = { "title": _("Titel des Tasks"), + "shortterm": _("Kürzel für den Link (optional)"), "task_list": _("Task-Gruppe"), "due_date": _("Fälligkeitsdatum"), "assigned_to": _("Zuweisen an"), @@ -165,12 +167,14 @@ class DocumentCreateForm(forms.ModelForm): fields = [ "title", + "shortterm", "date", "task", ] labels = { "title": _("Titel"), + "shortterm": _("Kürzel für den Link (optional)"), "date": _("Datum"), } diff --git a/fet2020/tasks/models.py b/fet2020/tasks/models.py index e871fd54..010f5e51 100644 --- a/fet2020/tasks/models.py +++ b/fet2020/tasks/models.py @@ -17,8 +17,8 @@ from .managers import TaskManager class TaskList(models.Model): name = models.CharField(max_length=128) - shortterm = models.CharField(max_length=128, unique=True, null=True, blank=True) - slug = models.SlugField(unique=True, null=True, blank=True) + shortterm = models.CharField(max_length=128, unique=True, blank=True) + slug = models.SlugField(unique=True, blank=True) users = models.ManyToManyField(User, blank=True) @@ -36,17 +36,15 @@ class TaskList(models.Model): def clean(self): if not self.shortterm: - self.slug = slugify(self.name) - - if not self.slug: - self.slug = slugify(self.shortterm) + self.shortterm = slugify(self.name) + self.slug = slugify(self.shortterm) class Task(models.Model): title = models.CharField(verbose_name="Titel", max_length=128) - shortterm = models.CharField(max_length=128, null=True, blank=True) - slug = models.SlugField(null=True, blank=True) + shortterm = models.CharField(max_length=25, blank=True) + slug = models.SlugField(max_length=25, blank=True) task_list = models.ForeignKey( TaskList, verbose_name="Aufgabenbereich", on_delete=models.CASCADE, null=True @@ -93,10 +91,8 @@ class Task(models.Model): def clean(self): if not self.shortterm: - self.slug = slugify(self.title) - - if not self.slug: - self.slug = slugify(self.shortterm) + self.shortterm = slugify(self.title[:20]) + self.slug = slugify(self.shortterm) def save(self, *args, **kwargs): if self.completed and not self.completed_date: @@ -110,7 +106,9 @@ class Task(models.Model): class Document(models.Model): title = models.CharField(verbose_name="Titel", max_length=128) - slug = models.SlugField(null=True, blank=True) + + shortterm = models.CharField(max_length=20, blank=True) + slug = models.SlugField(max_length=20, blank=True) etherpad_key = models.CharField(max_length=50, blank=True) date = models.DateField(verbose_name="Datum", default=date.today) @@ -131,8 +129,9 @@ class Document(models.Model): ] def clean(self): - if not self.slug: - self.slug = slugify(self.title) + if not self.shortterm: + self.shortterm = slugify(self.title[:20]) + self.slug = slugify(self.shortterm) pad_name = slugify(str(self.date) + "-" + self.task.slug + "-" + self.slug) if len(pad_name) > 50: diff --git a/fet2020/templates/tasks/attachment_create.html b/fet2020/templates/tasks/attachment_create.html index 69a0ae5b..56782317 100644 --- a/fet2020/templates/tasks/attachment_create.html +++ b/fet2020/templates/tasks/attachment_create.html @@ -28,6 +28,16 @@ + +