This commit is contained in:
2022-01-20 15:08:30 +00:00
parent 1c7baf0236
commit 188e8d83bd
3 changed files with 22 additions and 6 deletions

View File

@@ -22,6 +22,7 @@ class TaskAdmin(admin.ModelAdmin):
{ {
"fields": ( "fields": (
"title", "title",
"slug",
"task_list", "task_list",
"assigned_to", "assigned_to",
"due_date", "due_date",

View File

@@ -18,6 +18,7 @@ class DocumentInlineForm(forms.ModelForm):
model = Document model = Document
fields = [ fields = [
"title", "title",
"slug",
"date", "date",
] ]

View File

@@ -14,7 +14,7 @@ from .managers import TaskManager
class TaskList(models.Model): class TaskList(models.Model):
name = models.CharField(max_length=60) name = models.CharField(max_length=128)
slug = models.SlugField(unique=True, null=True, blank=True) slug = models.SlugField(unique=True, null=True, blank=True)
users = models.ManyToManyField(User, blank=True) users = models.ManyToManyField(User, blank=True)
@@ -31,9 +31,17 @@ class TaskList(models.Model):
def get_absolute_url(self): def get_absolute_url(self):
return reverse("tasks") return reverse("tasks")
def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.name)
super().save(*args, **kwargs)
class Task(models.Model): class Task(models.Model):
title = models.CharField(verbose_name="Titel", max_length=140) title = models.CharField(verbose_name="Titel", max_length=128)
slug = models.SlugField(unique=True, null=True, blank=True)
task_list = models.ForeignKey( task_list = models.ForeignKey(
TaskList, verbose_name="Aufgabenbereich", on_delete=models.CASCADE, null=True TaskList, verbose_name="Aufgabenbereich", on_delete=models.CASCADE, null=True
) )
@@ -77,6 +85,9 @@ class Task(models.Model):
return reverse("task-detail", kwargs={"pk": self.id}) return reverse("task-detail", kwargs={"pk": self.id})
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if not self.slug:
self.slug = slugify(self.title)
if self.completed and not self.completed_date: if self.completed and not self.completed_date:
self.completed_date = timezone.now().date() self.completed_date = timezone.now().date()
@@ -88,6 +99,8 @@ class Task(models.Model):
class Document(models.Model): class Document(models.Model):
title = models.CharField(verbose_name="Titel", max_length=128) title = models.CharField(verbose_name="Titel", max_length=128)
slug = models.SlugField(unique=True, null=True, blank=True)
etherpad_key = models.CharField(max_length=50, blank=True) etherpad_key = models.CharField(max_length=50, blank=True)
date = models.DateField(verbose_name="Datum", default=date.today) date = models.DateField(verbose_name="Datum", default=date.today)
@@ -107,9 +120,10 @@ class Document(models.Model):
] ]
def clean(self): def clean(self):
pad_name = slugify( if not self.slug:
str(self.date) + "-" + self.task.title + "-" + slugify(self.title) self.slug = slugify(self.title)
)
pad_name = slugify(str(self.date) + "-" + self.task.slug + "-" + self.slug)
if len(pad_name) > 50: if len(pad_name) > 50:
raise ValidationError( raise ValidationError(
@@ -121,7 +135,7 @@ class Document(models.Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.etherpad_key = createPadifNotExists( self.etherpad_key = createPadifNotExists(
slugify(str(self.date) + "-" + self.task.title + "-" + slugify(self.title)) slugify(str(self.date) + "-" + self.task.slug + "-" + self.slug)
) )
super().save(*args, **kwargs) super().save(*args, **kwargs)