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 @@ + + {{ form.shortterm.label }} + {% if form.shortterm.errors %} + + {{ form.shortterm.errors }} + + {% endif %} + + + {{ form.date.label }} {% if form.date.errors %} diff --git a/fet2020/templates/tasks/index.html b/fet2020/templates/tasks/index.html index 1e7502ca..58906d40 100644 --- a/fet2020/templates/tasks/index.html +++ b/fet2020/templates/tasks/index.html @@ -95,7 +95,7 @@ - {{ task.title }} Link + {{ task.title|truncatechars:45 }} Link {% if task.due_date %} diff --git a/fet2020/templates/tasks/task_create.html b/fet2020/templates/tasks/task_create.html index fd2c2668..bd696c44 100644 --- a/fet2020/templates/tasks/task_create.html +++ b/fet2020/templates/tasks/task_create.html @@ -28,6 +28,16 @@ + + {{ form.shortterm.label }} + {% if form.shortterm.errors %} + + {{ form.shortterm.errors }} + + {% endif %} + + + {{ form.task_list.label }} {% if form.task_list.errors %}