From 640fd8045df3477d4d3410bf70980c5c8fbc4105 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Tue, 15 Nov 2022 11:00:13 -0500 Subject: [PATCH] #9887: Add missing model documentation links --- netbox/extras/models/configcontexts.py | 5 +++++ netbox/extras/models/customfields.py | 5 +++++ netbox/extras/models/models.py | 17 +++++++++++++++++ netbox/extras/models/tags.py | 5 +++++ 4 files changed, 32 insertions(+) diff --git a/netbox/extras/models/configcontexts.py b/netbox/extras/models/configcontexts.py index 30fb07069..d8d3510d7 100644 --- a/netbox/extras/models/configcontexts.py +++ b/netbox/extras/models/configcontexts.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.core.validators import ValidationError from django.db import models from django.urls import reverse @@ -116,6 +117,10 @@ class ConfigContext(WebhooksMixin, ChangeLoggedModel): def get_absolute_url(self): return reverse('extras:configcontext', kwargs={'pk': self.pk}) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/configcontext/' + def clean(self): super().clean() diff --git a/netbox/extras/models/customfields.py b/netbox/extras/models/customfields.py index b03149698..2890e6784 100644 --- a/netbox/extras/models/customfields.py +++ b/netbox/extras/models/customfields.py @@ -4,6 +4,7 @@ import decimal import django_filters from django import forms +from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.contrib.postgres.fields import ArrayField from django.core.validators import RegexValidator, ValidationError @@ -179,6 +180,10 @@ class CustomField(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge def get_absolute_url(self): return reverse('extras:customfield', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/customfield/' + def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) diff --git a/netbox/extras/models/models.py b/netbox/extras/models/models.py index b41e89d6c..fa6bb3ab9 100644 --- a/netbox/extras/models/models.py +++ b/netbox/extras/models/models.py @@ -1,6 +1,7 @@ import json import uuid +from django.conf import settings from django.contrib import admin from django.contrib.auth.models import User from django.contrib.contenttypes.fields import GenericForeignKey @@ -146,6 +147,10 @@ class Webhook(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): def get_absolute_url(self): return reverse('extras:webhook', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/webhook/' + def clean(self): super().clean() @@ -250,6 +255,10 @@ class CustomLink(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogged def get_absolute_url(self): return reverse('extras:customlink', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/customlink/' + def render(self, context): """ Render the CustomLink given the provided context, and return the text, link, and link_target. @@ -311,6 +320,10 @@ class ExportTemplate(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel): def get_absolute_url(self): return reverse('extras:exporttemplate', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/exporttemplate/' + def clean(self): super().clean() @@ -403,6 +416,10 @@ class SavedFilter(CloningMixin, ExportTemplatesMixin, WebhooksMixin, ChangeLogge def get_absolute_url(self): return reverse('extras:savedfilter', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/savedfilter/' + def clean(self): super().clean() diff --git a/netbox/extras/models/tags.py b/netbox/extras/models/tags.py index a4e4049d7..827d969e3 100644 --- a/netbox/extras/models/tags.py +++ b/netbox/extras/models/tags.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.db import models from django.urls import reverse from django.utils.text import slugify @@ -31,6 +32,10 @@ class Tag(ExportTemplatesMixin, WebhooksMixin, ChangeLoggedModel, TagBase): def get_absolute_url(self): return reverse('extras:tag', args=[self.pk]) + @property + def docs_url(self): + return f'{settings.STATIC_URL}docs/models/extras/tag/' + def slugify(self, tag, i=None): # Allow Unicode in Tag slugs (avoids empty slugs for Tags with all-Unicode names) slug = slugify(tag, allow_unicode=True)