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>
This commit is contained in:
Arthur Hanson 2024-08-27 12:08:39 -07:00 committed by GitHub
parent d23b9370f6
commit 0157ac6c9b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 29 additions and 5 deletions

View File

@ -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
),
]

View File

@ -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}">' \

View File

@ -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'