Parcourir la source

17186 change custom link button color from outline-dark to outline-se… (#17248)

* 17186 change custom link button color from outline-dark to outline-secondary

* 17186 change choice to default

* 17186 change choice to default

* 17186 change choice to default

* Misc cleanup

---------

Co-authored-by: Jeremy Stretch <jstretch@netboxlabs.com>
Arthur Hanson il y a 1 an
Parent
commit
0157ac6c9b

+ 25 - 0
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
+        ),
+    ]

+ 3 - 1
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'<a class="btn btn-sm btn-outline-secondary" disabled="disabled" title="{e}">' \

+ 1 - 4
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'