add absolute url (also for 'view on site' in admin app)
This commit is contained in:
@@ -3,6 +3,7 @@ import logging
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.validators import ValidationError, validate_email
|
||||
from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils.text import slugify
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from easy_thumbnails.fields import ThumbnailerImageField
|
||||
@@ -82,6 +83,13 @@ class Member(models.Model):
|
||||
verbose_name = "Mitglied"
|
||||
verbose_name_plural = "Mitglieder"
|
||||
|
||||
def __str__(self):
|
||||
return self.firstname + " " + self.surname
|
||||
|
||||
# need to have 'View on site' link in admin app
|
||||
def get_absolute_url(self):
|
||||
return reverse("member", kwargs={"member_id": self.id})
|
||||
|
||||
def clean(self):
|
||||
if not self.image:
|
||||
raise ValidationError(_("Es fehlt das Profilbild."))
|
||||
@@ -95,9 +103,6 @@ class Member(models.Model):
|
||||
user.first_name = self.firstname
|
||||
user.save()
|
||||
|
||||
def __str__(self):
|
||||
return self.firstname + " " + self.surname
|
||||
|
||||
|
||||
class JobGroup(models.Model):
|
||||
name = models.CharField(max_length=128)
|
||||
@@ -120,6 +125,10 @@ class JobGroup(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
# need to have 'View on site' link in admin app
|
||||
def get_absolute_url(self):
|
||||
return reverse("jobs", kwargs={"slug": self.slug})
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.shortterm)
|
||||
@@ -149,6 +158,9 @@ class Job(models.Model):
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
||||
def get_absolute_url(self):
|
||||
return reverse("jobs", kwargs={"slug": self.job_group.slug}) + "#" + self.slug
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
self.slug = slugify(self.shortterm)
|
||||
|
||||
Reference in New Issue
Block a user