vergabe-teilnahme/vergabe_teilnahme/apps/aufgaben/link_registry.py

28 lines
835 B
Python
Raw Normal View History

from django.contrib.contenttypes.models import ContentType
_VERKNUEPFBARE_MODELLE = [
('lose', 'Anforderung'),
('lose', 'Los'),
('aufgaben', 'Bieterfrage'),
('dokumente', 'Dokument'),
('preise', 'Preispunkt'),
]
def verknuepfbare_typen():
"""Gibt eine geordnete Liste (ContentType, label) der verknüpfbaren Typen zurück."""
result = []
for app_label, model_name in _VERKNUEPFBARE_MODELLE:
try:
ct = ContentType.objects.get(app_label=app_label, model=model_name.lower())
result.append((ct, f'{ct.app_label} / {model_name}'))
except ContentType.DoesNotExist:
pass
return result
def ziel_choices():
"""Gibt (content_type_id, label)-Tupel für ein ChoiceField zurück."""
return [(ct.pk, label) for ct, label in verknuepfbare_typen()]