Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes: #17459 - Ensure help text on component create forms shows both bulk edit and substitution token instructions #17931

Merged
merged 7 commits into from
Nov 21, 2024
19 changes: 11 additions & 8 deletions netbox/dcim/forms/object_create.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,17 @@ class ComponentCreateForm(forms.Form):
# ComponentCreateView when creating objects.
replication_fields = ('name', 'label')

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

# Components attached to a module need to present this standardized substitution help text.
if 'module' in self.fields:
jeremystretch marked this conversation as resolved.
Show resolved Hide resolved
self.fields['name'].help_text = _(
"Alphanumeric ranges are supported for bulk creation. Mixed cases and types within a single range are "
"not supported (example: <code>[ge,xe]-0/0/[0-9]</code>). The string <code>{module}</code> will be "
"replaced with the position of the assigned module, if any."
)

def clean(self):
super().clean()

Expand Down Expand Up @@ -243,14 +254,6 @@ class InterfaceCreateForm(ComponentCreateForm, model_forms.InterfaceForm):
class Meta(model_forms.InterfaceForm.Meta):
exclude = ('name', 'label')

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)

if 'module' in self.fields:
self.fields['name'].help_text += _(
"The string <code>{module}</code> will be replaced with the position of the assigned module, if any."
)


class FrontPortCreateForm(ComponentCreateForm, model_forms.FrontPortForm):
device = DynamicModelChoiceField(
Expand Down