summaryrefslogtreecommitdiffstats
path: root/core/models/troggle.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@gmail.com>2023-10-01 15:55:28 +0300
committerPhilip Sargent <philip.sargent@gmail.com>2023-10-01 15:55:28 +0300
commit7b8703dadc654284daea4ec1cb263a3b17b1b041 (patch)
tree6a380e4d12ee39d57ba7b68d5e3d740ba52988d5 /core/models/troggle.py
parent16d3ee9f92914859edd7b568c9dbd802fd93438e (diff)
downloadtroggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.tar.gz
troggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.tar.bz2
troggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.zip
part-way though converting to slugs for people
Diffstat (limited to 'core/models/troggle.py')
-rw-r--r--core/models/troggle.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/core/models/troggle.py b/core/models/troggle.py
index 5db2d10..0977f84 100644
--- a/core/models/troggle.py
+++ b/core/models/troggle.py
@@ -80,14 +80,15 @@ class Person(TroggleModel):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
- fullname = models.CharField(max_length=200)
+ fullname = models.CharField(max_length=200) # display name, but should not be used for lookups
nickname = models.CharField(max_length=200)
- slug = models.SlugField(max_length=50, unique=True)
+ slug = models.SlugField(max_length=50, blank=True, null=True) # unique, enforced in code not in db
is_vfho = models.BooleanField(
help_text="VFHO is the Vereines f&uuml;r H&ouml;hlenkunde in Obersteier, a nearby Austrian caving club.",
default=False,
)
+ is_guest = models.BooleanField(default=False) # This is per-Person, not per-PersonExpedition
mug_shot = models.CharField(max_length=100, blank=True, null=True)
blurb = models.TextField(blank=True, null=True)
orderref = models.CharField(max_length=200) # for alphabetic
@@ -101,6 +102,7 @@ class Person(TroggleModel):
ordering = ("orderref",) # "Wookey" makes too complex for: ('last_name', 'first_name')
def __str__(self):
+ return self.slug
if self.last_name:
return f"{self.first_name} {self.last_name}"
return self.first_name
@@ -150,7 +152,7 @@ class PersonExpedition(TroggleModel):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
slugfield = models.SlugField(max_length=50, blank=True, null=True) # 2022 to be used in future
- is_guest = models.BooleanField(default=False)
+ # is_guest = models.BooleanField(default=False) # This is per-Person, not per-PersonExpedition
class Meta:
ordering = ("-expedition",)
@@ -162,6 +164,16 @@ class PersonExpedition(TroggleModel):
def get_absolute_url(self):
# we do not use URL_ROOT any more.
+ return(f"/personexpedition/{self.person.slug}/{self.expedition.year}")
+ # why does this hang the system ?
+ return reverse(
+ "personexpedition",
+ kwargs={
+ "slug": self.slug,
+ "year": self.expedition.year,
+ },
+ )
+ # old style, no longer used
return reverse(
"personexpedition",
kwargs={