mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-26 10:28:37 -06:00
parent
47320f9958
commit
ffa9a52667
@ -1410,6 +1410,12 @@ class CableImportForm(NetBoxModelImportForm):
|
|||||||
required=False,
|
required=False,
|
||||||
help_text=_('Length unit')
|
help_text=_('Length unit')
|
||||||
)
|
)
|
||||||
|
color = forms.CharField(
|
||||||
|
label=_('Color'),
|
||||||
|
required=False,
|
||||||
|
max_length=16,
|
||||||
|
help_text=_('Color name (e.g. "Red") or hex code (e.g. "f44336")')
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Cable
|
model = Cable
|
||||||
@ -1473,6 +1479,24 @@ class CableImportForm(NetBoxModelImportForm):
|
|||||||
setattr(self.instance, f'{side}_terminations', [termination_object])
|
setattr(self.instance, f'{side}_terminations', [termination_object])
|
||||||
return termination_object
|
return termination_object
|
||||||
|
|
||||||
|
def _clean_color(self, color):
|
||||||
|
"""
|
||||||
|
Derive a colors hex code
|
||||||
|
|
||||||
|
:param color: color as hex or color name
|
||||||
|
"""
|
||||||
|
color_parsed = color.strip().lower()
|
||||||
|
|
||||||
|
for hex_code, label in ColorChoices.CHOICES:
|
||||||
|
if color.lower() == label.lower():
|
||||||
|
color_parsed = hex_code
|
||||||
|
|
||||||
|
if len(color_parsed) > 6:
|
||||||
|
raise forms.ValidationError(
|
||||||
|
_(f"{color} did not match any used color name and was longer than six characters: invalid hex.")
|
||||||
|
)
|
||||||
|
return color_parsed
|
||||||
|
|
||||||
def clean_side_a_name(self):
|
def clean_side_a_name(self):
|
||||||
return self._clean_side('a')
|
return self._clean_side('a')
|
||||||
|
|
||||||
@ -1484,11 +1508,14 @@ class CableImportForm(NetBoxModelImportForm):
|
|||||||
length_unit = self.cleaned_data.get('length_unit', None)
|
length_unit = self.cleaned_data.get('length_unit', None)
|
||||||
return length_unit if length_unit is not None else ''
|
return length_unit if length_unit is not None else ''
|
||||||
|
|
||||||
|
def clean_color(self):
|
||||||
|
color = self.cleaned_data.get('color', None)
|
||||||
|
return self._clean_color(color) if color is not None else ''
|
||||||
#
|
#
|
||||||
# Virtual chassis
|
# Virtual chassis
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
class VirtualChassisImportForm(NetBoxModelImportForm):
|
class VirtualChassisImportForm(NetBoxModelImportForm):
|
||||||
master = CSVModelChoiceField(
|
master = CSVModelChoiceField(
|
||||||
label=_('Master'),
|
label=_('Master'),
|
||||||
|
Loading…
Reference in New Issue
Block a user