Просмотр исходного кода

#9887: Add missing model documentation links

jeremystretch 3 лет назад
Родитель
Сommit
640fd8045d

+ 5 - 0
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()
 

+ 5 - 0
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)
 

+ 17 - 0
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()
 

+ 5 - 0
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)