diff --git a/netbox/extras/migrations/0116_custom_link_button_color.py b/netbox/extras/migrations/0116_custom_link_button_color.py new file mode 100644 index 000000000..665d73017 --- /dev/null +++ b/netbox/extras/migrations/0116_custom_link_button_color.py @@ -0,0 +1,25 @@ +from django.db import migrations, models + + +def update_link_buttons(apps, schema_editor): + CustomLink = apps.get_model('extras', 'CustomLink') + CustomLink.objects.filter(button_class='outline-dark').update(button_class='default') + + +class Migration(migrations.Migration): + + dependencies = [ + ('extras', '0115_convert_dashboard_widgets'), + ] + + operations = [ + migrations.AlterField( + model_name='customlink', + name='button_class', + field=models.CharField(default='default', max_length=30), + ), + migrations.RunPython( + code=update_link_buttons, + reverse_code=migrations.RunPython.noop + ), + ] diff --git a/netbox/extras/templatetags/custom_links.py b/netbox/extras/templatetags/custom_links.py index dd28a8160..4aeaaa6b1 100644 --- a/netbox/extras/templatetags/custom_links.py +++ b/netbox/extras/templatetags/custom_links.py @@ -4,6 +4,7 @@ from django.utils.safestring import mark_safe from core.models import ObjectType from extras.models import CustomLink +from netbox.choices import ButtonColorChoices register = template.Library() @@ -59,10 +60,11 @@ def custom_links(context, obj): # Add non-grouped links else: + button_class = 'outline-secondary' if cl.button_class == ButtonColorChoices.DEFAULT else cl.button_class try: if rendered := cl.render(link_context): template_code += LINK_BUTTON.format( - rendered['link'], rendered['link_target'], cl.button_class, rendered['text'] + rendered['link'], rendered['link_target'], button_class, rendered['text'] ) except Exception as e: template_code += f'' \ diff --git a/netbox/netbox/choices.py b/netbox/netbox/choices.py index fe941056f..4fd730255 100644 --- a/netbox/netbox/choices.py +++ b/netbox/netbox/choices.py @@ -81,10 +81,7 @@ class ColorChoices(ChoiceSet): # class ButtonColorChoices(ChoiceSet): - """ - Map standard button color choices to Bootstrap 3 button classes - """ - DEFAULT = 'outline-dark' + DEFAULT = 'default' BLUE = 'blue' INDIGO = 'indigo' PURPLE = 'purple'