add slug
This commit is contained in:
@@ -22,6 +22,7 @@ class TaskAdmin(admin.ModelAdmin):
|
||||
{
|
||||
"fields": (
|
||||
"title",
|
||||
"slug",
|
||||
"task_list",
|
||||
"assigned_to",
|
||||
"due_date",
|
||||
|
||||
@@ -18,6 +18,7 @@ class DocumentInlineForm(forms.ModelForm):
|
||||
model = Document
|
||||
fields = [
|
||||
"title",
|
||||
"slug",
|
||||
"date",
|
||||
]
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ from .managers import TaskManager
|
||||
|
||||
|
||||
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)
|
||||
|
||||
users = models.ManyToManyField(User, blank=True)
|
||||
@@ -31,9 +31,17 @@ class TaskList(models.Model):
|
||||
def get_absolute_url(self):
|
||||
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):
|
||||
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(
|
||||
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})
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.title)
|
||||
|
||||
if self.completed and not self.completed_date:
|
||||
self.completed_date = timezone.now().date()
|
||||
|
||||
@@ -88,6 +99,8 @@ class Task(models.Model):
|
||||
|
||||
class Document(models.Model):
|
||||
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)
|
||||
date = models.DateField(verbose_name="Datum", default=date.today)
|
||||
|
||||
@@ -107,9 +120,10 @@ class Document(models.Model):
|
||||
]
|
||||
|
||||
def clean(self):
|
||||
pad_name = slugify(
|
||||
str(self.date) + "-" + self.task.title + "-" + slugify(self.title)
|
||||
)
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.title)
|
||||
|
||||
pad_name = slugify(str(self.date) + "-" + self.task.slug + "-" + self.slug)
|
||||
|
||||
if len(pad_name) > 50:
|
||||
raise ValidationError(
|
||||
@@ -121,7 +135,7 @@ class Document(models.Model):
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user