partner categories

This commit is contained in:
Tobias Brunner 2025-07-11 10:52:44 +02:00
parent 83504f6b7c
commit c6b50da971
No known key found for this signature in database
8 changed files with 75 additions and 4 deletions

View file

@ -2,7 +2,7 @@ from django.db import models
from django.urls import reverse
from django.utils.text import slugify
from .base import validate_image_size, get_prose_editor_field
from .base import validate_image_size, get_prose_editor_field, PartnerCategory
from .images import ImageReference
@ -51,6 +51,14 @@ class ConsultingPartner(ImageReference):
email = models.EmailField(max_length=254, blank=True, null=True)
address = models.TextField(max_length=250, blank=True, null=True)
# Partner category (hardcoded choices as requested)
category = models.CharField(
max_length=20,
choices=PartnerCategory.choices,
default=PartnerCategory.CONSULTING,
help_text="Category of the partner",
)
services = models.ManyToManyField(
"services.Service", related_name="consulting_partners", blank=True
)
@ -69,7 +77,11 @@ class ConsultingPartner(ImageReference):
ordering = ["order"]
def __str__(self):
return self.name
return f"{self.name} ({self.get_category_display()})"
def get_category_display_badge(self):
"""Returns category display suitable for badges/UI"""
return self.get_category_display()
def save(self, *args, **kwargs):
if not self.slug: