add absolute url (also for 'view on site' in admin app)
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.validators import ValidationError
|
from django.core.validators import ValidationError
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.urls import reverse
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
@@ -39,6 +40,9 @@ class JobPosting(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.publishDate) + "_" + self.companyName + "_" + self.jobName
|
return str(self.publishDate) + "_" + self.companyName + "_" + self.jobName
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return reverse("blackboard")
|
||||||
|
|
||||||
def pdf2jpeg(self, pdf_input_path, jpeg_output_path):
|
def pdf2jpeg(self, pdf_input_path, jpeg_output_path):
|
||||||
args = [
|
args = [
|
||||||
"pef2jpeg", # actual value doesn't matter
|
"pef2jpeg", # actual value doesn't matter
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import logging
|
|||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.core.validators import ValidationError, validate_email
|
from django.core.validators import ValidationError, validate_email
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.urls import reverse
|
||||||
from django.utils.text import slugify
|
from django.utils.text import slugify
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
from easy_thumbnails.fields import ThumbnailerImageField
|
from easy_thumbnails.fields import ThumbnailerImageField
|
||||||
@@ -82,6 +83,13 @@ class Member(models.Model):
|
|||||||
verbose_name = "Mitglied"
|
verbose_name = "Mitglied"
|
||||||
verbose_name_plural = "Mitglieder"
|
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):
|
def clean(self):
|
||||||
if not self.image:
|
if not self.image:
|
||||||
raise ValidationError(_("Es fehlt das Profilbild."))
|
raise ValidationError(_("Es fehlt das Profilbild."))
|
||||||
@@ -95,9 +103,6 @@ class Member(models.Model):
|
|||||||
user.first_name = self.firstname
|
user.first_name = self.firstname
|
||||||
user.save()
|
user.save()
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return self.firstname + " " + self.surname
|
|
||||||
|
|
||||||
|
|
||||||
class JobGroup(models.Model):
|
class JobGroup(models.Model):
|
||||||
name = models.CharField(max_length=128)
|
name = models.CharField(max_length=128)
|
||||||
@@ -120,6 +125,10 @@ class JobGroup(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
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):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
self.slug = slugify(self.shortterm)
|
self.slug = slugify(self.shortterm)
|
||||||
@@ -149,6 +158,9 @@ class Job(models.Model):
|
|||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return reverse("jobs", kwargs={"slug": self.job_group.slug}) + "#" + self.slug
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.slug:
|
if not self.slug:
|
||||||
self.slug = slugify(self.shortterm)
|
self.slug = slugify(self.shortterm)
|
||||||
|
|||||||
@@ -206,6 +206,9 @@ class Post(models.Model):
|
|||||||
def url(self):
|
def url(self):
|
||||||
return reverse("posts.show", kwargs={"id": self.slug})
|
return reverse("posts.show", kwargs={"id": self.slug})
|
||||||
|
|
||||||
|
def get_absolute_url(self):
|
||||||
|
return self.url
|
||||||
|
|
||||||
def clean(self):
|
def clean(self):
|
||||||
if self.event_end and self.event_end < self.event_start:
|
if self.event_end and self.event_end < self.event_start:
|
||||||
raise ValidationError(_("Das Ende des Events liegt vor dem Beginn."))
|
raise ValidationError(_("Das Ende des Events liegt vor dem Beginn."))
|
||||||
|
|||||||
Reference in New Issue
Block a user